Autor | Zpráva | ||
---|---|---|---|
Petrav Profil * |
#1 · Zasláno: 26. 12. 2004, 23:18:51
Mám zřejmě triviální dotaz, ale zkusím to:
když si na stránky vypíšu z databáze úvodní odstavce třeba 10 článků, jak má vypadat odkaz, který mi z databáze načte celý článek a otevře ho na nové stránce? Díky za ochotu. |
||
Leo Profil |
#2 · Zasláno: 26. 12. 2004, 23:21:13
No proste z te databaze misto jednoho odstavce pro deset clanku nactes vsehny odstavce pro jeden clanek. Leo
|
||
Petrav Profil * |
#3 · Zasláno: 26. 12. 2004, 23:32:28
no, to je mi jasný, nemůžu ale přijít na to, jak to udělat, aby se mi otevřel ten správný článek, asi to vysvětluju úplně blbě, ach jo.
když to zjednoduším, vypadá ten skript takto: $dotaz = "SELECT nazev, perex, ID_clanku FROM t_clanky ORDER BY vlozeno DESC LIMIT 10"; $výsledek = @mysql_query ($dotaz); //spustí dotaz if ($výsledek) { //je-li vše ok while ($řádek = mysql_fetch_array($výsledek, MYSQL_NUM)) { echo "<h3><a href=???tohle právě nevím????>$řádek[0]</a></h3> $řádek[1] \n "; } } else { //něco nevyšlo echo '<p>Při načítání stránky došlo k systémové chybě. Omlouváme se.</p><p>'. mysql_error(). '</p>'; } ještě jednou dík |
||
thingwath Profil * |
#4 · Zasláno: 26. 12. 2004, 23:46:02
No, tam právě musí být odkaz na skript, který ten článek vypíše :-) Takže třeba něco ve tvaru [code]skript.php?clanek=$řádek[2][/code].
V odkazovaném skriptu pak bude nutné (nejlepší bude, když se odkážete přímo na tenhle) přidat test na proměnnou $_GET['clanek'] a podle toho z databáze vytáhnout celý článek a vypsat ho. |
||
thingwath Profil * |
#5 · Zasláno: 26. 12. 2004, 23:49:40
Odkaz to sám o sobě nevyřeší :-) Napsal bych to asi takhle (taky zjednodušeně):
|
||
thingwath Profil * |
#6 · Zasláno: 26. 12. 2004, 23:50:56
u isset chybí uzavření závorky, takhle to vypadá, když píšu bez zvýrazňování párů závorek :-)
|
||
Petrav Profil * |
#7 · Zasláno: 27. 12. 2004, 11:42:55
super, hned vyzkouším, díky moc
|
||
Petrav Profil * |
#8 · Zasláno: 27. 12. 2004, 14:23:07
tak nevím, pořád dělám někde chybu, nějak mi to nefunguje
momentálně jsem splácala tohle: if (isset($_GET['clanek'])) { $dot = "SELECT nazev, text FROM t_clanky WHERE ID_clanku='.$_GET['clanek']'"; $vysl = @mysql_query ($dot); // a tady ten vysledek nejak vypsat... while ($položka = mysql_fetch_array($vysl, MYSQL_NUM)) { echo "<h2>$položka[0]</h2> $položka[1] \n "; } }else{ //dotaz na DB $dotaz = "SELECT nazev, perex, ID_clanku FROM t_clanky ORDER BY vlozeno DESC LIMIT 10"; $výsledek = @mysql_query ($dotaz); //spustí dotaz if ($výsledek) { //je-li vše ok while ($řádek = mysql_fetch_array($výsledek, MYSQL_NUM)) { echo "<h3><a href=\"skript.php?clanek=$řádek[2]\">$řádek[0]</a></h3> $řádek[1] \n "; } } else { //něco nevyšlo echo '<p>Při načítání stránky došlo k systémové chybě. Omlouváme se.</p><p>'. mysql_error(). '</p>'; } } |
||
thingwath Profil * |
#9 · Zasláno: 27. 12. 2004, 22:09:32
Jak na to koukám, tak se ti moc nepovedl ten přepis SQL dotazu. ID_clanku je předpokládám číslo?
Každopádně bude v proměnné $dot asi něco takového
Přepsal bych druhý řádek asi takhle
To všechno za předpokladu, že ID_cislo je v databázi uloženo nějakým znakovým datovým typem, pokud není, tak by tam ty uvozovky '' byly nadbytečné - v případě že je ID_cislo nějaký číselný datový typ, tak použij SQL dotaz z mého prvního příkladu. |
||
thingwath Profil * |
#10 · Zasláno: 27. 12. 2004, 22:10:09
A nebo možná spíš tvoje řešení píše chybu parseru, teď si nejsem jist.
|
||
thingwath Profil * |
#11 · Zasláno: 27. 12. 2004, 22:17:03
Kdyby to nešlo, tak popiš jak to nejde, abych se nemusel dohadovat čím to je.
|
||
Petrav Profil * |
#12 · Zasláno: 27. 12. 2004, 22:47:14
FUNGUJE to!!! díky moc
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0