Liste deroulante en php

Fermé
Rebuffat - 5 janv. 2004 à 16:06
 Cédric - 23 mai 2004 à 11:42
Bonjour,
Voila je cherche à obtenir le numero et le nom d'un projet que je selectionne dans une liste deroulante dans unenouvelle page.

En fait par exemple j'ai une liste deroulante nommee Listeprojet.
Lorque je clique sur une des valeurs de la liste cela me renvoit à une page affiche.php avec le nom et le numero du projet.

Voila ce quej'ai fait :
page de lal iste deroulante : liste2.php

<?php require_once ("Acces_BDPROJETS.php");
	
	// selectionner la base et la variable du pconnect se trouvant dans le fichier Acces_BDPROJETS.php
	@mysql_select_db($database_canalbd, $connexion) or die ("problème dans selection base");
	// definir la requête
	$query_Recordset1="SELECT DISTINCT * FROM projets1 ";
	$Recordset1=mysql_db_query ($database_canalbd,$query_Recordset1) or die("Erreur dans la requête");
<!-- REMPLISSAGE DES VALEURS DE LA LISTE -->
  <?php 
while ($record = mysql_fetch_array($Recordset1))  
{
$ListeOptions .= "<option>".$record['Nom_du_Projet']."</option>\n";
}
?>
</h1>
<?php
echo '<form method="get" action="affiche.php">';
echo '<select name="Listeprojet"onchange="javascript:this.form.submit()">';
echo $ListeOptions;  

while($data=mysql_fetch_array($resultat)){
	$id=$data['Num_projet'];
	$nom=$data['Nom_du_Projet'];
	echo '<option value="'.$id.'">'.$nom.' <option>';
	//'.$prenom.'
}

echo '</select></form>';

//--- FIN de la page liste2.php ---//
?>


Tout va bien pour le moment la liste se remplit depuisma base sans souci.

Maintenant jepasse à la page affiche.php
//--- les paramètres de connection à la base
require_once ("Acces_BDPROJETS.php");
mysql_select_db($database_canalbd, $connexion) or die ("problème dans selection base");
$recupnom=$HTTP_POST_VARS['Listeprojet'];


$query_Recordset1="select Num_projet, Nom_du_Projet * from projets1 where Nom_du_Projet='$recupnom'";
$Recordset1=mysql_query($query_Recordset1);
echo $Recordset1;
//--- le while de recup ---//
while($record=mysql_fetch_array($Recordset1))
{
				echo 'Numero :'.$record['Num_projet'].'<br/>';
				echo 'Nom :'.$record['Nom_du_Projet'].'<br/>';

}
//--- FIN du while ---//
?>


Et la lorsque j'ai choisi une valeur dans ma liste deroulante je passe bien à la page affiche.php mais j'ai le message d'erreur suivant "

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp\www\bd_projets\affiche.php on line 12"

C'est à dire dans cette partie là :
while($record=mysql_fetch_array($Recordset1))
{
echo 'Numero :'.$record['Num_projet'].'<br/>';
echo 'Nom :'.$record['Nom_du_Projet'].'<br/>';



?>


Est ce que quelqu'un a une petite idée.
Mes champs se nomment Num_projet et Nom_du_Projet dans la table projets1.

Ai je ete clair.

Merci pour toute l'aide que vous m'apporterez.
A voir également:

7 réponses

Utilisateur anonyme
5 janv. 2004 à 16:22
Salut,
C'est ta requete qui merde:
select Num_projet, Nom_du_Projet * from projets1 where Nom_du_Projet='$recupnom'

Il sort d'ou ton $recupnom ?
Fait un echo de $query_Recordset1, et essaye la requete dans phpmyadmin.

Kalamit,
Parle à ma culasse, mon carter est malade. :)
0
Le $recupnom je l'ai en faisant un htp_post_vars du nom du select à savoir Listeprojet.
0
Utilisateur anonyme
5 janv. 2004 à 16:57
Ah voui, j'l'avais pas vu... (j'utilise habituellement $_POST qui est plus court que $HTTP_POST_VARS.)
Et tu as la bonne valeur dans cette variable ? Tu as fait un echo de cette variable ?

Kalamit,
Parle à ma culasse, mon carter est malade. :)
0
j'avais la bonne valeur il y a dix minutes mais maintyenant j'ai systematiquement lorsque j'affiche un echo de la requete

select * from projets1 where Nom_du_Projet=''Resource id #2

C'est à ne rien y comprendre ma parole.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
5 janv. 2004 à 17:13
Bon, bah voila ton erreur, elle provient de liste2.php. :)
C'est ta toute premiere requete qui te recrache le resource id#2...

Kalamit,
Parle à ma culasse, mon carter est malade. :)
0
Tu peux preciser car je ne vois aucune raison à ce que ma requete de la liste 2 me renvoir resource id#2.

Ma requete est toute simple
$query_Recordset1="SELECT * FROM projets1 ";

Je ne vois pas ce que je dois changer.
Est ce que tu peux me dire s'il te plais.
0
Bonjour a tous
Je profite de ton probleme car j'ai chercher partout
mais je n'ai po reussis a trouver une reponse clair a mon sens !
QUE signifie resource id#2 j'ai cet erreur aujourd'hui et je ne comprend pas pourquoi car j'ai teste ma requete elle marche je recupere la réponse et avec le echo ça me marque cette erreur !

ps: desoler de squizzer ton post mais je pense que ça pourrais nous aider tout les 2 ! merci d'avance a tous
0
Cédric > le_don
23 mai 2004 à 11:42
Salut,

C'est parce qu'il faut décomposer ta ressource : la ressource est composée de plusieurs champs donc si tu cherches à afficher la ressource (et non l'un des champs) il te retournera le n° ID de la ressource (1, 2, 3, 4...).

Si tu veux la manip pour afficher l'un des champs, n'hésites pas à passer sur mon forum :
http://www.conseil-creation.com/forums

@ + , Cédric.
0
G trouver ma solution je passe mon retour de mysql_query
dans un mysql_result et ça passe merci quand meme ;)
et j'espere que ça aidera qq1 !
0