Pti pb avec un tableau

Pti pb avec un tableau - PHP - Programmation

Marsh Posté le 10-12-2002 à 15:47:42    

J'ai une table avec des produits, dont les champs sont "id", "category", "label", "description", "price".  
J'ai besoin de faire une requete qui me permette de grouper par label chaque produit puis de lire la table en affichant les élément "description" et "price" et à chaque fois que le label change  
que l'on passe au label suivant.  
 
Ex - ma table contient :  
1-Poisson-Findus-Petits batonnetsX12-100 euros  
2-Poisson-Findus-Grands batonnetsX12-150 euros  
3-Poisson-Capitaine Iglo-Batonnets de colin -100 euros  
4-Poisson-Capitaine Iglo-Batonnets de lézard-100 euros  
 
Je voudrais que ça puisse afficher ceci :  
Findus :  
Petits batonnetsX12-100 euros  
Grands batonnetsX12-100 euros  
 
Capitaine Iglo:  
Batonnets de colin -100 euros  
Batonnets de Lézard -100 euros  
 
 
J'ai commencé à faire le code ci dessous qui liste toute la table mais maintenant je bloque :  
<?php  
$serveur = "localhost";  
$utilisateur = "root";  
$motDePasse = "";  
$base = "store";  
$table="products";  
mysql_pconnect($serveur, $utilisateur, $motDePasse);  
mysql_selectdb($base);  
 
// Selection des fiches produits de la table  
$query = "SELECT * FROM $table where category=\"processeurs\"";  
$result = mysql_query($query);  
 
// Lire la table  
while ($val = mysql_fetch_array($result))  
{  
echo $val["label"];  
echo $val["description"];  
echo $val["price"];  
echo "<br>";  
}  
?>  
 
Merci pour le coup de main  :hello:

Reply

Marsh Posté le 10-12-2002 à 15:47:42   

Reply

Marsh Posté le 10-12-2002 à 16:24:20    


$label = ""
$query = "SELECT * FROM $table order by LABEL asc";  
$result = mysql_query($query);  
 
// Lire la table  
while ($val = mysql_fetch_array($result))  
{  
$reqlabel =  $val["label"];  
$reqdesc =  $val["description"];  
$reqprice =  $val["price"];  
if ($label != $reqlabel )
   {
    echo $reqlabel;
    $label = $reqlabel
   }
echo $reqdesc
echo $reqprice  
}  
?>


Message édité par beleg le 10-12-2002 à 16:24:59
Reply

Marsh Posté le 10-12-2002 à 16:26:08    

Heu, c'est en quoi exactement que tu bloque?
Je penses être comme tout le monde ici, on est près à aider à condition que la question posé soit assez précise.
Là, t'as fournis le code ( ce qui est très bien), mais la question que tu pose est trop vague pour qu'on puisse d'aider de manière efficace.
 
 
Bref, c'est en quoi que t'es bloqué?
T'as un message d'erreur ou c'est juste au nivveau de la présentation?
A moins que t'obtienne pas le résultat que tu devrait.
 
BRef, si tu peux être plus précis ca nous permettra de ne pas perdre de temps sur un faux problèms.

Reply

Marsh Posté le 10-12-2002 à 16:40:14    

Un "SELECT DISTINCT label FROM table..." devrait faire l'affaire.

Reply

Marsh Posté le 10-12-2002 à 17:27:18    

Merci à tous pour votre aide !
J'ai opté pour la solution suivante :
<?php
$serveur = "localhost";
$utilisateur = "root";
$motDePasse = "";
$base = "store";
$table="products";
mysql_pconnect($serveur, $utilisateur, $motDePasse);
mysql_selectdb($base);
 
// Selection des fiches produits de la table
$query = "SELECT * FROM $table where category=\"processeurs\"";  
$result = mysql_query($query);
 
// Lire la table
while ($val = mysql_fetch_array($result)) {  
if ($val["label"]!=$label)
 {
echo $val["label"]."<br>";  
}

echo $val["description"];  
echo $val["price"];  
echo "<br>";  
 
$label=$val["label"];  
 
 }
 
?>

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed