requete avec une variable dans un tableau

Olivier1378
Invité n'ayant pas de compte PHPfrance

21 avr. 2009, 09:10

Bonjour,

J'aimerais gérér l'affichage d'une bibliographie ou d'une annuaire de liens sur différentes pages de mon site. Mes liens sont dans une table de données avec un identificateur primaire id_ln


Je passe à la fonction qui va requeter les liens un tableau $liens (qui renferme les id_ln retenus pour la page concernée).

J'ai écris le code suivant, il marche très bien. Mais ne pourrait-on pas faire plus direct ? par exemple avec une syntaxe de type "...WHERE $id_bb in ..."

Grand merci de votre aide.
// Annuaire de liens
function annuaire($liens) {
echo '<ul>';
foreach ($liens as $temp){

$sql = "SELECT * FROM annuaire WHERE id_ln='$temp'";
$req = mysql_query($sql);
$data=mysql_fetch_array($req);
echo "<li><a href=".$data['url']." target=_blank>".$data['descriptif']."</a></li>";
}
echo '</ul>';
}

Mammouth du PHP | 693 Messages

21 avr. 2009, 09:53

Tu pourrai tout condenser en une requete.

Tout d'abord, tu transforme ton tableau en une chaine du type 'temp1','temp2','temp3',...

Ensuite, tu utilise comme tu l'as suggérer la clause IN

Code : Tout sélectionner

SELECT * FROM annuaire WHERE id_ln IN (taChaine)
Ensuite, il faut récupérer les enregistrements un à un.

Au niveau code, ce n'est pas plus rapide, mais je crois que tu y gagne au niveau de ta base de donnée.

Invité
Invité n'ayant pas de compte PHPfrance

21 avr. 2009, 10:09

Je vais essayer

Merci de ta suggestion