Autor | Zpráva | ||
---|---|---|---|
paldo Profil |
#1 · Zasláno: 17. 9. 2014, 09:19:08
Dobrý den všem, potřeboval bych poradit.
Mám dvě tabulky SKUPINY a PARAMETRY vzorku. Potřebuji vypsat všechny parametry konkrétního vzorku rozděleno do tabulek podle SKUPIN. Tento kód to sice vypíše vše v pořádku jen s tím problémem, že pokud již neexistují PARAMETRY ve druhé tabulce, tak se mi ještě vypíše název SKUPINY s první tabulky + hlavička tabulky, a to již nechci. Asi nějaké do while - break, ale nevím jak to začlenit do kódu. Nejsem odborník v PHP. <?php require "config_db/db.php"; echo "<strong>Výsledky provedených analýz:</strong>\n</BR>"; $result = mysql_query("SELECT * FROM $table_skupiny ORDER BY nazev"); while ($row = mysql_fetch_assoc($result)) { echo "$row[nazev] - $row[popis]\n"; echo "<table width=\"85%\">"; echo "<tr><th>P.č.:</th><th>ukazatel-parametr</th><th>jednotka</th><th>nález</th></tr>\n"; $result1 = mysql_query("SELECT * FROM $table_vzorky_para WHERE skupina = '$row[nazev]' and id_vzorku=$id"); while ($row1 = mysql_fetch_assoc($result1)) { echo "<tr> <td>$poc</td>"; echo "<td>".$row1['para_nazev_zkr'] ."</td> <td>".$row1['jednotka'] ."</td> <td>".$row1['hodnota'] ."</td> </tr>\n"; } echo "</table>\n"; mysql_free_result($result1); } mysql_free_result($result); ?> Předem děkuji za jakékoliv ohlasy a pomoc. |
||
juriad Profil |
Nebo můžeš ten první dotaz upravit tak, aby vracel jen skupiny, které mají alespoň nějaké parametry.
SELECT s.*, COUNT(*) as pocet FROM $table_skupiny s LEFT JOIN $table_vzorky_para p ON p.skupina = s.nazev GROUP BY s.nazev HAVING pocet > 0 ORDER BY s.nazev Bíle zvýrazněné části můžeš odstranit a dostaneš ten samý dotaz, ale bez možnosti nastavení minimálního počtu parametrů. Případně 9. řádku přesunout před 6. A přidat podmínku: if (mysql_num_rows($result1) == 0) { continue; } |
||
Kajman Profil |
#3 · Zasláno: 17. 9. 2014, 09:50:59
juriad:
Při left join nesmí být v count *, ale např. p.skupina, jinak pocet nemůže být nula. Případně vyhodit left z joinu a pak i zbytečnou klauzuli having. |
||
paldo Profil |
#4 · Zasláno: 17. 9. 2014, 10:56:03
Óóó.
Zatím jsem vyzkoušel úpravy kódu podle "juriad" a JEDE TO. Vyzkouším i ostatní, abych se něčemu přiučil. Každopádně všem moc děkuji. |
||
Časová prodleva: 10 let
|
0