Page 1 sur 1

requete sql en fonction

Posté : 22 avr. 2007, 14:38
par aelurus
Bonjour tous
Je ne comprend pas la différence qu'il y a entre
	$sql = mysql_query("SELECT id_menu, titre, ordre FROM `menu` WHERE `parent`=0 ORDER BY `ordre` ASC LIMIT 0, 6 ");
while($menu=mysql_fetch_assoc($sql))
	{
           //traitement de la boucle
         }
et :
	function recup_menu(){
	$sql = mysql_query("SELECT id_menu, titre, ordre FROM `menu` WHERE `parent`=0 ORDER BY `ordre` ASC LIMIT 0, 6 ");
return $sql;

	
}

$requete=recup_menu();

while($menu=mysql_fetch_assoc($requete))
	{
           //traitement de la boucle
         }
ou
while($menu=mysql_fetch_assoc(recup_menu()))
	{
           //traitement de la boucle
         }
[/php]
Si ce n'est que je n'obtient pas le résultat voulu....
Pour moi la fonction return($variable);
retourne le contenu de $variable.
est ce le fait d'un résultat de requête sql ?
Une ou plusieurs choses m'échappe, un aiguillage serait le bien venu :) merci

Posté : 22 avr. 2007, 15:15
par aelurus
J'ai peur d'avoir trouvé le soucis :'(
la requete est faite dans une fonction qui j'ai peur ne prenne pas en compte les parametre de connection appelé dans le script qui appel cette fonction.
Suis je a l'ouest ??? Je test voir mon raisonnement .....

Posté : 22 avr. 2007, 15:21
par thehawk
oui ta raison si ta requete est dans une fonction il est probable que les identifiants ne soit pas interpreter , soit tu les places en globales soit tu les met dedans :
funtion truc($connexion_bd,$connexion_login etc

Posté : 22 avr. 2007, 15:24
par jed
Généralement, mettre des traitements dans une fonction ou une variable sert à enlever l'affichage des erreurs ou faire des tests dessus.

Posté : 22 avr. 2007, 15:29
par aelurus
Y a autre chose :'(

fonction appelé dans le script
	function recup_menu(){
	//include("../Include/config.php");
	$sql = mysql_query("SELECT id_menu, titre, ordre FROM `menu` WHERE `parent`=0 ORDER BY `ordre` ASC LIMIT 0, 6 ");
return $sql;
}

script ou la fonction est appelé
	

recup_menu()

while($menu=mysql_fetch_assoc($sql))
	{
		//affiche_menu($menu[titre] ,$menu[id_menu] , 'add-script_128x128.png');
cela me donne une belle erreure ....

Code : Tout sélectionner

Parse error: syntax error, unexpected T_WHILE in /home/ael/web/contenu/Ebauche-de-site/Vasou/Admin/menu/4.test_menu/1.menu_multi_en_foreach on line 72
La ligne 72 est :

while($menu=mysql_fetch_assoc($sql))
cette erreure est avec et sans les // devant le include dans la fonction.
Jed je ne te suis pas ...

Posté : 22 avr. 2007, 17:04
par charabia
recup_menu();

Posté : 22 avr. 2007, 17:42
par aelurus
....
Des fois on a envie de ce baffer ....
$sql=recup_menu();

while($menu=mysql_fetch_assoc($sql))
	{
Vala comme sa sa marche tout bien .
Merci