requete sql en fonction

Eléphant du PHP | 177 Messages

22 avr. 2007, 14:38

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

Eléphant du PHP | 177 Messages

22 avr. 2007, 15:15

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 .....

Mammouth du PHP | 991 Messages

22 avr. 2007, 15:21

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
DevOps, Symfony4, Hoa

jed
Eléphant du PHP | 218 Messages

22 avr. 2007, 15:24

Généralement, mettre des traitements dans une fonction ou une variable sert à enlever l'affichage des erreurs ou faire des tests dessus.

Eléphant du PHP | 177 Messages

22 avr. 2007, 15:29

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 ...

Avatar du membre
ViPHP
ViPHP | 3008 Messages

22 avr. 2007, 17:04

recup_menu();

Eléphant du PHP | 177 Messages

22 avr. 2007, 17:42

....
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