peetgroob
Invité n'ayant pas de compte PHPfrance
07 avr. 2005, 09:02
Voila ou jen sui : Ca marche mai ka moitié. Pour les departements de 1 a 5 ya pa de pb les noms des employés s affichent. Mais pr les departements SG, SF, et AT ca rest blanc !!.. LE cod ene pren pa en compte kand le num_dept est des lettres. Pourtant ds ma base, le type est varchar. Si quelqu'un pouvait jeter un coup d'oeil a mon code et me dire pourkoi ca marche pas pour les lettres je lui serai tre reconnaissant. Merci...
My code :
<?php
@mysql_connect($hote, $user, $pass);
require("config/myConnexion.php");
$Base = 'planning';
?>
<SCRIPT LANGUAGE="JavaScript">
function ModifierListe(code_util) {
lg = document.frmDpt.zlEmpl.length;
// On vide la liste
for (i = lg - 1; i >= 0; i--) {
document.frmDpt.zlEmpl.options = null;
}
num_dept = document.frmDpt.zlDept.selectedIndex;
<?php
// Génération des noms des employés par Dept
$sql = "SELECT num_dept FROM departement";
$resultat = mysql_db_query($Base, $sql);
$max_lignes = 0;
$option_max = '';
while ($enr = mysql_fetch_array($resultat)) {
$sql = "SELECT code_util, nom_util ";
$sql .= "FROM utilisateur ";
$sql .= "WHERE num_dept='".$enr[0]."'";
$sql .= "ORDER BY nom_util";
$resultat2 = mysql_db_query($Base, $sql);
echo " if (document.frmDpt.zlDept.options[num_dept].value == ".$enr[0].") {\n";
echo " document.frmDpt.zlEmpl.length = ".(mysql_num_rows($resultat2)).";\n";
$cpt = 0;
while ($enr2 = mysql_fetch_array($resultat2)) {
echo " document.frmDpt.zlEmpl.options[".$cpt."].value = ".$enr2[0].";\n";
echo " document.frmDpt.zlEmpl.options[".$cpt."].text = \"".$enr2[1]."\";\n";
echo " if (code_util == ".$enr2[0].") document.frmDpt.zlEmpl.options[".$cpt."].selected = true;\n";
$cpt++;
if ($cpt > $max_lignes) $max_lignes = $cpt;
if (strlen($enr2[1]) > strlen($option_max)) $option_max = $enr2[1];
}
echo " }\n";
}
?>
}
</SCRIPT>
<?php
// Liste Départements
$sql = "SELECT * FROM departement ORDER BY num_dept";
$resultat = mysql_db_query($Base, $sql);
echo "<FORM METHOD=POST NAME='frmDpt'>";
echo '<br>';
echo "<BR> <B>Département</B> ";
echo " <SELECT NAME='zlDept' onChange='ModifierListe(-1)'>\n";
echo "<OPTION VALUE=\"null\">---=Choisir le Département=---</option>";
while ($enr = mysql_fetch_array($resultat)) {
echo "<OPTION VALUE='".$enr[0]."'";
if ($zlDept == $enr[0]) echo " SELECTED";
echo ">".htmlspecialchars($enr[1])."</OPTION>\n";
}
echo "</SELECT> \n";
echo '<br>';
// Liste Employés
echo '<br>';echo '<br>';
echo " <B>Nom de l'employé</B> ";
echo " <SELECT NAME='zlEmpl' style=\"width:225\">\n";
for ($cpt = 0; $cpt < $max_lignes; $cpt++)
echo "<OPTION>".ereg_replace(".", "--", $option_max)."</OPTION>\n";
echo "</SELECT> \n";
if (!isset($zlEmpl))
{ $zlEmpl = -1;
echo "<SCRIPT LANGUAGE='JavaScript'>\n;ModifierListe(".$zlEmpl.");\n</SCRIPT>\n";
}
?>
<tr>
<td > </td>
</tr>
<?
echo '<br>';echo '<br>';
echo "<div align=\"center\"><INPUT TYPE='submit' VALUE='Valider'>\n</div>";
echo "</FORM>";
// Résultats des sélections
if (isset($zlDept) && $zlDept != "") {
$sql = "SELECT libelle_dept FROM departement WHERE num_dept='".$zlDept."'";
$resultat = @mysql_db_query($Base, $sql);
$enr = @mysql_fetch_array($resultat);
echo "libelle_dept = $zlDept [$enr[0]]<BR>\n";
}
if (isset($zlEmpl) && $zlEmpl != "" && $zlEmpl != -1) {
$sql = "SELECT nom_util FROM utilisateur WHERE num_dept='".$zlEmpl."'";
$resultat = @mysql_db_query($Base, $sql);
$enr = @mysql_fetch_array($resultat);
echo "nom_util = $zlEmpl [$enr[0]]<BR>\n";
}
?>