8791 sujets

Développement web côté serveur, CMS

bonjour je cherche a faire une requête sur un tableau php

je génère mon tableau :

$querytag ="SELECT id, marque, COUNT(marque) AS totalmarque  FROM listing WHERE marque!='' GROUP BY marque ORDER BY marque";
		$resultag = mysql_query($querytag);
		$total = mysql_num_rows($resultag);  /
	
while ($row = mysql_fetch_array($resultag)) { 
$montab = $row['marque'];  // les marques sans doublons
$montotal = $row['totalmarque']; // le total des news de la marque
$montablo=array($montab,$montotal); 

}


Ici je récupère :

marque1 = 5 news
marque2 = 3 news
marque3 = 1 news
marque4 = 10 news

et a partir de ce tableau je voudrais pouvoir faire un requête de ce genre :

Sélectionne moi les marques où le nombre de news est supérieur ou égal à 5
pour ne garder que marque1 et marque4

Comment faire ?
Merci d'avance


j'ai avancé mais j'ai des erreurs

$querytag ="SELECT id, marque, COUNT(marque) AS totalmarque  FROM listing WHERE marque!='' GROUP BY marque ORDER BY marque";
		$resultag = mysql_query($querytag);
		$total = mysql_num_rows($resultag);  /
	
while ($row = mysql_fetch_array($resultag)) { 
$montab = $row['marque'];  // les marques sans doublons
$montotal = $row['totalmarque']; // le total des news de la marque
$montablo=array($montab,$montotal); 

$querytag2 = "SELECT marque FROM listing WHERE (marque = '$montablo[0]' and '$montablo[1]'>=5) Group by marque";
$resultag2 = mysql_query($querytag2);
while ($row2 = mysql_fetch_assoc($resultag2)) { 
$montab2 = $row2['marque']; 
echo $montab2;
}
}


je récupère bien les bonnes marques
mais j'ai aussi :
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in...

Merci à ceux qui pourront m'aiguiller



Bon je m'auto-aiguille


$querytag ="SELECT id, marque, COUNT(marque) AS totalmarque  FROM listing WHERE marque!=''   GROUP BY marque ORDER BY rand()"; // je recupere toutes les marques renseignées dédoublonnées aleatoirement
		$resultag = mysql_query($querytag);

	
while ($row = mysql_fetch_array($resultag)) { 
$montab = $row['marque']; 
$montotal = $row['totalmarque']; 


$montablo=array($montab,$montotal); 
//1ere valeur = la marque, 2eme valeur = le nombre de réponse


foreach ($montablo as $key => $value) { 

 if ($value>=5) {


 
  echo $montab;
}
  
  }
 

}



et ça marche...
Modifié par pareto (23 Sep 2011 - 19:44)
Salut,


<?php
$requete ="SELECT l.id, l.marque, COUNT(l.marque) AS total  FROM listing l WHERE l.marque!='' AND total>=5 GROUP BY l.marque ORDER BY rand()"; 
$resultat = mysql_query($requete);
while ($donnees = mysql_fetch_assoc($resultat)) { 
  echo $donnees['id'] . ' : ' . $donnees['marque'] . ' (' . $donnees['total'] . ')<br />';
}
?>

Modifié par Yvan L. (24 Sep 2011 - 12:35)
hello merci de prendre le temps de me répondre mais je ne comprend pas pourquoi j'ai une erreur quand j'utilise ton code
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in

j'ai testé sans AND total>=5 et là ça marche mais j'ai plus ma condition...
Modifié par pareto (25 Sep 2011 - 17:38)