Autor | Zpráva | ||
---|---|---|---|
skrepyKOKO Profil |
#1 · Zasláno: 16. 8. 2011, 23:08:31
ahoj,mám 2 tabulky,jednu články druhou kategorie...
v kategorie mám ID a nazev v články mám kategorie(id kategorie) v clanky.php vyvolávám kategorii tak,že vytáhnu záznam z tabulky clanky sloupec kat kde se mě objeví vlastně ID té kategorie... $vysledek = mysql_query("SELECT *, UNIX_TIMESTAMP(datum) as datumcas FROM clanky ORDER BY id_clanku DESC LIMIT ".intval($stranka).",$po"); // připojení if(!$vysledek) throw new Exception( mysql_errno() ); while($zaznam=mysql_Fetch_array($vysledek)) { $idecko=$zaznam["kategorie"]; // vytáhnutí z tabulky clanky sloupec kategorie $kat = mysql_query("SELECT id,zaznam FROM kategorie WHERE id='$idecko'"); // má vybrat id kategorie podle id kategorie v clanky. ?> <? echo $kat["zaznam"]; ?> //vyvolání název kategorie zkusil jsem udělat toto,jenže mě to nějak nejde...nevíte kde je chyba? |
||
skrepyKOKO Profil |
#2 · Zasláno: 16. 8. 2011, 23:23:42
tak jsem to asi vyřešil..ale ještě se chci zeptat,může bejt v jednom php souboru 2x while?
|
||
Medvídek Profil |
#3 · Zasláno: 16. 8. 2011, 23:27:04
skrepyKOKO:
Proč by nemohlo? |
||
skrepyKOKO Profil |
#4 · Zasláno: 16. 8. 2011, 23:29:29
já jen tak:) jelikož se mě to nejdřív zdálo divný...tak jsem se jen zeptal:)
|
||
skrepyKOKO Profil |
#5 · Zasláno: 17. 8. 2011, 19:55:59
abych nezakládal nový tema tak to napíšu sem,ono to stejnak spolu souvisí..
mám kategorie,ono to vše funguje,ale..prostě to jde přiřadit jen k jedné kategorie,jak udělat sloupec aby to šlo přiřadit k více kategorii? mám tabulka kategorie id | nazev v tabulce kategorie mám zatím jen dvě, ID 1 - název: novinky ID 2 - název: ostatní tabulka clanky id_clanku | kategorie id článku 1 kat 1 funguje mě to tak,že mám tabulku kategorie s clanky spojený,že když mám v tabulce clanky kat na 1 tak mě to najde v tabulce kategorie že 1=novinky pak jen echo.. no,ale jde to pouze pro jednu kategorii,myslím tím,že jde vybrat jen jedna kategorie..jelikož do sloupce kat asi nejde udělat 1,2.. chtěl bych udělat že bych měl přes checkbox udělanou tabulku kde by byly všechny ty kategorie při vytváření článku,udělá článek a zaškrtne to co chce zařadit jako tu kategorii.. ale nevím bohužél jak to udělat pro více kategorii.. snad jste pochopily co po vás chci... jestli chcete php kodu tak zde: <?php require_once "otevridb.php"; try { OtevriDB(); if(empty($_GET["stranka"])) {$stranka = 0;} else {$stranka = $_GET["stranka"];} $po = 5; $vysledek = mysql_query("SELECT *, UNIX_TIMESTAMP(datum) as datumcas FROM clanky ORDER BY id_clanku DESC LIMIT ".intval($stranka).",$po"); if(!$vysledek) throw new Exception( mysql_errno() ); while($zaznam=mysql_Fetch_array($vysledek)) { ?> vlastně pro načtení všeho v tabulce clanky,pak jen dávam echo pro výpis.. <? $idecko=$zaznam["kategorie"]; $kat = mysql_query("SELECT * FROM kategorie WHERE id='$idecko'"); while($zaznam2=mysql_Fetch_array($kat)) {?> <strong>Kategorie:</strong> <a href="kategorie.php?kat=<? echo $zaznam["kategorie"]; ?>"><? echo $zaznam2["zaznam"]; ?></a> <? } ?> Tady je je právě co,kde vypisuju co je to za kategorii... myslím že stránka kategorie.php je zbytečná abych jí sem dával..je tam jen kontrola zda se jedná to tu kategorii a výpis..nic jinýho |
||
Majkl578 Profil |
#6 · Zasláno: 18. 8. 2011, 05:40:25
skrepyKOKO:
„jak udělat sloupec aby to šlo přiřadit k více kategorii“ Blbě. Použij M:N vazbu skrz třetí tabulku, kde budou uložené vazby mezi články a kategoriemi. Tzn. budeš mít 3 tabulky: 1. kategorie (stejně jako teď):
id | nazev | ...
2. clanky :
id | ... (tady nebude sloupec kategorie)
3. clanky_kategorie (nebo podobné pojmenování): clanek_id | kategorie_id (obojí budou cizí klíče, první na clanek.id , druhé na kategorie.id )
<poučování> Nikdy nepoužívej krátké otvírací tagy ( <? ), pouze <?php . A nauč se přehledně formátovat kód, zejména dodržovat odsazování a logické členění a smysluplně pojmenovávat proměnné, v tomhle se nedá vyznat.
Nevypadá [#5] takhle lépe? <? phprequire_once "otevridb.php"; try { OtevriDB(); if (empty($_GET["stranka"])) { $stranka = 0; } else { $stranka = $_GET["stranka"]; } $po = 5; $vysledek = mysql_query("SELECT *, UNIX_TIMESTAMP(datum) as datumcas FROM clanky ORDER BY id_clanku DESC LIMIT " . intval($stranka) . ",$po"); if (!$vysledek) throw new Exception(mysql_errno()); while ($zaznam = mysql_fetch_array($vysledek)) { ?> <?php $idecko = $zaznam["kategorie"]; $kat = mysql_query("SELECT * FROM kategorie WHERE id='$idecko'"); while ($zaznam2 = mysql_Fetch_array($kat)) { ?> <strong>Kategorie:</strong> <a href="kategorie.php?kat=<?php echo $zaznam["kategorie"]; ?>"><?php echo $zaznam2["zaznam"]; ?></a> <?php } ?> |
||
skrepyKOKO Profil |
#7 · Zasláno: 18. 8. 2011, 11:13:23 · Upravil/a: skrepyKOKO
no,díky moc:),nejdřív jsem stím měl problémy,ale pak jsem nato přišel:)
|
||
skrepyKOKO Profil |
#8 · Zasláno: 18. 8. 2011, 20:34:00 · Upravil/a: skrepyKOKO
ahoj,tak zase otravuju...
pořebuju nějak udělat,upravu článku...jako uprava článku jde,ale jde o tohle když vytvářím článek,tak tam mám kategorie v checkboxu..a jde mě o to,že když při vytvoření článku zatrhnu třeba novinky,tak aby to při upravě článku bylo zatrhlý...napadlo mě udělat to přes if,na proměnnou,ale když jsem začal psát,tak mě najedou nic nenapadlo jak bych to měl asi tak udělat... tabulka i php je stejný (nahoře) udělal jsem to zatím takhle...v tabulce kategorie_spoj jsem vytvořil sloupec check a při vytvoření článku se tam zapíše checked.. a pak to dosadit do checkboxu <input type="checkbox" name="C1" value="ON" <? echo $katt["check"]; ?>> jenže problém je v tom,že mě to ukazuje 2x... php: <?php $vysledek = mysql_query("SELECT * FROM clanky WHERE id_clanku='{$_REQUEST['IDCL']}'"); while($zaznam=mysql_Fetch_array($vysledek)) { $clanek=$zaznam["id_clanku"]; $kategorie_spoj = mysql_query("SELECT * FROM kategorie_spoj WHERE id_clanku='$clanek'"); while($katt=mysql_Fetch_array($kategorie_spoj)) { $ha=$katt["id_kategorie"]; $kategorie = mysql_query("SELECT id,zaznam FROM kategorie WHERE id='$ha'"); while($kat=mysql_Fetch_array($kategorie)) { <td><input type="checkbox" name="C1" value="ON" <? echo $katt["check"]; ?>> <? echo $kat["zaznam"]; ?></td><br> ... ?> nevíte proč mě to vypisuje 2x? |
||
Časová prodleva: 14 let
|
0