2017-10-10 10 views
-4

Tableau de produit: affichera tous les produits - Listecomte avec le groupe par en php mysql

prodid | name | size 
1  | prd1 | 30 
2  | prd2 | 40 
3  | prd3 | 50 
4  | prod4 | 20 

Détails du produit: - lorsque la liste des produits est affichage, j'ai zone de texte pour chaque produit, où resp . valeur de remplissage utilisateur (500,300..etc) et soumettre les données de données est un magasin dans les détails du produit comme ci-dessous

id | prdid | userid | value | 
1 | 1 | 2  | 500 
2 | 2 | 2  | 200 
3 | 1 | 3  | 230 
4 | 3 | 2  | 300 
5 | 1 | 4  | 100 

Ce que je veux:

Product Count | Product Name | Product Size 
    3   | prod1  | 30 
    1   | prod2  | 40 
    1   | prod3  | 50 
       | prod4  | 20 

ci-dessous est la liste de la table:

$sql = "SELECT * FROM product "; 
    $result = $conn->query($sql); 

    echo "<table border='1'> 
     <tr> 
     <th>Product Count</th> 
     <th>Product Name</th> 
     <th>Product Size</th> 
     </tr>"; 

    while($row = mysqli_fetch_array($result)) { 
     echo "<tr>"; 
     echo "<td>" . ???? . "</td>"; 
     echo "<td>" . $row['name'] . "</td>"; 
     echo "<td>" . $row['size'] . "</td>"; 
     echo "</tr>"; 
    } 
    echo "</table>"; 

from above i need 2 things: 
1 } product count - count is common 
2 } highlight with red/green that count for resp user who's value is higher for that prdid from product details 

ex: dans les détails du produit:

PRDID 1 a 3 nombre

utilisateur

pour PRDID 1 sont 3 (2,3,4), dont 2 userid a une valeur plus élevée qui est de 500 donc que sa colonne de produit pour cette prodid sera il vert rouge d'autre

espère que vous avez compris mon gars exigence ....

+1

Voir: [? Pourquoi devrais-je fournir un MCVE pour ce qui me semble être une simple requête SQL] (https://meta.stackoverflow.com/ questions/333952/pourquoi-devrais-je-fournir-un-mcve-pour-ce-qui-me-semble-à-être-un-très-simple-sql-query) – Strawberry

+0

@Strawberry bro, mon esprit ne fonctionne pas en ce moment .. s'il vous plaît ne me dites pas de lire cet article :(... btw im très mauvais en lecture .... pls aider widout lecture article – user3209031

+0

pourquoi moins ... quelqu'un me dire ... pls avant de fermer un donnez-moi la réponse – user3209031

Répondre

-1

Peut-être que cette requête:

SELECT COUNT(details.*) AS NbProduct, product.name, product.size FROM details JOIN product ON product.id = details.product_id GROUP BY product.name 
+0

Salut la liste sera vu de la table des produits et non de la table des détails du produit et le comptage sera à partir des détails du produit – user3209031

+0

Je pense que la requête correspondra à ce qu'il demande dans le "What I want" – SpOOnisBacK

+0

mes détails du produit seront vides au départ ..hence liste de produit ne sera pas vu ... – user3209031

0

Salut depuis votre sélection co Lumns n'était pas en groupe, je pense que vous avez peut-être rencontré des problèmes. Et vous devez faire à gauche rejoindre afin que vous puissiez obtenir les détails du produit de prd4 qui est d'avoir sinon vous ne recevrez pas cet enregistrement.

La requête suivante fonctionne bien:

SELECT count(pd.prdid) AS productCount, p.name, p.size 
FROM `product` AS p 
LEFT JOIN product_details AS pd ON p.prodid = pd.prdid 
GROUP BY p.name,p.size