Requete en fonction d'un menu deroulant

Eléphant du PHP | 74 Messages

02 mars 2006, 11:57

Bonjour à tous!
C'est encore moi :)

Encore un pitit probleme (sinon je ne posterais pas...) :
- J'ai un page avec un menu deroulant pour afficher mes champs.
<form action="affich_card.php" method="get" id="chgdept">
		<select name="colla">
		<?
		while($data = mysql_fetch_assoc($result))
			{
		?>
			<option value="<?php echo($data['nom']); ?>"> <?php echo($data['nom']." - ".$data['prenom']); ?> </option>
		<?
			}
		?>
		<br>
		<input type="submit" name="ok" value="Envoyer">
		</select> 
</form>
Ce qui me retourne dans ma barre d'adresse, apres validation par le bouton :
http://127.0.0.1/[...]/affich_card.php?colla=un_nom&ok=Envoyer

Puis dans ma page affich_card.php :
$query = 'SELECT * FROM collaborateurs WHERE nom="'.$colla.'"';
Ma page affich_card ne me retourne rien.

C'est tout simple mais je ne comprends pas pourquoi ça n'affiche pas...


une ch'tite aide?

Avatar du membre
ViPHP
ViPHP | 3008 Messages

02 mars 2006, 11:59

Voici la chtite aide :langue:
$query = 'SELECT * FROM collaborateurs WHERE nom="'.$_GET['colla'].'"';

Eléphant du PHP | 74 Messages

02 mars 2006, 12:03

... toujours la même chose... c'est à dire rien du tout :cry:

Avatar du membre
ViPHP
ViPHP | 3008 Messages

02 mars 2006, 12:05

Que donne cette requête si tu la fait directement sous phpMyAdmin ? As tu un résultat ?

Vérifies aussi que dans l'url tu as bien un nom après ta variable colla.

Eléphanteau du PHP | 15 Messages

02 mars 2006, 12:09

Ferme ton select avant de mettre le champs input :
<form action="affich_card.php" method="get" id="chgdept">
		<select name="colla">
		<?
		while($data = mysql_fetch_assoc($result))
			{
		?>
			<option value="<?php echo($data['nom']); ?>"> <?php echo($data['nom']." - ".$data['prenom']); ?> </option>
		<?
			}
		?>
		</select> 
		<br>
		<input type="submit" name="ok" value="Envoyer">
</form>
Si ça ne marche toujours pas, fais nous un copier coller du code contenu dans affich_card :)

Avatar du membre
ViPHP
ViPHP | 3008 Messages

02 mars 2006, 12:15

Ferme ton select avant de mettre le champs input
Bien vu kookiz :wink: , je suis passé au travers lol

Eléphant du PHP | 74 Messages

02 mars 2006, 12:25

Whaou, ça marche! J'ai trouvé mon erreur en recopiant le code de ma page (merci KooKiz ;) ).
L'erreur était que j'avais une ligne $data=mysql_fetch_array($result); que je n'avais pas viré, celle ci étant avant mon while, donc conflit.


Merci à vous deux pour votre réactivité!

Et pour ceux que ça intéresse :
La page menu :
<?php
		$query="SELECT * FROM collaborateurs ORDER BY 'nom'";
		$result=mysql_query($query, $connect);
?>
<form action="affich_card.php" method="get" id="chgdept">
		<select name="colla">
		<?
		while($data = mysql_fetch_assoc($result))
			{
		?>
			<option value="<?php echo($data['nom']); ?>"> <?php echo($data['nom']." - ".$data['prenom']); ?> </option>
		<?
			}
		?>
		</select> 
		<br>
		<input type="submit" name="ok" value="Envoyer">
		
</form>
et la page affich_card :
<?
	$query = 'SELECT * FROM collaborateurs WHERE nom="'.$_GET['colla'].'"';
	$result=mysql_query($query, $connect);
?>
[...]
<?
while($data=mysql_fetch_assoc($result))
	{
// code
	}
?>

Thanks :merci: