SELECT GENERE UN AUTRE

cs_skiso Messages postés 103 Date d'inscription dimanche 19 janvier 2003 Statut Membre Dernière intervention 19 septembre 2010 - 15 nov. 2006 à 15:06
amel001 Messages postés 12 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 3 janvier 2011 - 17 nov. 2008 à 14:08
EN CHOISISSNT UNE LE SELECT WILAYA, le select commune ce chargera

je cherche le pb dans mon script

<? require_once('Connections/conect.php');
mysql_select_db($database_conect, $conect);
$query_Rec_wil = "SELECT wilaya FROM wilayas ORDER BY wilaya ASC";
$Rec_wil = mysql_query($query_Rec_wil, $conect) or die(mysql_error());
$row_Rec_wil = mysql_fetch_assoc($Rec_wil);
$totalRows_Rec_wil = mysql_num_rows($Rec_wil);
?>


<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?php
function choix($ch)
{
echo 'jjjj';
mysql_select_db($database_conect, $conect);
$query_Rec_com = "SELECT * FROM communes WHERE wilaya='$ch' ORDER BY COMMUNE ASC";
$Rec_com = mysql_query($query_Rec_com, $conect) or die(mysql_error());
$row_Rec_com = mysql_fetch_assoc($Rec_com);
$totalRows_Rec_com = mysql_num_rows($Rec_com);
}
?>


</head>



<form name="form1" method="post" action="">
  &nbsp;

      ----

      <select name="wil" id="wil" onChange="<?Php echo choix(?> this.value <? ) ;?>" STYLE="color:#004080; background:#C7D8F8; font-size : 8pt">
          <?php
          do { 
            $wilaya=$row_Rec_wil['wilaya'];
          ?>
          <option value="<?php echo $wilaya; ?>"<?php if (!(strcmp($wilaya, $wilaya))) {echo "SELECTED";} ?>><?php echo $wilaya; ?></option>
          <?php
          } while ($row_Rec_wil = mysql_fetch_assoc($Rec_wil));
          $rows = mysql_num_rows($Rec_wil);
          if($rows > 0) {
          mysql_data_seek($Rec_wil, 0);
       $Rec_wil = mysql_fetch_assoc($Rec_wil);
          }
          ?>
        </select>,
   
    ----

      <select name="com" id="com" onChange="javascript:document.location.href=(this.value);" STYLE="color:#004080; background:#C7D8F8; font-size : 8pt">
          <?php
          do { 

     if ($row_Rec_com['COMMUNE']=="Sidi M'hamed")
            {
            $commune="Sidi M''hamed";
            }
            else
            {
            $commune=$row_Rec_com['COMMUNE'];
            }
          ?>
          <option value="<?php echo $commune; ?>"<?php if (!(strcmp($commune, $commune))) {echo "SELECTED";} ?>><?php echo $commune; ?></option>
          <?php
          } while ($row_Rec_com = mysql_fetch_assoc($Rec_com));
          $rows = mysql_num_rows($Rec_com);
          if($rows > 0) {
          mysql_data_seek($Rec_com, 0);
       $Rec_com = mysql_fetch_assoc($Rec_com);
          }
          ?>
        </select>,
   
 

  &nbsp;

</form>

</html>

4 réponses

juki_webmaster Messages postés 947 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 5 avril 2008 3
15 nov. 2006 à 22:24
Salut,

Ce que tu cherche à faire est tout simplement impossible, PHP étant interpreté coté serveur et Javascript coté client.

La seul methode serais d'utiliser les propriétés de l'Ajax.
www.javascriptfr.com pour plus d'infos.

Ce que tu cherche à faire ressemble fortement à cela :
http://www.editeurjavascript.com/scripts/exemples/ajax.php
http://www.editeurjavascript.com/scripts/scripts_formulaires_3_543.php (source & explications)
0
cs_skiso Messages postés 103 Date d'inscription dimanche 19 janvier 2003 Statut Membre Dernière intervention 19 septembre 2010
16 nov. 2006 à 13:20
non, c'est pas ca
 - mon 1er select (wilaya) contien des regions (exp : paris, lyon, ....) / la table contien un champ (wilaya)
 - mon 2eme select (commune ) contien les villes. / la table contien 2 champs (wilaya et commune).

alors quant je choisiri une wilaya dans mon 1er select
mon 2eme select resevera les communes de la meme wilaya
0
juki_webmaster Messages postés 947 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 5 avril 2008 3
16 nov. 2006 à 13:53
Tu as mis un partie de code en rouge, j'en conclut que le probleme vient de là.
onChange="<?Php echo choix(?> this.value <? ) ;?>"

Cela signifit que si par le navigateur je change la valeur de la select, ont doit executer la fonction PHP choix() en envoyant la valeur JS; this.value, la nouvelle valeur de la select.
Meme si tu as fait d'enormes erreurs de syntaxe coté PHP, ceci n'est pas possible.

La seul methode c'est le javascript, voir l'Ajax pour faire quelque chose de plus convivial, dés que je change la valeur de la 1ere selecte, une fonction JS part en direction d'un script php qui lui retourne les villes possibles pour cette region.

"<?Php echo choix(?> this.value <? ) ;?>" << tu ne peux mettre que quelque chose qui existe reelement; "<?php echo choix($_POST['wil']); ?>" ceci sera toujours statique coté client.
0
amel001 Messages postés 12 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 3 janvier 2011 1
17 nov. 2008 à 14:08
moi j'ai presque le meme travail (php mysql)
3 tables
table1:WILAYA (contient plusieurs DAIRA)
table2:DAIRA (contient plusieurs COMMUNES)
 je veux faire 3listes déroulentes quand je choisi wilaya dans la 2eme liste doit s'afficher les daira correspondantes à cette wilya et quand je choisi une daira dans la 2eme liste, il doit s'afficher dans la 3eme liste les commune correspondantes à cette daira.

SVP comment pourai je faire ce code?
0
Rejoignez-nous