Page 1 sur 1

pb liste déroulante

Posté : 27 juil. 2005, 11:37
par Invité
Bonjour a tous :)

Voila j'ai un souci pour supprimer un élément de ma liste déroulante (en fait quand je valide le formulaire et j'ai une erreur SQL et après qq test je me susi aperçu qu'il essayer de supprimer un chp vide donc j'ai un pb de sélection :p)

Voici le code:

Code : Tout sélectionner

<? include_once("../fonctions.php"); ?> <HTML> <HEAD> <TITLE>------------------------------</TITLE> <LINK rel="stylesheet" type="text/css" href="../formats.css"> </HEAD> <BODY> <CENTER> <TABLE width="40%" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000"> <TR> <TD bordercolor="#000000" bgcolor="CCEBFF"> <TABLE width="96%" border="0" cellspacing="0" cellpadding="4"> <TR> <TD bgcolor="#CCEBFF"><IMG src="arrow.gif" width="10"></TD> <TD width="100%"><STRONG>Suppression d'une activité </STRONG></TD> </TR> </TABLE></TD> </TR> <TR> <FORM name="supp_activite" action="<? $table="fonctions";$action="sup"; echo "action.php?type=$table&action=$action";?>" method="post"> <TD width="100%" colspan="2" align="center" bordercolor="#000000" bgcolor="#FFFFCC"> <TABLE width="95%" border="0" cellspacing="0" cellpadding="2"> <TR align="center"> <TD width="35%">&nbsp;</TD> <TD width="65%" align="left">&nbsp;</TD> </TR> <TR align="left"> <TD>Activit&eacute;</TD> <TD><? liste("activite","fonctions"); ?></TD></TR> <TR align="center"> <TD>&nbsp;</TD> <TD align="center">&nbsp;</TD> </TR> <TR align="center"> <TD colspan="2"><INPUT type="submit" name="Submit" value="Supprimer"></TD> </TR> </TABLE> </TD> </FORM> </TR> </TABLE> </CENTER> </BODY> </HTML> <? include("../footer.php"); ?>
et voici ma fonction "liste"
function liste($rech,$tab){
	//connexion à la bdd
 	$cnx= mysql_connect("localhost", "root", "");
	mysql_select_db("annuaire");
   	// création de la requête
	
	$req="SELECT distinct $rech from $tab ORDER BY $rech";
	$res = mysql_query($req) or mysql_error();
	
	echo "\n<select name=\"$rech\">\n";
	echo "<option value=\"\" selected> </option><br>\n";
	while ($ligne = mysql_fetch_assoc($res)) {
		foreach ($ligne as $col_value) 
			echo "<option value=\"$col_value\"> $col_value</option>\n";
	}
	echo "</select>\n";
	//mysql_free_result($res);
	mysql_close($cnx);
	}
voila merci d'avance :) [/code]

Posté : 27 juil. 2005, 11:52
par mere-teresa
Le problème est donc où ?
Dans ta requêtE ?

Posté : 27 juil. 2005, 13:45
par Invité
la requete est bonne puisque ma liste déroulante affiche tous les champs voulu, mais quand je veux supprimer patatra "erreur sql"

Posté : 27 juil. 2005, 14:06
par flix
<---- invité :)

En fait j'utilise cette fonction dans une autre page pour effectuer une "recherche" et elle donctionne très bien donc a mon avis l'erreur viendrai p-e de mon form mais j'avoue avoir chercher un peu partout etre un peu largué :?

Posté : 27 juil. 2005, 14:08
par mere-teresa
Peut-être que ta variable passe mal...sur ce form...
Fais donc un echo de ta requete :)

echo "SELECT distinct $rech from $tab ORDER BY $rech";

Posté : 27 juil. 2005, 14:19
par Invité
bon effectivement les variables ne passe meme pas du tout :p

merci je vais fouiller dans ce sens :)

Posté : 27 juil. 2005, 14:42
par Invité
bon bon dite moi par hasard personne aurait une bout code avec une liste déroulante généré a partir d'une base Mysql dans laquelle on peut supprimer une valeur? histoire de comparer car la...

merci d'avance :)

Posté : 27 juil. 2005, 17:03
par Invité
up :roll:

Posté : 27 juil. 2005, 17:15
par mere-teresa
<?php 
// alors déjà on concatène mieux que ça, mon ami
echo "SELECT distinct ".$rech." from ".$tab." ORDER BY ".$rech; 
Et ensuite, d'où viennent tes variables ?
Formulaire ? Script précédent ?
Comment sont-elles transmises ?

en GET, en POST, en SESSION ?