Autor | Zpráva | ||
---|---|---|---|
vit Profil * |
cau v souboru chtel bych, abych mel vice novinek vlozenych z db pod sebou na jedne strance a po dosazeni rekneme 20ti by se stranky automaticky rozkouskovala. zatim mam v souboru novinky.php novink vlozene z db timto scriptem a zobrazi se jen kdyz do url napisete ../novinky.php?read=1...:
<?php require "db.php"; if(isset($_GET['read'])){ $id=(int)$_GET['read']; // Do proměnné $id si dáme číslo volaného článku. Tuto proměnnou raději z bezpečnostních důvodů přetypujeme na INTEGER // Spojení na databázi $Vyber=mysql_query("SELECT `nazev`,`clanek`,`hit` FROM `clanky` WHERE `id`='$id' LIMIT 1") or die(mysql_error()); $Vypis=mysql_fetch_array($Vyber) or die(MySQL_Error()); // Naplníme pole if($Vypis['nazev']){ // Dostali jsme nějaký výsledek, vypíšeme článek echo " <h2>".$Vypis['nazev']."</h2> <p>".$Vypis['clanek']."</p> <p>Přečteno: ".$Vypis['hit']."x </p> "; // Protože jsme "otevřeli" tento článek, přičteme mu hit. mysql_query("UPDATE `clanky` SET `hit`=`hit`+1 WHERE `id`='$id' LIMIT 1"); }else{ echo "Článek s takovým ID se v databázi nenachází."; } } ?> |
||
panther Profil |
#2 · Zasláno: 11. 5. 2010, 13:55:18
vit:
- odeber LIMIT z SQL dotazu - mysql_fetch_assoc dej do cyklu while - o stránkování se tu napsalo spoustu, hledej |
||
vit Profil * |
#3 · Zasláno: 11. 5. 2010, 14:39:28
- mysql_fetch_assoc dej do cyklu while a to se prosím dělá jak? :D
|
||
__construct Profil |
#4 · Zasláno: 11. 5. 2010, 14:45:17 · Upravil/a: __construct
vit:
while ($Vypis = mysql_fetch_array($Vyber)) { // tvoj výpis .. } Inak medzi rečou .. čo takto sa začať učiť programovať postupne a nie hneď skočiť k databázam ..? Cykly ako FOR, WHILE sú základy .. Inak sem budeš písať každých 15 minút o pomoc .. |
||
vit Profil * |
#5 · Zasláno: 11. 5. 2010, 15:09:21
tak zacneme jednodusejc nechapu jak mam mit na strance vice novinek kdyz to vkladam timto kodem.
|
||
__construct Profil |
#6 · Zasláno: 11. 5. 2010, 15:21:44
<?php require "db.php"; $Vyber=mysql_query("SELECT `nazev`,`clanek`,`hit` FROM `clanky` LIMIT 20") or die(mysql_error()); while ($Vypis = mysql_fetch_array($Vyber)) { echo " <h2>".$Vypis['nazev']."</h2> <p>".$Vypis['clanek']."</p> <p>Přečteno: ".$Vypis['hit']."x </p> <hr /> "; } } ?> |
||
vit Profil * |
#7 · Zasláno: 11. 5. 2010, 15:40:59
Díky moc, ale když jsem si tam přídal
mysql_query("UPDATE `clanky` SET `hit`=`hit`+1"); |
||
__construct Profil |
#8 · Zasláno: 11. 5. 2010, 15:49:22 · Upravil/a: __construct
aby Ti správne fungovalo to pripočítavanie tak si to uprav takto :
<?php require "db.php"; $Vyber=mysql_query("SELECT `id`,`nazev`,`clanek`,`hit` FROM `clanky` LIMIT 20") or die(mysql_error()); while ($Vypis = mysql_fetch_array($Vyber)) { echo " <h2>".$Vypis['nazev']."</h2> <p>".$Vypis['clanek']."</p> <p>Přečteno: ".$Vypis['hit']."x </p> <hr /> "; mysql_query("UPDATE `clanky` SET `hit`=`hit`+1 WHERE `id`={$Vypis['id']} LIMIT 1"); } } ?> A ešte raz Ti pripomínam kúp si nejakú knihu o PHP & MySQL a choď od začiatku - bude to pre Teba ľahšie ;-) |
||
vit Profil * |
#9 · Zasláno: 11. 5. 2010, 16:10:27
to mam taky v planu po skusenosti s tutim :D
|
||
vit Profil * |
#10 · Zasláno: 11. 5. 2010, 16:13:31
Promin ale to nefunguje. Jo a posledni otazka ted se mi ty clanky radi podle abecedy a ja bych je chtel radit podle id
|
||
SpotRudloff Profil |
#11 · Zasláno: 11. 5. 2010, 16:46:55
mysql_query("SELECT * FROM tabulka ORDER BY id DESC"); |
||
Časová prodleva: 14 let
|
0