Autor | Zpráva | ||
---|---|---|---|
slovakCZ Profil |
#1 · Zasláno: 1. 9. 2009, 20:57:23
Dobry den,
nejak se mi nedari vypsat z DB data. Mam 2 tabulky, jedna: "cenik_nadpis" se sloupcy - id - nadpis (ukazkovy obsah: 5 - Drevene podlahy) a druha: "cenik" se sloupcy - id - id_nadpis - popis_sluzby - cena_sluzby. pro vysvetleni id je jedinecne ID kazde polozky (tedy radku) id_nadpis to je cislo, ktere odpovida ID z tabulky cenik_nadpis dlasi veci uz je jen text, takze vysvetlovat nemusim (ukazkovy obsah: 1 - 5 - bukova podlaha - 1500) (ukazkovy obsah: 2 - 5 - btizova podlaha - 2500) A ja potrebuju do tabulky (jako nadpis tabulky) vypsat nejdrive z CENIK_NADPIS ten nadpis a pote tradicne do tabulky uz hodnoty "popis_sluzby" a "cena_sluzby" z "cenik". ja mam myslenku jak to udelat, ale nedari se mi to.. potrebuju zacit s vypisem, kde bude ID jedna a po kazdem jednom cyklu se mi toto ID zvetsi o jedna... nejak se mi ale nedari to zprovoznit... pomuzete mi prosim nekdo? verim ze to bude jen otazka par radku kdyz uz to vpodstate skoro mam hotove. Predem dekuji za rady. a zde kod: <?php $vysledeknadpis = mysql_query("SELECT * FROM cenik_nadpis ORDER BY id", $spojeni); while ($zaznam2 = mysql_fetch_array($vysledeknadpis) ){ echo " <table width=\"400\" cellspacing=\"0\" summary=\"pece o ruce\" class=\"tabulka1\"> <caption class=\"tabulka_nadpis\"> ".$zaznam2['nadpis']." </caption>"; $vysledek = mysql_query("SELECT * FROM cenik ORDER BY id", $spojeni); while ($zaznam = mysql_fetch_array($vysledek) ){ echo "<tr>"; echo "<td class='cenik1'>"; echo $zaznam["popis_sluzby"]; echo "</td>"; echo "<td>"; echo $zaznam["cena_sluzby"]; echo " Kč"; echo "</td>"; echo "</tr>"; } } ?> ps. je to aspon trochu srozumitelne? jsem uz nejaky unaveny :( |
||
slovakCZ Profil |
#2 · Zasláno: 1. 9. 2009, 21:09:40 · Upravil/a: slovakCZ
aha, tak uz vim... jen drobnost stacila... ve vysledku to bude takto:
<?php $vysledeknadpis = mysql_query("SELECT * FROM cenik_nadpis ORDER BY id", $spojeni); $m = 1; while ($zaznam2 = mysql_fetch_array($vysledeknadpis) ){ echo "<table width=\"400\" cellspacing=\"0\" summary=\"pece o ruce\" class=\"tabulka1\"> <caption class=\"tabulka_nadpis\"> ".$zaznam2['nadpis']." </caption>"; $vysledek = mysql_query("SELECT * FROM cenik WHERE id_nadpis=".$zaznam2["id"]." ORDER BY id", $spojeni); while ($zaznam = mysql_fetch_array($vysledek) ){ echo "<tr>"; echo "<td class='cenik1'>"; echo $zaznam["popis_sluzby"]; echo "</td>"; echo "<td>"; echo $zaznam["cena_sluzby"]; echo " Kč"; echo "</td>"; echo "</tr>"; } } ?> |
||
tiso Profil |
#3 · Zasláno: 2. 9. 2009, 01:22:36
slovakCZ: tvoje riešenie je neefektívne, na výpis cenníka potrebuješ 1+n dotazov kde n je počet riadkov v tabuľke s nadpismi. Ide to jedným dotazom, inšpiruj sa v téme: Spojení více tabulek (v tom mojom kóde chýba $ pred row na riadku 3)
|
||
Časová prodleva: 15 let
|
0