Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1145 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Varaiable dans un sélect

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Varaiable dans un sélect

n°1644961
fourniey
Rendre au prochain
Posté le 18-11-2007 à 21:31:54  profilanswer
 

Bonjour,
 
J'ai un select pour permettre de sélectionner l'année désirée. Par défaut, c'est 2007 qui s'affiche puisque mon tri est descendant.
 
Affichage de l'année:
 

Code :
  1. $r_an = "SELECT distinct an FROM ATS_statut where type='CA' order by an desc";
  2.  $res = mysql_query($r_an);
  3.  echo '<p align="center"><select name="ch_an">';
  4.  while($val=mysql_fetch_array($res)) {
  5.  echo "<option>".$val["an"]."</option>\n";
  6.  }
  7.  echo '</select></p>';


 
Quel est le nom de la variable que je dois mettre dans le sélect 2uivant (à la place de '2007' ?

Code :
  1. $r_ca = mysql_query("SELECT * FROM `ATS_statut`
  2. LEFT JOIN ATS_membre ON ATS_statut.passeport = ATS_membre.passeport
  3. where ATS_statut.actif='O' and ATS_statut.type='CA' and ATS_statut.an='2007'
  4. order by ATS_membre.nom,ATS_membre.prenom" );


 
Merci!

mood
Publicité
Posté le 18-11-2007 à 21:31:54  profilanswer
 

n°1644964
SICKofitAL​L
misanthrope
Posté le 18-11-2007 à 21:37:29  profilanswer
 

j'ai pas trop capté :??:
 
en fait tu récuperes l'année avec ta premiere query, et tu veux te servir de ce résultat pour la deuxieme (and ATS_statut.an='2007') ?
 
paske tu si récups l'année ds $val["an"], tu peux t'en servir apres nan ?


---------------
We deserve everything that's coming...
n°1644978
fourniey
Rendre au prochain
Posté le 18-11-2007 à 22:06:29  profilanswer
 

Je veux remplacer ATS_statut.an='2007')
 
Merci!

n°1644988
SICKofitAL​L
misanthrope
Posté le 18-11-2007 à 22:37:04  profilanswer
 

ben ATS_statut.an = $val["an"] que tu récups avant


---------------
We deserve everything that's coming...
n°1645011
fourniey
Rendre au prochain
Posté le 18-11-2007 à 23:50:59  profilanswer
 

Je reçois cette erreur: Parse error: parse error, unexpected '\"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/vhosts/ats3r.org/httpdocs/ca2.php on line 58
 
  $r_ca = mysql_query("SELECT * FROM `ATS_statut`
LEFT JOIN ATS_membre ON ATS_statut.passeport = ATS_membre.passeport
where ATS_statut.actif='O' and ATS_statut.type='CA' and ATS_statut.an=$val["an"] order by ATS_membre.nom,ATS_membre.prenom" );

n°1645027
SICKofitAL​L
misanthrope
Posté le 19-11-2007 à 00:47:13  profilanswer
 

ben c normal ton select est dans des doubles-quotes et ta variable aussi ...

 

met ca :
... and ATS_statut.an=" . $val["an"] . " order by ...


Message édité par SICKofitALL le 19-11-2007 à 00:47:54

---------------
We deserve everything that's coming...
n°1645035
fourniey
Rendre au prochain
Posté le 19-11-2007 à 02:54:25  profilanswer
 

ça ne fonctionne pas: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/ats3r.org/httpdocs/ca2.php on line 67
 
J'ai essayé ceci: echo $val["an"]; et le résultat est vide.

n°1645051
SICKofitAL​L
misanthrope
Posté le 19-11-2007 à 07:51:30  profilanswer
 

tu peux me filer ton code steuplait ? genre la partie où tu fais tes selects ?


---------------
We deserve everything that's coming...
n°1645221
fourniey
Rendre au prochain
Posté le 19-11-2007 à 12:57:50  profilanswer
 

<div class="framebloc">
  <?php
 
  $r_an = "SELECT distinct an FROM ATS_statut where type='CA' order by an desc";
  $res = mysql_query($r_an);
  echo '<p align="center"><select name="ch_an">';
  while($val=mysql_fetch_array($res)) {
  echo "<option>".$val["an"]."</option>\n";
  }
  echo '</select></p>';
   
  //$an=$val["an"];
  //echo $an;
  echo $val["an"];
  $r_ca = mysql_query("SELECT * FROM `ATS_statut`
LEFT JOIN ATS_membre ON ATS_statut.passeport = ATS_membre.passeport
where ATS_statut.actif='O' and ATS_statut.type='CA' and ATS_statut.an=" . $val["an"] . " order by ATS_membre.nom,ATS_membre.prenom" );
 
    echo '<table align="center" border="1" cellpadding="3">';
  echo '<caption><h2>Conseil d\'administration</h2></caption>';
    echo '<tr>';
    echo '<th width="175">Identification</th>';
    echo '<th>Poste occupé</th>';
    echo '<th>Note</th>';
    echo '</tr>';
    while ($var = mysql_fetch_array($r_ca) )
    {

n°1645224
SICKofitAL​L
misanthrope
Posté le 19-11-2007 à 13:11:49  profilanswer
 

et l'erreur concernant la ressource invalide apparait dans la ligne "while ($var = mysql_fetch_array($r_ca))" je pense
 
en fait étant donnée que les fameux $val['an'] proviennent d'une boucle, ya des chances que lorsque tu réutilises la variable $val, elle n'est plus aucune signification.
 
Mais tu peux mettre les valeurs retournées dans ton premier select dans un tableau :

Code :
  1. $tableau = array ();
  2. while ($val = mysql_fetch_array ($res))
  3. {
  4. echo "<option>" . $val["an"] . "</option>\n";
  5. $tableau[] = $val["an"];
  6. }


 
Ensuite (si j'ai bien compris ce que tu veux faire, ce n'est pas tres clair ...) si tu veux lancer ton deuxieme select en fonction des années retournées par le premier, tu dois boucler sur le tableau et construire ta query dynamiquement :

Code :
  1. for ($i = 0; $i < count ($tableau); $i++)
  2. {
  3.   $r_ca = mysql_query ("SELECT * FROM `ATS_statut` LEFT JOIN ATS_membre ON ATS_statut.passeport = ATS_membre.passeport
  4. where ATS_statut.actif='O' and ATS_statut.type='CA' and ATS_statut.an=" . $tableau[i] . " order by ATS_membre.nom,ATS_membre.prenom" );
  5.     echo '<table align="center" border="1" cellpadding="3">';
  6.   ...
  7.   ...
  8.   while ($var = mysql_fetch_array ($r_ca))
  9.   {
  10.     ...
  11.     ...
  12.   }
  13. }


 
Bonne chance


---------------
We deserve everything that's coming...
mood
Publicité
Posté le 19-11-2007 à 13:11:49  profilanswer
 

n°1645404
fourniey
Rendre au prochain
Posté le 19-11-2007 à 17:15:18  profilanswer
 

Mon objectif au départ était de récupérer la valeur du premier sélect pour l'appliquer dans le 2e sélect.

n°1645405
SICKofitAL​L
misanthrope
Posté le 19-11-2007 à 17:16:55  profilanswer
 

si tu récuperes une seule valeur sauvegarde là dans une variable et utilise là dans le second, sinon boucle sur le nombre de valeurs retournées.


---------------
We deserve everything that's coming...
n°1645411
fourniey
Rendre au prochain
Posté le 19-11-2007 à 17:27:49  profilanswer
 

Ma liste déroulante (1er sélect) comporte l'ensemble des années disponibles et maintenant les gens voudraient que la page se mettre à jour pour afficher les résultats d'une nouvelle année.
 
Pour cela, je voulais récupérer l'année sélectionné et afficher par la suite mais je ne suis pas capable de récupérer l'année choisie.

n°1645415
fourniey
Rendre au prochain
Posté le 19-11-2007 à 17:35:26  profilanswer
 

J'ai fait afficher le count du tableau et il est vide.
 
  $tableau = array ();
    while ($val = mysql_fetch_array ($res))
    {
    echo "<option>" . $val["an"] . "</option>\n";
    $tableau[] = $val["an"];
    }
  echo count ($tableau);

n°1645425
SICKofitAL​L
misanthrope
Posté le 19-11-2007 à 17:52:59  profilanswer
 

fait un print_r dessus


---------------
We deserve everything that's coming...
n°1645451
fourniey
Rendre au prochain
Posté le 19-11-2007 à 18:36:20  profilanswer
 

Résultat:
 
Array ( )
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/ats3r.org/httpdocs/ca2.php on line 76

n°1645469
SICKofitAL​L
misanthrope
Posté le 19-11-2007 à 19:26:22  profilanswer
 

et donc tu attends que je te fournisse tout le code au fur et à mesure en fait ? :??:
 
Pour ce que tu veux faire, tu peux générer une liste d'années dans une liste déroulante (ton premier select), et recharger la page en passant en parametre d'url l'année choisie.
Donc ton selon select ne dépendrait plus du premier mais du choix par l'user. Genre s'il n'a rien choisi (donc le param est vide) tu ne généres pas de second select, sinon oui.


---------------
We deserve everything that's coming...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Varaiable dans un sélect

 

Sujets relatifs
[résolu] select avec données uniquesrecuperer valeur selectionnée balise select
Si résultat du sélect est viderequete affiche un bouton AouB dans un array qui verifi a chaque ligne
Problème de <select>empêcher la deselection dans un select multiple
Elimination des doublons d'un Select sur 4 tablesRequête select sur une chaine sans tenir compte des espaces
[Access] faire un select[MySQL] Combiner une SELECT et une UPDATE
Plus de sujets relatifs à : Varaiable dans un sélect


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR