Autor | Zpráva | ||
---|---|---|---|
mjaus Profil |
Zdravim.
Robim vypis z mysql databaze kde su dve tabulky. Jedna popisuje produkt a druha objednavacie kody pre popisany produkt avsak jeden produkt moze mat 5-15 (alebo n) objednavacich kodov. Vypis z prvej: $dotaz="SELECT * FROM consum"; $vysledek = MySQL_Query($dotaz); while ($zaznam = MySQL_Fetch_Array($vysledek)){ echo "<h3>".$zaznam['nazov']."</h3>"; echo "<p><strong>".$zaznam['popis_short']."</strong></p>"; echo "<div class='col_right'><p>".$zaznam['popis_long']."</p>"; $bal = $zaznam['nazov']; do premennej $bal som ulozil aj nazov produktu. Vypis druhej tabulky je pomocou nazvu produktu: $dotaz1="SELECT * FROM consum_mma,consum WHERE consum_mma.nazov_mma='$bal'"; $vysledek1 = MySQL_Query($dotaz1); while ($zaznam1 = MySQL_Fetch_Array($vysledek1)){ echo "<table>; echo "<tr>"; echo "<td>".$zaznam1['wcode']."</td>"; echo "<td>".$zaznam1['priemer']."</td>"; echo "</tr>"; echo "</table>"; }; no a este nakoniec uzavriet vypis prvej. resp. nacitat dalsi produkt: }; Vsetko funguje. Do prvej sa nacita a vypise NAZOV, POPIS1 a POPIS2 produktu. Pod to sa hned nacitaju k danemu produktu WCODE aj PRIEMER. Vsetko ako by malo byt. Avsak problem je tento: Zaznamov v tabulke produktov su 3 (takze sa vypisu tri produkty). Zaznamov v tabulke kodov je: pre 1 produkt 12 pre 2 produkt 3 pre 3 produkt 0 avsak tabulka kodov sa vypise sice spravne pre kazdy produkt tie kdy ktore maju no je ich 3x viac. Opakuju sa tolko krat kolko je produktov takze pre jeden produkt sa mi opakuje jeden kod 3x.... k nahliadnutiu: http://www.klinker.sk/Cemont_My/index.php?p=materialy/elektrody prikladam cely kod bez require: <div class="content_listes"> <? require('***'); $dotaz="SELECT * FROM consum"; //vytvoření sql dotazu $vysledek = MySQL_Query($dotaz); // provedení sql dotazu while ($zaznam = MySQL_Fetch_Array($vysledek)){ //vytvoření premennych pre data z tabulky echo "<div class='mod_liste'>"; echo "<h3>".$zaznam['nazov']."</h3>"; echo "<p><strong>".$zaznam['popis_short']."</strong></p>"; echo "<div class='col_left'><img id='left' src='photo/sortiment/".$zaznam['wcode'].".jpg' alt='".$zaznam['nazov']."' width='146px' /></div>"; echo "<div class='col_right'><p>".$zaznam['popis_long']."</p>"; $bal = $zaznam['nazov']; // tabulka echo "<table width='95%'><thead><tr>"; echo "<th scope='col'>Špecifikácia</th>"; echo "<th scope='col'></th>"; echo "</tr></thead><tr>"; echo "<td>Typ obalu</td>"; echo "<td>".$zaznam['obal']."</td>"; echo "</tr><tr class='odd'>"; echo "<td>Pevnosť v ťahu:</td>"; echo "<td>".$zaznam['tah']." MPa</td>"; echo "</tr><tr>"; echo "<td>Medza klzu:</td>"; echo "<td>".$zaznam['klz']." MPa</td>"; echo "</tr><tr class='odd'>"; echo "<td>Predĺženie A 5:</td>"; echo "<td>".$zaznam['predlz']." %</td>"; echo "</tr><tr>"; echo "<td>Nárazová práca V pri ".$zaznam['teplota1']." °C:</td>"; echo "<td>".$zaznam['praca1']." J</td>"; echo "</tr><tr class='odd'>"; echo "<td>Nárazová práca V pri ".$zaznam['teplota2']." °C:</td>"; echo "<td>".$zaznam['praca2']." J</td>"; echo "</tr></table>"; echo "</br>"; echo "Objednávacie kódy:</br>"; echo "Bal: ".$bal; // tabulka2 echo "<table width='95%'><thead><tr>"; echo "<th scope='col'>Obj. kód</th>"; echo "<th scope='col'>Priemer (mm)</th>"; echo "<th scope='col'>Dĺžka (mm)</th>"; echo "<th scope='col'>Hmotnosť (kg/1000ks)</th>"; echo "<th scope='col'>Balík (ks)</th>"; echo "<th scope='col'>Kartón (ks)</th>"; echo "</tr></thead>"; $dotaz1="SELECT * FROM consum_mma,consum WHERE consum_mma.nazov_mma='$bal'"; $vysledek1 = MySQL_Query($dotaz1); // provedení sql dotazu while ($zaznam1 = MySQL_Fetch_Array($vysledek1)){ echo "<tr style='border-bottom: 1px solid white'>"; echo "<td>".$zaznam1['wcode']."</td>"; echo "<td>".$zaznam1['priemer']."</td>"; echo "<td>".$zaznam1['dlzka']."</td>"; echo "<td>".$zaznam1['hmotnost']."</td>"; echo "<td>".$zaznam1['balik']."</td>"; echo "<td>".$zaznam1['karton']."</td>"; echo "</tr>"; }; echo "</table>"; echo "</div>"; // echo "<div id="clear"></div>"; echo "</div>"; }; //nacita pocet zaznamov tabulke $num_rows = mysql_num_rows($vysledek); //vypis premennych echo "Počet záznamov: ". $num_rows; ?> </div> |
||
Kajman Profil |
#2 · Zasláno: 10. 10. 2012, 11:12:08
Do $dotaz1 nedávejte consum bez spojovací podmínky.
Jinak se to dá vytahovat z databáze i méně dotazy, viz. http://php.vrana.cz/srovnani-dotazu-do-zavislych-tabulek.php |
||
mjaus Profil |
#3 · Zasláno: 10. 10. 2012, 12:44:34
Kajman:
Dakujem moc uz to bezi ako ma.... Mali ste pravdu. Niekedy menej je viac. Ja som bol uz beznadejny... |
||
Časová prodleva: 12 let
|
0