Page 1 sur 3

Bonjour j'ai un gros probleme avec un select, et onchange

Posté : 21 mars 2006, 11:52
par Invité
Bonjour, voici mon probleme :

je veux faire un onChange sur mon slect, des qu'on le modifie, je recharge ma page, voila, pour le moment, quand j'ai plusieurs ligne affiche, donc plusieurs select les un en dessous des autres, si je modifie le select de la premiere ligne pas de probleme, mais les autres ca marche pas ...

quelqu'un voit d'ou vient le probleme?

Merci d'avance


voile comme sont mes pages :

la premiere :
switch ($statut)
{
    case 'In' :
      echo "<tr bgcolor=\"#ffffff\">  "; 
 include "select.php";  
      break;

    case 'En cours':
      echo "<tr bgcolor=\"#ffffff\"> "; 
  include "select.php";
      break; 

...
}

mon select.php :
  <?php echo "<td>$idinter</td><td>$nom ==> $nommachine</td>";
 
 
?>  <td><center><font color="red"><b><? if($assemblage==1) echo "A"; ?> </font></center></td></b>
 <td><?= $vill?> </td>      
<td><a href="tech1.php?var=<?php echo $idinter?>&vari=<?echo $i?>">Tech</a></td> 
             <td><a href="sales.php?var=<?php echo $idinter?>&vari=<?echo $i?>">Sales</a></td>
              <?="<td>$dateheure  </td>";?>
          <td>
<? include "selec.php";?>

        </td>
           <td> 
      <center> <input name="submit" type="submit" class="champ" value="OK">   </center>   
         </div></td>
</tr>
 

et enfin ma page selec.php :
<form id="formulair" action="statutexemple1.php?variable=<?echo $idmachine?>&var=<?echo $i?>" method="post">

<select name="statut" id="select" onChange="formulair.submit();">

 <? echo  " <option>$statut</option>"; ?>
<option value='In' >In</option><option value='En cours' >En cours</option><option value='Out' >Out</option><option value='En attente' >En attente</option><option value='Appel OK' >Appel OK</option><option value='Email envoye' >Email envoye</option>                     </select>
</form>

Posté : 21 mars 2006, 13:09
par Hermès
Les select que tu insères ont le même id (et le même nom), c'est probablement ça qui pose problème.

Posté : 21 mars 2006, 13:14
par Invité
et comment devrai je faire pour pas qu'il ai le meme nom???

Posté : 21 mars 2006, 15:09
par Hermès
Au lieu d'avoir le code du select dans un fichier et de faire des include de ce fichier, fait plutôt une fonction qui prend en paramètre l'identifiant du select et qui recrache tout le code du select.

Posté : 21 mars 2006, 15:16
par Invité
tu sais pas ou je peut trouve de la doc la dessus suis pas un pro du php :$

Merci d'avance

Posté : 21 mars 2006, 16:01
par Hermès
Je sais pas à quoi te sert l'id de ton select donc je l'ai mis en paramètre de la fonction.
function writeSelect($name, $id, $statut) {
?>
   <select name="<?php echo $name; ?>" id="<?php echo $id; ?>" onChange="formulair.submit();">
      <option><?php echo $statut; ?></option>
      <option value='In' >In</option>
      <option value='En cours' >En cours</option>
      <option value='Out' >Out</option>
      <option value='En attente' >En attente</option>
      <option value='Appel OK' >Appel OK</option>
      <option value='Email envoye' >Email envoye</option>
   </select>
<?php
}
Ensuite, au lieu d'avoir un include, tu fais
writeSelecte('monParam", "monId", "monStatut");

Posté : 21 mars 2006, 16:28
par Invité
J'obtient ceci :oops:



Fatal error: Call to undefined function: writeselecte() in /var/www/marco/statutexemple1.php on line 216

Posté : 21 mars 2006, 16:39
par Hermès
oui j'ai fait une faute de frappe, il faut enlever le "e" final (il n'est pas superflu de lire le code pour essayer de le comprendre).

Posté : 21 mars 2006, 17:08
par Invité
writeSelecte('monParam", "monId", "monStatut");

je comprend as tres bien cette ligne, j'envoye la les donne que je veux recuperer dans ma fonction????

Posté : 21 mars 2006, 17:16
par Hermès
Ok je viens de comprendre la question.
Tu as pas plusieurs select, tu en as qu'un seul et la valeur selectionnée par défaut est la valeur $statut, c'est ça ?
Si c'est ça, oublie mon code, je croyais que tu avais plusieurs select dans ta page.

Mais où est-ce que tu récupères le statut ?
A aucun moment je vois un $statut = $_GET['statut']; ou $statut = $_POST['statut'];

Posté : 21 mars 2006, 18:45
par Invité
oui tu as bien compris, et se select la et au bout de chaque ligne que j'affiche,

je recupere sur une autre page, et c'ets bon vu que pour la prmeiere ligne ca marche, mais pour la seconde ou troisiee ou ... cam arche pas, si je change la valeur, il me recharge la page en me remettant mon ancienne valeur, mon probleme est :

apres plusieur test : je veux passe l'id de la macihne par url pour la recuperer, pour la premiere ligne il passe l'id c'est ok, maispour les autres ligne pas donc du coup je sais pas change le staut car je sais pas de ke lmachine il s'agit ...

il faudrai que pour les autres ligne il passe aussi l'id de la machine, mais il veut pas pas :oops:

et je vois pas du tout comment faire

tu me suis tjrs?

Posté : 27 mars 2006, 10:43
par Invité
personne ne peut m'aider?

Posté : 27 mars 2006, 12:10
par Truc
Tu devrais prendre ton temps pour expliquer clairement ton problème, ce qui te semble logique l'est beaucoup moins pour nous :wink:

et
A aucun moment je vois un $statut = $_POST['statut'];

Posté : 27 mars 2006, 12:21
par Invité
je l'ai mais plus haut sur ma page ...

c'est pas facile a explique, je vais vous faire un chemas :)

en haut de la page au a un select avec le choix de la ville


puis un tableau avec les titre et differents ligne exemple :

195 Rigolard Liege Tech Sales 18-03 En cours OK
197 Blueteam Namur Tech sales 24-12 Out OK


Voila, alors les chiffre son l'identifant, puis le nom ...

le en cours c'est le statut, donc un menu deroulant, un select quoi. le Out aussi. et les ligne ce suive ainsi de suite, ...

ce que je veux c'est des que je change le statut, qui reaffcihe la page avec le nouveau statut choisi, pour le moment il ne le fait que pour la premiere ligne et pas les autres lignes.


Pour le $statut=$_GET[...] je le fais plus haut, et y marche comme deja dit, vu que pour la premiere ligne j'arrive a le faire mais pas pour les autres ligne.

si je modifie la seconde ligne, il me reaffcihe la page avec l'ancien statut pas le nouveau que je viens de choisir. qui peux m'aider???

Merci d'avance, j'espere avoir ete plus clair

Posté : 27 mars 2006, 12:45
par Hermès
C'est quoi que tu appelles "lignes" ? Les lignes dans le menu déroulant (donc les <option></option>) ? ou autre chose ?