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

Invité
Invité n'ayant pas de compte PHPfrance

21 mars 2006, 11:52

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>

Eléphant du PHP | 312 Messages

21 mars 2006, 13:09

Les select que tu insères ont le même id (et le même nom), c'est probablement ça qui pose problème.

Invité
Invité n'ayant pas de compte PHPfrance

21 mars 2006, 13:14

et comment devrai je faire pour pas qu'il ai le meme nom???

Eléphant du PHP | 312 Messages

21 mars 2006, 15:09

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.

Invité
Invité n'ayant pas de compte PHPfrance

21 mars 2006, 15:16

tu sais pas ou je peut trouve de la doc la dessus suis pas un pro du php :$

Merci d'avance

Eléphant du PHP | 312 Messages

21 mars 2006, 16:01

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");

Invité
Invité n'ayant pas de compte PHPfrance

21 mars 2006, 16:28

J'obtient ceci :oops:



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

Eléphant du PHP | 312 Messages

21 mars 2006, 16:39

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).

Invité
Invité n'ayant pas de compte PHPfrance

21 mars 2006, 17:08

writeSelecte('monParam", "monId", "monStatut");

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

Eléphant du PHP | 312 Messages

21 mars 2006, 17:16

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'];

Invité
Invité n'ayant pas de compte PHPfrance

21 mars 2006, 18:45

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?

Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 10:43

personne ne peut m'aider?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 mars 2006, 12:10

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'];

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 12:21

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

Eléphant du PHP | 312 Messages

27 mars 2006, 12:45

C'est quoi que tu appelles "lignes" ? Les lignes dans le menu déroulant (donc les <option></option>) ? ou autre chose ?