<?php

// ------------------------------------------------------------------------- //
// Il y a déjà un script avec des listes déroulantes, je m'en suis servi et  //
// j'ai apporté mes améliorations : 4 listes déroulantes liées à la base de  //
// données                                                                   //
// ------------------------------------------------------------------------- //
// Auteur: maiis                                                             //
// Email:  maiis@hotmail.com                                                 //
// Web:                                                                      //
// ------------------------------------------------------------------------- //

?>

<SCRIPT LANGUAGE="JavaScript">
function ModifierListe(code_item)
{
lg = document.frmDemo1.zlItem.length;
for (i = lg - 1; i >= 0; i--)
{
  document.frmDemo1.zlItem.options[i] = null;
}
code_client = document.frmDemo1.zlRubrique.selectedIndex;

<?php
$sql
= "SELECT code FROM rep_client ORDER BY code";
$resultat = mysql_db_query($Base, $sql);
$max_lignes = 0;
while (
$enr = mysql_fetch_array($resultat))
{
  
$sql  = "SELECT code, famille ";
  
$sql .= "FROM rep_famille ";
  
$sql .= "WHERE code_client='".$enr[0]."'";
  
$sql .= "ORDER BY famille";
  
$resultat2 = mysql_db_query($Base, $sql);
  echo
"  if (    document.frmDemo1.zlRubrique.options[code_client].value == ";
  echo
$enr[0].") {\n";
  echo
"          document.frmDemo1.zlItem.length = ";
  echo (
mysql_num_rows($resultat2)).";\n";
  
$cpt = 0;
  while (
$enr2 = mysql_fetch_array($resultat2))
  {
    echo
"    document.frmDemo1.zlItem.options[".$cpt."].value = ";
    echo
$enr2[0].";\n";
    echo
"    document.frmDemo1.zlItem.options[".$cpt."].text  = \"";
    echo
$enr2[1]."\";\n";
    echo
"    if (code_item == ".$enr2[0].") document.frmDemo1.zlItem.options[";
    echo
$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";
}
?>
}

function ModifierCat(code_cat)
{
lg = document.frmDemo1.zlcat.length;
for (i = lg - 1; i >= 0; i--)
{
  document.frmDemo1.zlcat.options[i] = null;
}
code_famille = document.frmDemo1.zlItem.selectedIndex;

<?php
$sql
= "SELECT code FROM rep_famille ORDER BY code";
$resultat = mysql_db_query($Base, $sql);
$max_lignes = 0;
while (
$enr = mysql_fetch_array($resultat))
{
  
$sql  = "SELECT code, cat ";
  
$sql .= "FROM rep_cat ";
  
$sql .= "WHERE code_famille='".$enr[0]."'";
  
$sql .= "ORDER BY cat";
  
$resultat2 = mysql_db_query($Base, $sql);
  echo
"  if (    document.frmDemo1.zlItem.options[code_famille].value == ";
  echo
$enr[0].") {\n";
  echo
"          document.frmDemo1.zlcat.length = ";
  echo (
mysql_num_rows($resultat2)).";\n";
  
$cpt = 0;
  while (
$enr2 = mysql_fetch_array($resultat2))
  {
    echo
"    document.frmDemo1.zlcat.options[".$cpt."].value = ".$enr2[0].";\n";
    echo
"    document.frmDemo1.zlcat.options[".$cpt."].text  = \"";
    echo
$enr2[1]."\";\n";
    echo
"    if (code_cat == ".$enr2[0].") document.frmDemo1.zlcat.options[";
    echo
$cpt."].selected = true;\n";
    
$cpt++;
    if (
$cpt > $max_lignes) $max_lignes = $cpt;
  }
  echo
"  }\n";
}
?>
}
  
function ModifierSous(code_cat)
{
lg = document.frmDemo1.zlsous.length;
for (i = lg - 1; i >= 0; i--)
{
  document.frmDemo1.zlsous.options[i] = null;
}
code_cat = document.frmDemo1.zlcat.selectedIndex;

<?php
$sql
= "SELECT code FROM rep_cat ORDER BY code";
$resultat = mysql_db_query($Base, $sql);
$max_lignes = 0;
while (
$enr = mysql_fetch_array($resultat))
{
  
$sql  = "SELECT code, sous ";
  
$sql .= "FROM rep_sous ";
  
$sql .= "WHERE code_cat='".$enr[0]."'";
  
$sql .= "ORDER BY sous";
  
$resultat2 = mysql_db_query($Base, $sql);
  echo
"  if (    document.frmDemo1.zlcat.options[code_cat].value == ";
  echo
$enr[0].") {\n";
  echo
"          document.frmDemo1.zlsous.length = ";
  echo (
mysql_num_rows($resultat2)).";\n";
  
$cpt = 0;
  while (
$enr2 = mysql_fetch_array($resultat2))
  {
    echo
"    document.frmDemo1.zlsous.options[".$cpt."].value = ".$enr2[0].";\n";
    echo
"    document.frmDemo1.zlsous.options[".$cpt."].text  = \"";
    echo
$enr2[1]."\";\n";
    echo
"    if (code_cat == ".$enr2[0].") document.frmDemo1.zlsous.options[";
    echo
$cpt."].selected = true;\n";
    
$cpt++;
    if (
$cpt > $max_lignes) $max_lignes = $cpt;
  }
  echo
"  }\n";
}
?>
}
</SCRIPT>

<TABLE BORDER=1 BORDERCOLOR="#000000" CELLPADDING=0 CELLSPACING=0 ALIGN=CENTER>
<TR>
<TD CLASS=titre1 COLSPAN=2><BR>Recherche par rubrique<BR><BR>
</TD>
</TR>
<TR>
<TD CLASS=gauche COLSPAN=2>&nbsp;
</TD>
</TR>
<TR>
<TD CLASS=titre2>R&eacute;pertoires
</TD>
<TD CLASS=titre2>S&eacute;lections
</TD>
</TR>
<TR>
<TD CLASS=gauche WIDTH=200>

<?php
// ----------------------------------------------------------------------------
// Liste client
// ----------------------------------------------------------------------------
$sql = "SELECT code, client FROM rep_client ORDER BY code";
$resultat = mysql_db_query($Base, $sql);
echo
"<FORM METHOD=POST NAME='frmDemo1' METHOD=POST ACTION=rech_aff.php ";
echo
"onSubmit=\"return verif()\">";
echo
"&nbsp;&nbsp;Client";
echo
"</TD><TD CLASS=gauche WIDTH=200>";
echo
"<SELECT NAME='zlRubrique' WIDTH=20 onChange='ModifierListe(-1)'>";
echo
"<OPTION VALUE=nul>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</OPTION>";
while (
$enr = mysql_fetch_array($resultat))
{
        echo
"<OPTION VALUE='".$enr[0]."'";
        if (
$zlRubrique == $enr[0]) echo " SELECTED";
        echo
">".htmlspecialchars($enr[1])."</OPTION>\n";
}
echo
"</SELECT>";
// ----------------------------------------------------------------------------
?>

</TD>
</TR>
<TR>
<TD CLASS=gauche WIDTH=200>

<?php
// ----------------------------------------------------------------------------
// Liste famille
// ----------------------------------------------------------------------------
echo "&nbsp;&nbsp;Famille de composants";
echo
"</TD><TD CLASS=gauche WIDTH=200>";
echo
"<SELECT NAME='zlItem' onChange='ModifierCat(-1)'>";
for (
$cpt = 0; $cpt < $max_lignes; $cpt++)
echo
"</SELECT>";
// ----------------------------------------------------------------------------
?>

</TD>
</TR>
<TR>
<TD CLASS=gauche WIDTH=200>

<?php
// ----------------------------------------------------------------------------
// Liste cat
// ----------------------------------------------------------------------------
echo "&nbsp;&nbsp;Cat&eacute;gorie";
echo
"</TD><TD CLASS=gauche WIDTH=200>";
echo
"<SELECT NAME='zlcat' onChange='ModifierSous(-1)'>";
for (
$cpt = 0; $cpt < $max_lignes; $cpt++)
echo
"</SELECT>";
// ----------------------------------------------------------------------------
?>

</TD>
</TR>
<TR>
<TD CLASS=gauche WIDTH=200>

<?php
// ----------------------------------------------------------------------------
// Liste sous cat
// ----------------------------------------------------------------------------
echo "&nbsp;&nbsp;Sous Cat&eacute;gorie";
echo
"</TD><TD CLASS=gauche WIDTH=200>";
echo
"<SELECT NAME='zlsous'>";
for (
$cpt = 0; $cpt < $max_lignes; $cpt++)
echo
"</SELECT>";
// ----------------------------------------------------------------------------
?>

</TD>
</TR>
</TABLE>