Requete SQL dans une seule variable

Angelneonizz Messages postés 820 Statut Membre -  
974_Vin's_974 Messages postés 554 Statut Membre -
Bonjour,

Je cherche à mettre tous les résultats d'une requêtes SQL (avec 2 champs) dans une seule variable.

voici mon code pour le moment :
$sql = mysql_query ('SELECT titre,lien FROM site_menu');
$titre_menu = array();
$lien_menu = array();
while ( $row=mysql_fetch_object($sql))
{
$titre_menu[] = $row->titre;
$lien_menu[] = $row->lien;
}


mais je voudrais à la place de titre_menu et lien_menu que tout soit dans une seule variable, je pensais pouvoir utiliser la variable row mais ça ne fonctionne pas.

Please help !

Merci d'avance
A voir également:

9 réponses

Utilisateur anonyme
 
bonsoir,

$sql = mysql_query ('SELECT concat( titre,lien) as mavariable FROM site_menu');
0
niahoo Messages postés 262 Statut Membre 19
 
hélas, cette éalité est fausse, le raisonnement ne tien donc pas: ' moins on oublie, plus on sai­t '
0
Utilisateur anonyme > niahoo Messages postés 262 Statut Membre
 
reste à voir, c'est pas de moi !
--
0
niahoo Messages postés 262 Statut Membre 19
 
$menu=array();



$sql = mysql_query ('SELECT titre,lien FROM site_menu'); // il manque ta connexion la masi bon des fois ça marche
while ( $row=mysql_fetch_assoc($sql)) //object ne sert a rien la
{
      $menu+=($row["titre"] => $lien=$row["lien"]);
}


voilà essaie un truc du style
0
Utilisateur anonyme
 
il manque la connexion mais peut être n'a-t-il pas mis son code en entier.
--
0
Angelneonizz Messages postés 820 Statut Membre 137
 
merci pour vos réponses.

effectivement je n'ai pas mis tout mon code. Je me suis bien connecté à la db avant.

Niahoo j'ai testé ton code mais il y a un message d'erreur au niveau de cette ligne :

$menu+=($row["titre"] => $lien=$row["lien"]);


j'ai essayé ça :
$menu+ =($row["titre"] -> $row["lien"]);


qui me semblait mieux mais toujours le même message :

Parse error: syntax error, unexpected '=' in ...
0
niahoo Messages postés 262 Statut Membre 19
 
oui ton signe += doit etre collé et pas + =
0

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

Posez votre question
Angelneonizz Messages postés 820 Statut Membre 137
 
effcetivement, merci mais un autre message apparait en mettant :

$menu+=($row["titre"] -> $row["lien"]);


Fatal error: Unsupported operand types in ...

j'ai essayé en mettant => à la place de -> mais j'ai le même message :'(
0
974_Vin's_974 Messages postés 554 Statut Membre 102
 
essaye ca ..
$menu=($row['titre'].$row['lien']);


Se sera séparé par un point, c'est grave ou pas ????
0
Utilisateur anonyme
 
Bonjour,
puisque la concaténation au moment de la requête ne semble pas retenir votre attention, prenez la réponse de 974_win's_974 sans les parenthèses.
--
0
Angelneonizz Messages postés 820 Statut Membre 137 > Utilisateur anonyme
 
Bonjour,

j'ai essayé votre méthode mais sans succé, je n'ai pas de message d'erreur mais rien ne s'affiche. Je n'ai peut être pas bien compris comment utilisé le code. Faut il mettre le $ de la variable dans la requête ? faut il ajouter une ligne aprés la requête pour récupérer la variable ?

merci pour votre réponse
0
Utilisateur anonyme > Angelneonizz Messages postés 820 Statut Membre
 
Bonsoir,

si j'ai bien interprété votre soucis, vous avez deux variables dans une base de données. vous souhaitez qu'elles soient concaténées, c'est à dire qu'elles n'en forme qu'une seule;
si c'est bien le cas, ce que j'ai écrit retourne bien les deux varaibles réunies en une seule.
exemple :

dans une table j'ai une colonne annee, une colonne moi et une colonne jour
la requête select concat (annee,mois,jour) as madate from matable
retourne dans le résultat de la requête une varaible appelée madate ($row['madate']) qui contient une chaine du style : AAAAMMJJ



0
974_Vin's_974 Messages postés 554 Statut Membre 102
 
Mais tu fais un echo $menu au moins ????

est ce que tu fais bien ca :

$menu=$row['titre'].$row['lien'];
echo $menu;


Sinon ca c logik ke tu voi rien ;)

^^ ...
0
Angelneonizz Messages postés 820 Statut Membre 137
 
en fait aprés je renvoi vers smarty avec :

$smarty_menu->assign('menu',	$menu);


et dans mon template :
{section name=i loop=$menu}
   <a hre="{ $menu[i].lien }">{ $menu[i].titre }<br />
    {/section}


en mettant un echo dans ma page php en utilisant
$menu=$row['titre'].$row['lien'];
je vois uniquement se qui est contenu dans la colonne lien.

Par contre avec Smarty je n'ai rien du tout :s

Pas évident tout ça, en tout cas merci à tous de votre aide
0
974_Vin's_974 Messages postés 554 Statut Membre 102
 
Tu ne vois uniquement que $row['lien'] et tu vois pas $row['titre'] c ca ????

Comment ca se fait ??

0