par
wik » 12 août 2009, 16:44
Voici le code complet correct, pour ceux que ça peut intéresser.
Mon but est de savoir combien de news sont contenues dans plusieurs tables, pour les afficher les cas échéant. Cette requête calcule la somme des nombres d'enregistrements de mes tables, si ce nombre est supérieur à 0, mes news s'affichent, sinon il n'y a rien.
L'astuce consiste à ajouter "as totalval" dans la requête sql (en plus de "AS total"), "totalval" étant reconnu ensuite pour le traitement en php...
$requete2 = mysql_query ("SELECT SUM(val) as totalval FROM (SELECT COUNT(*) AS val FROM disk d LEFT JOIN artiste_infos ai ON (d.disk_id = ai.disk_id) WHERE (ai.artiste_id = '".$artist_id."' AND d.news = '1') UNION SELECT COUNT(*) AS val FROM news_gigs ng WHERE (ng.artiste_id = '".$artist_id."' AND ng.gigs_date >= now()) UNION SELECT COUNT(*) AS val FROM news_various nv WHERE nv.artiste_id = '".$artist_id."') AS total") or die('Erreur : ' . mysql_error());
while ($resultat2 = mysql_fetch_array($requete2)){
if ($resultat2[totalval] > '0') {
echo "NEWS";
include ("include/news.php");
} else {
echo "";
}
}
Voici le code complet correct, pour ceux que ça peut intéresser.
Mon but est de savoir combien de news sont contenues dans plusieurs tables, pour les afficher les cas échéant. Cette requête calcule la somme des nombres d'enregistrements de mes tables, si ce nombre est supérieur à 0, mes news s'affichent, sinon il n'y a rien.
L'astuce consiste à ajouter "as totalval" dans la requête sql (en plus de "AS total"), "totalval" étant reconnu ensuite pour le traitement en php...
[php]$requete2 = mysql_query ("SELECT SUM(val) as totalval FROM (SELECT COUNT(*) AS val FROM disk d LEFT JOIN artiste_infos ai ON (d.disk_id = ai.disk_id) WHERE (ai.artiste_id = '".$artist_id."' AND d.news = '1') UNION SELECT COUNT(*) AS val FROM news_gigs ng WHERE (ng.artiste_id = '".$artist_id."' AND ng.gigs_date >= now()) UNION SELECT COUNT(*) AS val FROM news_various nv WHERE nv.artiste_id = '".$artist_id."') AS total") or die('Erreur : ' . mysql_error());
while ($resultat2 = mysql_fetch_array($requete2)){
if ($resultat2[totalval] > '0') {
echo "NEWS";
include ("include/news.php");
} else {
echo "";
}
}[/php]