Autor | Zpráva | ||
---|---|---|---|
Venushja Profil |
#1 · Zasláno: 21. 5. 2009, 18:38:13
Zdravim..
mam problem snazim se udelat nejakj script kterej by ti zkontroloval pokud v db bude id 1 ze se ukaze clanek ale kdyz tam nebude id 1 tak se ukaze hlaska Ze clanek neexistuje zkousel jsem to pres podminku $db[id]==$db[id] ale nefunguje to mam delanej vypis pres ?id=x (x == cislo) ale kdyz tam treba dam id 2 a v db neni tak se normalne ukaze prazdnej obsah na strance ale ja chci aby se tam ukazala ta hlaska ze clanek neexistuje... Nemuzete prosim nejak pomoci ? Dekuji |
||
Yur4Y Profil |
#2 · Zasláno: 21. 5. 2009, 18:40:18 · Upravil/a: Yur4Y
Máte to rozbité.
Bez celého kódu a zrozumiteľného popisu vám nemôžeme pomôcť. |
||
Mastodont Profil |
#3 · Zasláno: 21. 5. 2009, 18:46:50
Načíst data dotazem, když bude počet záznamů nulový, vypsat hlášku.
|
||
Venushja Profil |
#4 · Zasláno: 21. 5. 2009, 18:51:42
No ja nevim jak to lip vysvetlit ale pokusim se...
Takze mam script kterej mi podle id vypisuje z db nejaky texty atd no a proste chci udelat kdyz mam napr jenom 1 zaznam v Db s id 1 a do adresy se napise ?id=1 tak se ten text atd zobrazi ale co kdyz tam nekdo napise misto jednicky dvojku? a kdyz se tam teda napise ta 2 tak se nezobrazi zadnej text a nic tak chci udelat nejak aby se proste ukazalo ze Clanek Neexistuje...Jde to nejak udelat pres podminku?nebo nejak jinak ? |
||
Venushja Profil |
#5 · Zasláno: 21. 5. 2009, 18:52:12
Mastodont
No ale nevim jak to udelat prave... |
||
Nox Profil |
#6 · Zasláno: 21. 5. 2009, 19:05:25
zjistíš počet získaných záznamů pomocí mysql_num_rows, pokud bude 0, tak to nic nenašlo
|
||
Mastodont Profil |
#7 · Zasláno: 21. 5. 2009, 19:06:44
$result = mysql_query("...", $link); $num_rows = mysql_num_rows($result); if ( $num_rows ) { ... vypsat článek } else { .... } |
||
Venushja Profil |
#8 · Zasláno: 21. 5. 2009, 19:14:57
Mastodont
„$result = mysql_query("...", $link);“ Co patri do toho $link ? |
||
Jan Tvrdík Profil |
#9 · Zasláno: 21. 5. 2009, 19:18:07
Venushja:
Výsledek funkce mysql_connect, ale klidně to smaž. Ten parametr je nepovinný. |
||
Venushja Profil |
#10 · Zasláno: 21. 5. 2009, 19:28:06 · Upravil/a: Venushja
Nejak to nefunguje Nevite proc?
Edit Clanek to vypise ale neukaze to ze clanek neexistuje... |
||
Jan Tvrdík Profil |
#11 · Zasláno: 21. 5. 2009, 19:29:52
Venushja:
A máš v else větvi nějaké oznámení neexistence článu? |
||
Venushja Profil |
#12 · Zasláno: 21. 5. 2009, 19:34:19
Davam sem script aby jste se koukli jestli to mam vubec dobre....(Prosim nekomentujte jak mam napsanej script ale jenom tu funkci c me nejde:-d)
case $db[id] : $result = MySQL_Query("SELECT * FROM clanky ORDER BY id Desc"); $num_rows = mysql_num_rows($result); if ( $num_rows ){ echo"<title> $stranka >> $db[nazev]</title> <center><br><table border='1' bordercolor='white' cellpadding='5' cellspacing='0' width='70%'> <tr> <td colspan='2'><center><font size='4'>$db[nazev]</center></td></tr> <tr> <td width='35%'><center><font size='2'>Přidal $db[autor]</td> <td width='35%'><center><font size='2'>Přidáno $db[datum]</td> </tr> <tr> <td colspan='2'><center><font size='2'>$db[text]</center></td></tr> </tr>"; $bbb = MySQL_Query("SELECT * FROM admsetting ORDER BY id Desc"); $uuu = MySQL_Query("SELECT count(*) FROM admsetting"); $ttt = MySQL_Fetch_Array($uuu); while ($db= MySQL_Fetch_Array($bbb)): $ipadresa = $db[ip]; $ip = $_SERVER["REMOTE_ADDR"]; $pass = $db[heslo]; endwhile; if($ip == $ipadresa){ echo"<form method='post' action='admin.php?upravit=$idecko&pass=$pass'> <td width='35%'><center><font size='2'><input type='submit' value='Upravit Článek ($nazevcl)'></td></form> <form method='post'> <td width='35%'><center><font size='2'> <input type='submit' class='input' name='vymaz' value='Vymazat Článek ($nazevcl)'> <input type='hidden' class='input' name='vymaz' value='vymazano'> <input type='hidden' class='input' name='id' value='$idecko'></td></form> </table><br>"; }else{ echo" </table><br>"; }; if($vymaz=="vymazano"){ MySQL_Query("DELETE FROM `clanky` WHERE `clanky`.`id` = $idecko LIMIT 1;"); echo"Mažu Přesměrovávám"; Header("Location: index.php");}; }else{ echo"Tento Článek Neexistuje"; }; break; |
||
Mastodont Profil |
#13 · Zasláno: 21. 5. 2009, 20:05:25
Venushja
Ve správné větvi to máš, ale ty načítáš všechny články, ne jen jeden. $result = MySQL_Query("SELECT * FROM clanky ORDER BY id Desc"); A v této části while ($db= MySQL_Fetch_Array($bbb)): $ipadresa = $db[ip]; $ip = $_SERVER["REMOTE_ADDR"]; $pass = $db[heslo]; endwhile; načítáš záznamy z admsetting, ale ukládáš je pořád do stejných proměnných, takže ti tam nakonec zůstanou hodnoty z posledního záznamu (a tudíž je zbytečné načítat vše). |
||
Venushja Profil |
#14 · Zasláno: 21. 5. 2009, 20:07:38
Mastodont
„while ($db= MySQL_Fetch_Array($bbb)): $ipadresa = $db[ip]; $ip = $_SERVER["REMOTE_ADDR"]; $pass = $db[heslo]; endwhile;“ U tohoto me to je jedno ale spis jak to nacist podle 1 zaznamu? |
||
Mastodont Profil |
#15 · Zasláno: 21. 5. 2009, 20:56:26
No musíš si tam doplnit WHERE ...
Hele, nic ve zlém, ale studuj (to jsme tu museli všichni) :-) http://www.linuxsoft.cz/mysql http://www.linuxsoft.cz/php/ |
||
Venushja Profil |
#16 · Zasláno: 21. 5. 2009, 21:19:54 · Upravil/a: Venushja
„No musíš si tam doplnit WHERE ...“
Jo tak na Todle to where funguje :-D a na proc to mam u vypisu na strankovani Edit No tak jsem tam dal where id='$db[id]' a porad to nefaka :-( |
||
Venushja Profil |
#17 · Zasláno: 22. 5. 2009, 13:10:09
Nevite co s tim kdyz tam to where mam a nefaka to ?
|
||
Venushja Profil |
#18 · Zasláno: 22. 5. 2009, 15:44:33
Prosim uz fakt nevim jak to jinak vyresit...:-(
|
||
Munchen Profil * |
#19 · Zasláno: 22. 5. 2009, 22:48:24
case $db[id] :
$result = mysql_query("SELECT * FROM clanky ORDER BY id Desc WHERE id = '$id' "); $data= mysql_fetch_array($result); if ( $data['text'] != ""){ echo"<title> $stranka >> $db[nazev]</title> <center><br><table border='1' bordercolor='white' cellpadding='5' cellspacing='0' width='70%'> <tr> <td colspan='2'><center><font size='4'>$db[nazev]</center></td></tr> <tr> <td width='35%'><center><font size='2'>Přidal $db[autor]</td> <td width='35%'><center><font size='2'>Přidáno $db[datum]</td> </tr> <tr> <td colspan='2'><center><font size='2'>$db[text]</center></td></tr> </tr>"; $bbb = MySQL_Query("SELECT * FROM admsetting ORDER BY id Desc"); $uuu = MySQL_Query("SELECT count(*) FROM admsetting"); $ttt = MySQL_Fetch_Array($uuu); while ($db= MySQL_Fetch_Array($bbb)): $ipadresa = $db[ip]; $ip = $_SERVER["REMOTE_ADDR"]; $pass = $db[heslo]; endwhile; if($ip == $ipadresa){ echo"<form method='post' action='admin.php?upravit=$idecko&pass=$pass'> <td width='35%'><center><font size='2'><input type='submit' value='Upravit Článek ($nazevcl)'></td></form> <form method='post'> <td width='35%'><center><font size='2'> <input type='submit' class='input' name='vymaz' value='Vymazat Článek ($nazevcl)'> <input type='hidden' class='input' name='vymaz' value='vymazano'> <input type='hidden' class='input' name='id' value='$idecko'></td></form> </table><br>"; }else{ echo" </table><br>"; }; if($vymaz=="vymazano"){ MySQL_Query("DELETE FROM `clanky` WHERE `clanky`.`id` = $idecko LIMIT 1;"); echo"Mažu Přesměrovávám"; Header("Location: index.php");}; }else{ echo"Tento Článek Neexistuje"; }; break; |
||
Venushja Profil |
#20 · Zasláno: 23. 5. 2009, 00:14:17
Munchen
To je sice pekny ze mi opravis script ale nefunguje to....Proste to id co neni v db tak se proste neukaze obsah...kdyz ale tam tu podminku dam obracene tak se na tom rpispevku co existuje objevi clanek nenalezen ... Ale nevim no jak to udelat... |
||
Venushja Profil |
#21 · Zasláno: 23. 5. 2009, 01:26:13
No vykaslal jsme se na to a udelal jsme v tabulce sloupec vymazano (Ano-Ne) a tedka chci aby podle toho zda to je vymazany aby me to ukazovalo na strance ale rpoblem je v tom ze ja uz mam na strance ve strahnovani Where obcazeno takze nevim jakto udelat aby sem mohl podle Where z menu a where z vymazano jak to udelat prosim?
|
||
Majkl578 Profil |
#22 · Zasláno: 23. 5. 2009, 02:09:38
ztraceny pripad......
nauc se zaklady a psat syntakticky bezchybny kod. $db[id] je co? prasarna! asi jsi preskocil tuto kapitolu: http://cz.php.net/manual/en/language.types.array.php mysql_query('...;'), to jsi preskocil toto: http://cz.php.net/manual/en/function.mysql-query.php logicke pojmenovavani promennych, katastrofa. osetreni vstupnich dat vkladanych do sql dotazu, taky jsi preskocil, viz: http://cz.php.net/manual/en/function.mysql-real-escape-string.php ted k [#21] videl jsi uz nekdy v php podminku tohoto tvaru: if($a && $b) ... WHERE `a` = 'neco' && `b` > 11 |
||
Mastodont Profil |
#23 · Zasláno: 23. 5. 2009, 06:21:06
case $db[id] To je špatně, tam musí být apostrofy: case $db['id'] |
||
Venushja Profil |
#24 · Zasláno: 23. 5. 2009, 12:04:47
Majkl578
„... WHERE `a` = 'neco' && `b` > 11“ Dik to sem bohuzel nevidel ale budu si to pamatovat...Dik moc lidi tedka me to funguje podle mych predstav... :-) |
||
Časová prodleva: 15 let
|
0