Autor | Zpráva | ||
---|---|---|---|
Jack06 Profil |
#1 · Zasláno: 29. 3. 2008, 19:11:38
Mám dotaz, jestli lze vybírat na jedné stránce ze dvou tabulek. Jedná se mi o přizpěvky vedené jako forum. Mám 3 tabulky
>>Kategorei ->Témata ->Přízpěvky A chci aby se mi na základní stránce vypsal jeden pruh se jménem kategorie a pod ním se s odrážkou vypsali všechny témata pod touto kategorií. Bohužel Kategorii beru z jedné tabulky a témata z další. Pls poraďte jakkoliv. Jak mám buď strukturovat tabulky nebo jak vybrat z více na jedné stránce. Děkuji |
||
Alphard Profil |
#2 · Zasláno: 29. 3. 2008, 19:43:35
jestli lze vybírat na jedné stránce ze dvou tabulek
třeba z tisíce A chci aby se mi na základní stránce vypsal jeden pruh se jménem kategorie a pod ním se s odrážkou vypsali všechny témata pod touto kategorií. něco jako select * from temata join kategorie order by sloupec |
||
Časová prodleva: 6 dní
|
|||
Jack06 Profil |
#3 · Zasláno: 4. 4. 2008, 15:50:42
CREATE TABLE `kategorie` ( `id` int(11) NOT NULL auto_increment, `kategorie` varchar(50) character set cp1250 collate cp1250_czech_cs NOT NULL, UNIQUE KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1250 COLLATE=cp1250_czech_cs AUTO_INCREMENT=1 ; CREATE TABLE `obsah` ( `id` int(11) NOT NULL auto_increment, `kategorie` varchar(50) character set cp1250 collate cp1250_czech_cs NOT NULL, `obsah` varchar(50) character set cp1250 collate cp1250_czech_cs NOT NULL, `popisek` varchar(255) character set cp1250 collate cp1250_czech_cs NOT NULL, UNIQUE KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1250 COLLATE=cp1250_czech_cs AUTO_INCREMENT=1 ; Ok tohle mi vytvoří vdě tabulky kategorie a obsah, Do tabulky kategorie vytvořím 3 přízpěvky: a //toto má id 1 a kategorie a v tabulce kategorie b //toto má id 2 a kategorie b v tabulce kategorie c //toto má id 3 a kategorie c v tabulce kategorie Do tabulky obsah přidám přízpěvek neco1 //toto má id 1, kategorie 1, obsah neco1, popisek zatím žádný v tabulce obsah neco2 //toto má id 2, kategorie 1, obsah neco2, popisek zatím žádný v tabulce obsah neco3 //toto má id 3, kategorie 1, obsah neco3, popisek zatím žádný v tabulce obsah Tak a nyní chco udělat okenko: První řádek: Název kategorie (výběr z tabulky kategorie) Druhý řádek: Název obsahu (vypiše se xkrát podle počtu záznamů v kategorii)(výběr z tabulky obsah) Prosím jak na to?? Nevím jak použít ten příkaz pořád mi to nejde vypisovat. Děkuji. |
||
Kajman_ Profil * |
#4 · Zasláno: 4. 4. 2008, 16:32:09
CREATE TABLE `kategorie` ( `id` int(11) NOT NULL auto_increment, `kategorie` varchar(50) character set cp1250 collate cp1250_czech_cs NOT NULL, UNIQUE KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1250 COLLATE=cp1250_czech_cs AUTO_INCREMENT=1 ; CREATE TABLE `obsah` ( `id` int(11) NOT NULL auto_increment, `id_kategorie` int(11) NOT NULL, `obsah` varchar(50) character set cp1250 collate cp1250_czech_cs NOT NULL, `popisek` varchar(255) character set cp1250 collate cp1250_czech_cs NOT NULL, UNIQUE KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1250 COLLATE=cp1250_czech_cs AUTO_INCREMENT=1 ; select k.kategorie, o.obsah, o.popisek from kategorie k, obsah o where k.id=o.id_kategorie order by k.id,o.id |
||
Jack06 Profil |
#5 · Zasláno: 4. 4. 2008, 23:11:45
tohle je cross join ne?? nejde to přez left join???
|
||
Jack06 Profil |
#6 · Zasláno: 5. 4. 2008, 10:04:44
A jak pomoci proměnné vyberu id z gategorie a id z obsahu??
|
||
Jack06 Profil |
#7 · Zasláno: 5. 4. 2008, 10:48:56
Už jsem to vyřešil , ale ještě nevím proč když to vypisuju na obrazovku tak mám toto:
<div id='ramec'> <div id='kategorie'><strong><a href='?cat=".$zn["i"]."'>".$zn["kategorie"]."</a></strong> <div id='obsah'><strong><a href='?cat=".$zn["i"]."&req=".$zn["o"]."'>".$zn["obsah"]."</a></strong></div> </div> </div> Chci aby se mi to vypsalo takto: Pokec Hry Software Design Mobily Novinky Prezentace Hodnoceni ale hazi se mi to takto: Pokec Hry Pokec Software Pokec Design Mobily Novinky Mobily Prezentace Mobly Hodnocení Prosím nevíte proč??? |
||
nightfish Profil |
#8 · Zasláno: 5. 4. 2008, 10:56:00
Prosím nevíte proč???
vypisuje se ti to přesně tak, jak máš uvedeno v kódu kýženého výsledku dosáhneš třeba tak, že si budeš pamatovat poslední vypsanou "kategorii" (Pokec, Mobily) a když se nebude aktuální od poslední lišit, tak ji nevypíšeš... |
||
Jack06 Profil |
#9 · Zasláno: 5. 4. 2008, 22:42:06
No pěkný a to napíšu v kódu jak?? Jsem s výpisem nikdy problem neměl ale teď poslední dobou mi nic nejde.
|
||
Kajman_ Profil * |
#10 · Zasláno: 6. 4. 2008, 10:01:06
while cosi
{ if($last_kat!=$zn["i"]) { if ($last_kat!="") echo "</div>"; echo "<div id='kategorie'><strong><a href='?cat=".$zn["i"]."'>".$zn["kategorie"]."</a></strong>"; } echo "<div id='obsah'><strong><a href='?cat=".$zn["i"]."&req=".$zn["o"]."'>".$zn["obsah"]."</a></strong ></div>"; } if ($last_kat!="") echo "</div>"; |
||
Jack06 Profil |
#11 · Zasláno: 6. 4. 2008, 10:56:40
mysql_query("SET CHARACTER SET cp1250"); $vy=mysql_query("select k.kategorie, o.obsah, o.popisek, o.id o, k.id i from kategorie k, obsah o where k.id=o.id_kategorie;"); while ($zn=MySQL_Fetch_Array($vy)) { if($last_kat!=$zn["i"]) { if ($last_kat!="") echo "</div>"; echo "<div id='kategorie'><strong><a href='?cat=".$zn["i"]."'>".$zn["kategorie"]."</a></strong>"; } echo "<div id='obsah'><strong><a href='?cat=".$zn["i"]."&req=".$zn["o"]."'>".$zn["obsah"]."</a></strong ></div>"; } if ($last_kat!="") echo "</div>"; To je fajn ještě dotaz proměnnou lastcat musím předem nějak uvest jinak neexistuje. Pak by mě zajímalo jako jakej výpis se bere. Tohle je kód s tím co jsi napsal, bohužel potřebuju někde uvést co $last_kat je. Díky |
||
Jack06 Profil |
#12 · Zasláno: 6. 4. 2008, 11:02:26 · Upravil/a: Jack06
Možná už to mám
/// tak nemám |
||
Časová prodleva: 6 dní
|
|||
Jack06 Profil |
#13 · Zasláno: 12. 4. 2008, 21:04:50
Hotovo LOCKED
|
||
Časová prodleva: 15 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0