Catégories:
Bonjour,
grâce à une requête sql, je récupère des noms.
Je souhaiterai faire une liste de liens cliquables de tous les noms récupérés.
Aujourd’hui, j’ai ce code :
print l($nom, url(«node/8/», array(‘query’ => ‘n=’. $nom,’absolute’ => TRUE)), array(‘html’ => array(‘html’ => ‘true’))) ;mais il ne me permet que d’afficher le dernier nom récupéré.
Comment tourner mon code pour afficher toutes les réponses ?
Merci d’ avance.
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

Bonjour a toi,
Bon prenons les choses dans l'ordre:
tu dis que tu recupère une liste de noms grâce à une requete sql or ici je ne vois qu'une variable $nom.
pareil pour le lien vers le node ici je ne vois qu'un lien vers un seul node: le 8 =>"node/8/".
il faut que tu récupère la liste des ids de node en même temps aussi.
Donc j'aurais plus vu un truc comme sa.
<?php
$noms =db_query('Select nid, nom from {toto} where ...');
$html='';
while($nom = db_fetch_objetc($result)){
$html.=l($nom->nom, url('node/'.$nom->nid, array(‘query’ => ‘n=’. $nom->nom,’absolute’ => TRUE)), array(‘html’ => array(‘html’ => ‘true’))) ;
}
print $html;
?>
Voila pour l'idée, j'ai pas testé donc je ne garanti pas que ça marche.
Cdt,
Aya
Aya
508
Voici mon code complet :
<?php
global $user;
// Connexion au serveur
mysql_connect( "localhost", "XXX", "XXX" ) or die("erreur de connexion au serveur"); mysql_select_db( "XXXXX" ) or die("erreur de connexion a la base de donnees"); // Creation et envoi de la requete
$u =mysql_escape_string( $user->name); $query = "SELECT nom FROM balise WHERE user='$u' "; $result = mysql_query($query);
while (
$var = mysql_fetch_array($result)) {$nom = $var[nom];
}
print
l($nom, url("node/8/", array('query' => 'n='. $nom,'absolute' => TRUE)), array('html' => array('html' => 'true'))); ?>Ce code me permet de recuperer les noms en fonctions de l’ utilisateur connecté.
Ensuite cela me créé un lien avec le resultat de ma requete. Puis quand je clique sur le lien, cela me bascule vers le node/8 et passe la valeur n en GET.
Par contre cela ne recupere que le dernier nom enregistré et pas les autres.
J’ai testé ton code, il ne fonctionne pas.
sebphilip
159
Il faut mettre le print dans ta boucle
<?phpwhile ($var = mysql_fetch_array($result)) {
$nom = $var[nom];
print l($nom, url("node/8/", array('query' => 'n='. $nom,'absolute' => TRUE)), array('html' => array('html' => 'true')));
}
?>
(je passe outre le fait que le code est pas «drupal friendly», ca sera surement pour plus tard :) )
Haza.fr
Drupal, sans fondements
Haza
1593
Ca marche. Merci une seconde fois.
Par contre mes liens sont tous les uns à la suite des autres. Comment faire un retour à la ligne entre chaque liens ?
J’ai tenté d’inserer une balise «br» apres print mais ça ne fait rien.
sebphilip
159
<?phpwhile ($var = mysql_fetch_array($result)) {
$nom = $var[nom];
print l($nom, url("node/8/", array('query' => 'n='. $nom,'absolute' => TRUE)), array('html' => array('html' => 'true')));
print '<br />';
}
?>
ca marche pas ça ?
(houla que c’est pas bô …)
Haza.fr
Drupal, sans fondements
Haza
1593
C’ etait tout bete !!! Mais comme je debute en php je n’ai pas encore tous les «reflexes».
Merci pour ton aide.
sebphilip
159