Je conçois un planificateur de tâches pour une entreprise et j'ai besoin d'aide pour afficher un tableau dynamique contenant les détails du personnel. J'ai les tables suivantes dans la base de données MySQL: Staff, Event, et Job. La table d'état-major contient les détails du personnel (personnel, nom, adresse ... etc), la table des événements (eventide, eventName, Fromdate, Todate ... etc) et la table des jobs (Jobid, Jobdate, Eventid (fk), Staffid (fk)). J'ai besoin d'afficher dynamiquement la liste de staff disponible depuis la table de staff quand l'utilisateur sélectionne l'EVENEMENT et la DATE (3 déroulements: date, mois et année) depuis un formulaire PHP. Je dois afficher les membres du personnel qui n'ont pas été affectés à la date sélectionnée en cochant la case Date du travail dans la table des travaux. J'ai été à ceci pour toute la journée et ne peux pas le contourner. J'apprends toujours le PHP et apprécierais sûrement n'importe quelle aide que je peux obtenir. Mon code actuel affiche tous les membres du personnel lorsqu'un événement est sélectionné:Besoin d'aide pour afficher une table dynamique
if(isset($_POST['submit']))
{
$eventId = $_POST['eventradio'];
}
$timePeriod = $_POST['timeperiod'];
$Day = $_POST['day'];
$Month = $_POST['month'];
$Year = $_POST['year'];
$dateValue = $Year."-".$Month."-".$Day;
$selectedDate = date("Y-m-d", strtotime($dateValue));
//construct the available staff list
if ($selectedDate)
{
$staffsql = "SELECT s.StaffId, s.LastName, s.FirstName
FROM Staff s
WHERE s.StaffId NOT IN
(SELECT J.StaffId
FROM Job J
WHERE J.JobDate = ".$selectedDate.")";
$staffResult = mysql_query($staffsql) or die (mysql_error());
}
if ($staffResult){
echo "<p><table cellspacing='1' cellpadding='3'>";
echo "<th colspan=6>List of Available Staff</th>";
echo "</tr><tr><th> Select</th><th>Id</th><th></th><th>Last Name
</th><th></th><th>First Name </th></tr>";
while ($staffarray = mysql_fetch_array($staffResult))
{
echo "<tr onMouseOver= this.bgColor = 'red' onMouseOut =this.bgColor = 'white' bgcolor=
'#FFFFFF'> <td align=center><input type='checkbox' name='selectbox[]'
id='selectbox[]' value=".$staffarray['StaffId'].">
</td><td align=left>".$staffarray['StaffId']."
</td><td>  </td><td align=center>".$staffarray['LastName']."
</td><td>  </td><td align=center>".$staffarray['FirstName']."
</td></tr>";
}
echo "</table>";
}
else {
echo "<br> The Staff list can not be displayed!";
}
echo "</td></tr>";
echo "<tr><td></td>";
echo "<td align=center><input type='submit' name='Submit' value='Assign Staff'>  ";
echo "<input type='reset' value='Start Over'>";
echo "</td></tr>";
echo "</table>";
Merci pour la réponse. Je J'utilise PHP tout au long ... donc la deuxième option semble appropriée Je pense à utiliser un bouton de soumission pour confirmer la date déroulante comme ceci: Php if (isset ($ _ POST ['submit'])) { if (($ _POST ['jour']) && ($ _POST ['mois']) && ($ _POST ['année'])) { // Exécuter la requête de sélection } ?> Vous ne savez pas si c'est exact et vous n'êtes pas sûr de la requête sql non plus. Je suis un peu nouveau pour ça ... Merci encore! – Gideon
La meilleure requête serait avec la fonction MINUS mais MySQL ne supporte pas cela. Donc, j'ai essayé de ne pas fonctionner comme ci-dessus mais cela ne fonctionne que dans certains cas .... s'il vous plaît aider! Merci beaucoup! – Gideon