pb avec onchange dans un select

pb avec onchange dans un select - PHP - Programmation

Marsh Posté le 21-04-2005 à 11:16:31    

:bounce: Bonjour à tous,
 
Je fait appel à la fonction MenuAdressePers dans un formulaire d'une autre page.
Et je souhaiterai qu'à chaque changement du select il appelle la fonction changAdresse
qui fait une modification dans la base de donnée.
Je ne sais pas s'il faut forcément utilisé onchange=submit()  :??:  
Je suis perdue :(  
 

Code :
  1. function MenuAdressePers($Nom,$Pers,$Adresse,$Manif){
  2. include("Variables.php" );
  3. $con=mysql_connect($host,$user,$pass) or die ("connexion impossible a la base de donnée" );
  4. mysql_select_db($bdd);
  5. $result=mysql_query("select adresse,code_postal,ville,type,fonction,id_adresse,compl_adresse from ".$prefix."_FONCTION a, ".$prefix."_ADRESSE b where b.id_p='$Pers' and a.id_fonction=b.id_fonction" );
  6. echo "<select name='$Nom' onchange='ChangAdresse(this.value)';>";
  7. while (($ligne=mysql_fetch_row($result))!=false){
  8.  if ($ligne[3]=="pers." ) $Couleur="#CCFFFF";
  9.  if ($ligne[3]=="prof." ) $Couleur="#FFCCCC";
  10.  $Texte="$ligne[6] $ligne[0] $ligne[1] $ligne[2] ($ligne[3] : $ligne[4])";
  11.  if (strlen($Texte)>60){
  12.   $tot=strlen($Texte);
  13.   $n=strlen("($ligne[3] : $ligne[4])" );
  14.   $reste=60-$n-4;
  15.   $Texte=substr("$ligne[6] $ligne[0] $ligne[1] $ligne[2]",0,$reste);
  16.   $Texte=$Texte."... ($ligne[3] : $ligne[4])";
  17.  }
  18.  $val=$ligne[3]."##".$Pers."##".$Manif."##".$ligne[5];
  19.  if ($Adresse==$ligne[5])
  20.   echo "<option selected value='$val' style='background-color:".$Couleur.";' value='".$Couleur."'>$Texte</option>";
  21.  else
  22.   echo "<option value='$val' style='background-color:".$Couleur.";' value='".$Couleur."'>$Texte</option>";
  23. }
  24. echo "</select>";
  25. mysql_close($con);
  26. }


Code :
  1. function ChangAdresse($valeur) {
  2. $ligne=explode("##",$valeur);
  3. $IdPers=$ligne[1];
  4. $IdManif=$ligne[2];
  5. $IdAdresse=$ligne[3];
  6. include("Variables.php" );
  7. $con=mysql_connect($host,$user,$pass) or die ("connexion impossible a la base de donn&eacute;e" );
  8. mysql_select_db($bdd);
  9. $result=mysql_query("update ".$prefix."_LISTE_MANIF set id_adresse='$IdAdresse' where id_manif='$IdManif' and id_p='$IdPers'" );
  10. mysql_close($con);
  11. }


 
Merci d'avance de vos réponses,
Titi  :)

Reply

Marsh Posté le 21-04-2005 à 11:16:31   

Reply

Marsh Posté le 21-04-2005 à 11:23:57    

Ce genre de petite chose brise les couilles de tout le monde. Met le select et un input de type submit à côté (avec Go ou Ok écrit dessus).

Reply

Marsh Posté le 21-04-2005 à 11:29:48    

Le problème c'est que je ne doit pas rajouter de bouton!
Comment Faire???

Reply

Marsh Posté le 21-04-2005 à 11:32:22    

Et pourquoi tu ne dois pas rajouter de bouton ? Charte graphique ?


---------------
http://yoyo.eurotchat.net -> Wednesday 14 September a 02:00:01 up 43 days, 11:47,  2 users,  load average: 0.07, 0.03, 0.00
Reply

Marsh Posté le 21-04-2005 à 11:34:11    

tikyoka a écrit :

Le problème c'est que je ne doit pas rajouter de bouton!
Comment Faire???


Et du coup si j'ai le malheur de vouloir défiler les choix possible au clavier, ça va foutre le bordel à chaque fois que je passe sur un autre élément :D Et j'ai un pote là qui utilise un navigateur qui ne supporte pas le JS, où du coup ça ne fonctionne pas :/

Reply

Marsh Posté le 21-04-2005 à 11:49:24    

Le select sert juste à choisir entre 2 adresses possibles,
une prof. et l'autre pers.
Pour chaque personne on a ce choix, et lorsqu'il est modifié
pour une personne cela doit modifier la base de données.
Je ne veux pas rajouter de bouton car je n'ai plus de place
et ça surchagerai trop la page.
Au secooours!!!!!!

Reply

Marsh Posté le 21-04-2005 à 11:50:41    

Oula :heink: Bah il faut... C'est pas bien de reposer sur du JS... Et un p'tit bouton, ça prend même pas 15 pixels ;)

Reply

Marsh Posté le 21-04-2005 à 12:07:51    

En fait j'ai déjà réussi à faire un truc de de genre sans bouton en utilisant quelque
chose qui ressemble à ça :  
 

Code :
  1. if (@$_POST['$Nom']!="" ) {
  2. ChangAdresse($_POST['$Nom']);
  3. }


et en mettant :

Code :
  1. echo "<select name='$Nom' onchange='submit()';>";


et dans ce cas on dirai que @$_POST['$Nom'] est toujours vide!
 :(  Je ne lacherai pas! ça fait que 3 jours que je suis dessus ;)

Reply

Marsh Posté le 21-04-2005 à 12:31:32    

C'est quoi le "$" devant le $Nom :??:

Reply

Marsh Posté le 21-04-2005 à 15:17:55    

Dans AssManif.php je déclare le formulaire
 

Code :
  1. ...<form action='PageManif.php' method='post'>...
  2. while ($j<$i){.....
  3. ....
  4. MenuAdressePers("sAd$j",$ligne[3],$ligne[4],$Id_manif);


Et comme avec le while je vais créer plusieurs select il me  
faut une variable pour le nom.

Reply

Marsh Posté le 21-04-2005 à 15:17:55   

Reply

Marsh Posté le 21-04-2005 à 15:54:31    

tikyoka a écrit :

Dans AssManif.php je déclare le formulaire
 

Code :
  1. ...<form action='PageManif.php' method='post'>...
  2. while ($j<$i){.....
  3. ....
  4. MenuAdressePers("sAd$j",$ligne[3],$ligne[4],$Id_manif);


Et comme avec le while je vais créer plusieurs select il me  
faut une variable pour le nom.


 
T'es dur d'oreille toi quand même... C'EST PAS BIEN DE PAS METTRE DE BOUTON.  :o  
 
Voilà... Alors tu mets un bouton. [:spamafote]
 
Le JS pour des submit ça pue du cul, et pas qu'un peu...


---------------
Expert en expertises
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed