Autor | Zpráva | ||
---|---|---|---|
seti Profil * |
#1 · Zasláno: 6. 2. 2006, 17:02:27
Zdravím,
napsala jsem si návštěvní knihu a chtěla jsem si do ní vložit odstránkování příspěvků. Postupovala jsem podle různých návodů na internetu a nevím si s tím rady. Tady je výsledek mého snažení: <form name="navstevnikniha" action="kniha1.php?poz=0" class="formular_kniha" method="get" id="form"> …... <input type="submit" name="odeslat" value="ODESLAT" /> ….... //strankovani $max = "15"; //pocet prispevku, kolik se ma zobrazit na 1 strane $prispevku = mysql_query("SELECT count(*) FROM kniha ORDER BY id_kniha DESC"); //zjistime, kolik je celkem prispevku $celkem = mysql_fetch_array($prispevku); $str = ceil($celkem[0]/$max);//podelime celkovy pocet prispevku poctem prispevku kolik ma byt na strance echo"<br><center>Strana:"; for($i=0;$i<$str;$i++) { //cyklus na vypsani stranek if(($i*$max)==$poz)echo $i+1; else //pokud jsme na dane strane, nevypisujeme ji jako odkaz, ale jako text echo "<a href='kniha1.php?poz=".($i*$max)."'>".($i+1)."</a>"; } echo "</center><br><br>"; //konec strankovani $dotaz= "SELECT jmeno, e_mail, web, vzkaz, datum FROM kniha ORDER BY id_kniha DESC LIMIT $poz,$max"; //dotaz k vypsani vsech vzkazu v databazi $qq = mysql_query($dotaz); if ($qq) { ….... a tady to vypisuje chybu: chyba pri provadeni dotazu SELECT jmeno, e_mail, web, vzkaz, datum FROM kniha ORDER BY id_kniha DESC LIMIT ,15 k DB: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '15' at line 1 poradíte mi někdo pls, kde dělám chybu? |
||
gaminn Profil * |
#2 · Zasláno: 6. 2. 2006, 17:53:49
Vyzkoušej si SQL dotaz, něco v něm není správně, zkontroluj, zda existuje jméno tabulky, ze které získáváš data a zda v ní jsou uvedené sloupce.
|
||
Glacier Profil |
#3 · Zasláno: 6. 2. 2006, 18:48:58
LIMIT ,15 ta čárka tam rozhodně nepatří ale nevím jestli to pomůže
|
||
seti Profil * |
#4 · Zasláno: 6. 2. 2006, 19:06:11
Dokud v tom dotazu nebyl ten LIMIT, tak to fungovalo. Nemohlo by to být tou proměnnou $poz? Když jsem tam vložila $poz=1, tak databáze funguje. Vypíše se 15 vzkazů a dva odkazy na další stránky. Na stránku 1 (na ten když kliknu tak v url je kniha1.php?poz=0) a na stránku 2 (na ten když kliknu, tak je v url kniha1.php?poz=15 (zde by asi mělo být kniha1.php?poz=2?)).
Tak mě to připadá, jakoby ta proměnná poz byla prázdná, ale nevím, jak ji nadefinovat, aby to fungovalo jak má. Jestli někdo víte, prosím poraďte. Předem díky. |
||
seti Profil * |
#5 · Zasláno: 6. 2. 2006, 19:08:19
před tou čárkou, tam by měla patřit hodnota té proměnné poz.
|
||
seti Profil * |
#6 · Zasláno: 6. 2. 2006, 20:04:25
nevíte nikdo, co s tím?
|
||
djlj Profil |
#7 · Zasláno: 6. 2. 2006, 20:14:40
Vlož si těsně před select
echo $poz; die(); A hned budeš vědět, co je v $poz a jestli je to touto proměnnou ;). |
||
seti Profil * |
#8 · Zasláno: 6. 2. 2006, 20:42:53
no, není tam nic.....
|
||
djlj Profil |
#9 · Zasláno: 6. 2. 2006, 20:53:26
No... a kde máš tu proměnnou definovanou? Vidím ji tam jen jednou v podmínce a to je všechno ...
|
||
seti Profil * |
#10 · Zasláno: 6. 2. 2006, 21:03:01
No to je právě to, dělala jsem to podle návodu, co jsem našla na internetu a taky to tam nikde nevidím.
Je to tohle: http://www.pcsvet.cz/art/article.php?id=5219 . Návštěvní knihu jsem použila svou a odstránkování odtud. Moc tomuto kódu nerozumím, tak nevím, jak to upravit, aby to fungovalo. |
||
djlj Profil |
#11 · Zasláno: 6. 2. 2006, 21:05:24
Proto, musí být url adresa na knihu nějak takto: kniha.php?poz=0. Pokud tam nebude napsáno poz=0, tak skript vypíše chybu.
Vypisuješ adresu knihy v tomto formátu? Případně si tam někam na začátek dej podmínku: if($poz==""){ $poz=0; } |
||
seti Profil * |
#12 · Zasláno: 6. 2. 2006, 21:23:25
Když jsem tam dala tuto podmínku, tak to nevypsalo vůbec nic z databáze. Před dotazem na databázi jsem dala vypsat co je v $poz, byla tam ta na začátku nastavená nula.
|
||
djlj Profil |
#13 · Zasláno: 6. 2. 2006, 21:26:28
A co to vypíše, když zadáš SQL dotaz v phpmyadminu
SELECT jmeno, e_mail, web, vzkaz, datum FROM kniha ORDER BY id_kniha DESC LIMIT 0,15 ? |
||
seti Profil * |
#14 · Zasláno: 6. 2. 2006, 21:35:03
To vypadá v pořádku. Vypíše to 15 záznamů těch nejčerstvějších.
|
||
djlj Profil |
#15 · Zasláno: 6. 2. 2006, 21:52:15
ok, jak máš $dotaz = ...
tak pod to si dej echo $dotaz; die(); co to vypíše? |
||
seti Profil * |
#16 · Zasláno: 6. 2. 2006, 21:59:23
vůbec nic.
|
||
djlj Profil |
#17 · Zasláno: 6. 2. 2006, 22:17:16
seti
Určitě jsi to dala až pod $dotaz= "SELECT jmeno, e_mail, web, vzkaz, datum FROM kniha ORDER BY id_kniha DESC LIMIT $poz,$max";?? |
||
seti Profil * |
#18 · Zasláno: 6. 2. 2006, 22:18:15
určitě.
|
||
djlj Profil |
#19 · Zasláno: 6. 2. 2006, 22:19:50
Hmm, zajímavé :). Už mě jen napadá, že tam můžou být blbě uvozovky, tak zkus
$dotaz= "SELECT jmeno, e_mail, web, vzkaz, datum FROM kniha ORDER BY id_kniha DESC LIMIT ".$poz.",".$max.""; |
||
seti Profil * |
#20 · Zasláno: 6. 2. 2006, 22:24:05
úplně to stejný. To vypadá dost beznadějně, co?
|
||
djlj Profil |
#21 · Zasláno: 6. 2. 2006, 22:26:07 · Upravil/a: djlj
A píšeš adresu té knihy ve formátu "kniha.php?poz=0" (můžeš sem napsat odkaz)?
|
||
Raider Profil |
#22 · Zasláno: 6. 2. 2006, 22:30:46
Nie som si istý, ale podľa mna je chyba v tom, že používaš nesprávne ORDER BY id_kniha. Skús iba normálne ORDER BY id. Viď nasledovný kód:
$dotaz= "SELECT jmeno, e_mail, web, vzkaz, datum FROM kniha ORDER BY id DESC LIMIT $poz,$max"; |
||
Raider Profil |
#23 · Zasláno: 6. 2. 2006, 22:34:17
A tuto sa mi to tiež nezdá:
$prispevku = mysql_query("SELECT count(*) FROM kniha ORDER BY id_kniha DESC"); Skús toto: $prispevku = mysql_query("SELECT count(*) FROM kniha ORDER BY id DESC"); Napíš či ti to pôjde. Malo by to ísť. |
||
djlj Profil |
#24 · Zasláno: 6. 2. 2006, 22:35:32
Raider
Slečna (snad jsem se trefil :)) psala, že si z kódu na intervalu vzala jen to stránkování, takže tohle má snad dobře ... no uvidíme ... |
||
seti Profil * |
#25 · Zasláno: 6. 2. 2006, 22:53:01
ten sloupeček jsem pojmenovala id_kniha. Odkaz je tady: http://obec-studnice.cz/pok/kniha1.php?poz=0 . Do té doby, než jsem se pokusila o stránkování, tak to fungovalo. Dotazy jsou stejný.
|
||
djlj Profil |
#26 · Zasláno: 6. 2. 2006, 22:56:04
Ta 0 dole je echo $poz; ?
|
||
seti Profil * |
#27 · Zasláno: 6. 2. 2006, 23:00:18
jo, to je ono
|
||
Raider Profil |
#28 · Zasláno: 6. 2. 2006, 23:01:20 · Upravil/a: Raider
djlj
Slečna (snad jsem se trefil :)) Hehe, tak toto sa mi ešte nestalo. Podľa čoho si to usúdil ? Inak som muž (pozri slovo "Raider" v slovníku) ;-) seti Aha. Tak potom skús pridať to id_kniha aj do SELECT-u. $dotaz= "SELECT id_kniha,jmeno, e_mail, web, vzkaz, datum FROM kniha ORDER BY id_kniha DESC LIMIT $poz,$max"; |
||
djlj Profil |
#29 · Zasláno: 6. 2. 2006, 23:03:33 · Upravil/a: djlj
Raider
To vím, myslel jsem totiž "seti" (přečti si můj příspěvek ještě jednou). Čím tomu pomůže, že to tam přidá? seti, nechceš někam v texťáku hodit komplet zdroják? Líp by se v tom orientovalo ... Ta proměnná $poz; se ti někde přepisuje na nulu! |
||
seti Profil * |
#30 · Zasláno: 6. 2. 2006, 23:04:42
Udělala jsem to tak a zase nic.
|
||
Téma pokračuje na další straně.
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0