Complètement perdut dans des requètes sql !

WRInaute passionné
Bonsoir
Je suis un peut pommé dans mes requètes sql :? .
1-Je tente d'afficher le nombre de flux présent dans une catégorie hors le resultat retourné m'affiche le nombre total de sites présent dans cette meme catégorie.
2-Je tente d'afficher les url des flux rss présent dans chaque catégorie mais le resultat m'affiche un <br /> si l'url est vide .
Je ne parvient pas à comprendre mes erreurs :( !
Code:
<?php

   //connexion a la BD 
   $lk = connection_BD(); 
   //requete pour trouver le nombre de flux rss présent dans la catégorie
$sql_rss = "SELECT `flux_rss` FROM sites_annuaire WHERE id_cat='$cat_id' ORDER BY id DESC ";
$res_rss = send_sql($sql_rss,"trouver le nombre de flux rss");
$nb_rss = mysql_num_rows($res_rss);
  //requete pour afficher les flux present dans la catégorie
$sql = "SELECT `flux_rss` FROM $T_sites WHERE id_cat='$cat_id' ORDER BY id DESC ";
$res = send_sql($sql,"trouver les flux rss"); 
		if($nb_rss == 1)
		{
                       echo ' ' .$nb_rss. ' flux rss disponible ';
                }
		else
		{
			echo ' ' .$nb_rss. ' flux rss disponibles' ;
		}
		
   while($result = mysql_fetch_array($res)) 
   { 
      $flux_rss = $result['flux_rss'];


echo '<a href="' .$flux_rss. '" target="_blank">' .$flux_rss. '</a><br />';
 
   }
   
           
   mysql_close($lk); 


?>
Un petit coup de neurone serait le bienvenue.
Merci
 
WRInaute accro
tryan a dit:
1-Je tente d'afficher le nombre de flux présent dans une catégorie hors le resultat retourné m'affiche le nombre total de sites présent dans cette meme catégorie.
Code:
//requete pour trouver le nombre de flux rss présent dans la catégorie
$sql_rss = "SELECT `flux_rss` FROM sites_annuaire WHERE id_cat='$cat_id' ORDER BY id DESC ";

Sans connaître le schéma de ta base (ou au moins des tables concernées), on va tenter de deviner... Tu as une table sites_annuaire, et le champ "flux_rss" est non nul ou non vide s'il y a un flux pour le site?

Ca donne suivant le cas:
SELECT count(flux_rss) FROM sites_annuaire WHERE id_cat=?
SELECT count(*) FROM sites_annuaire WHERE id_cat=? AND flux_rss<>''

Et tu obtiens directement le nombre de lignes comme ça, pas besoin de les compter après.

Note que tu dois absolument t'assurer que les variables que tu colles dans la requête SQL ($cat_id) soient parfaitement vérifiées, nettoyées, etc, sinon ça va se finir en injection SQL badaboum.

tryan a dit:
2-Je tente d'afficher les url des flux rss présent dans chaque catégorie mais le resultat m'affiche un <br /> si l'url est vide .
Code:
//requete pour afficher les flux present dans la catégorie
$sql = "SELECT `flux_rss` FROM $T_sites WHERE id_cat='$cat_id' ORDER BY id DESC ";
$res = send_sql($sql,"trouver les flux rss"); 
   while($result = mysql_fetch_array($res)) 
   { 
      $flux_rss = $result['flux_rss'];
echo '<a href="' .$flux_rss. '" target="_blank">' .$flux_rss. '</a><br />';
   }

Il te manque comme qui dirait une petite clause. Encore une fois, on devine:
SELECT flux_rss FROM whatever WHERE id_cat=? AND flux_rss IS NOT NULL ORDER BY id DESC
SELECT flux_rss FROM whatever WHERE id_cat=? AND flux_rss<>'' ORDER BY id DESC

Evidemment, si tu ne prévois pas de mettre en place de la pagination (LIMIT ... OFFSET), tu pourrais faire une seule requête au lieu de deux...

Jacques, qui cherche où est passée sa boule de cristal.
 
WRInaute passionné
biddybulle a dit:
t as absolument besoin des ' pour encadrer ton champs flux_rss dans ta requete ?
Visiblement non, mais vue que je suis une burne, je me suis servit de phpMyAdmin pour mes requètes et il me sort les ' pour encadrer mon champ.

jcaron, sorry pour la boulle de cristal :lol: , je pensais que c'était suffisant!
Bon j'ai testé et retesté la chose dans tout les sens mais quand on y comprend rien ... on y comprend rien :? !

Donc j'ai ma base avec "sites_annuaire" (colonne de gauche) comprenant plusieurs champs dont "flux_rss".
Dans mes requètes, si je suprime "id_cat='$cat_id'" c'est le nombre total de sites présent qui s'affiche. Avec, c'est le nombre total des sites présent dans la catégorie visé. Moi ce que je cherche, c'est d'afficher le nombre total de flux valide dans cette meme catégorie mais je seche.
 
Discussions similaires
Haut