Varaiable dans un sélect - PHP - Programmation
Marsh Posté le 18-11-2007 à 21:37:29
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 ?
Marsh Posté le 18-11-2007 à 22:37:04
ben ATS_statut.an = $val["an"] que tu récups avant
Marsh Posté le 18-11-2007 à 23:50:59
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" );
Marsh Posté le 19-11-2007 à 00:47:13
ben c normal ton select est dans des doubles-quotes et ta variable aussi ...
met ca :
... and ATS_statut.an=" . $val["an"] . " order by ...
Marsh Posté le 19-11-2007 à 02:54:25
ç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.
Marsh Posté le 19-11-2007 à 07:51:30
tu peux me filer ton code steuplait ? genre la partie où tu fais tes selects ?
Marsh Posté le 19-11-2007 à 12:57:50
<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) )
{
Marsh Posté le 19-11-2007 à 13:11:49
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 :
|
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 :
|
Bonne chance
Marsh Posté le 19-11-2007 à 17:15:18
Mon objectif au départ était de récupérer la valeur du premier sélect pour l'appliquer dans le 2e sélect.
Marsh Posté le 19-11-2007 à 17:16:55
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.
Marsh Posté le 19-11-2007 à 17:27:49
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.
Marsh Posté le 19-11-2007 à 17:35:26
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);
Marsh Posté le 19-11-2007 à 17:52:59
fait un print_r dessus
Marsh Posté le 19-11-2007 à 18:36:20
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
Marsh Posté le 19-11-2007 à 19:26:22
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.
Marsh Posté le 18-11-2007 à 21:31:54
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:
Quel est le nom de la variable que je dois mettre dans le sélect 2uivant (à la place de '2007' ?
Merci!