Autor | Zpráva | ||
---|---|---|---|
lopik007 Profil |
#1 · Zasláno: 23. 12. 2009, 08:18:41 · Upravil/a: lopik007
Zdravím chtěl bych se zeptat jak udělat výpis s databáze pěti nejnovějších článku? Asi nějak takto, ale nevím jak dál
"SELECT * FORM "clanky" ORDER BY "id_c" DESC LIMIT 5" |
||
Alphard Profil |
#2 · Zasláno: 23. 12. 2009, 08:25:56
Na ten mix create a limited radši zapomeňte :-)
Vytvořte normální tabulku a pak použijte dotaz: select * from clanky order by id desc limit 5 Jestli chcete uvozovat název tabulky, musíte použít zpětné apostrofy, normální uvozovky fungovat nebudou. |
||
Budulinek Profil |
#3 · Zasláno: 23. 12. 2009, 08:29:50
možná bych se zamyslel nad tím, podle čeho řadit. ID článku asi nebude nejšťastnější, protože co když budeš chtít vložit do databáze článek, který však budeš chtít vydat až později? Spíš bych řadil podle data vydání, přijde mi to logičtější. Navíc tak získáš možnost vypisovat jen vydané články, ukládat do DB rozepsané \ nevydané články a popřípadě vypisovat články v přípravě (pokud budeš chtít).
Co se týče dotazu, tak pak už to jen načteš do pole a zobrazíš, ne? |
||
lopik007 Profil |
#4 · Zasláno: 23. 12. 2009, 10:44:46
Budulinek:
Tak já mám možnost jen napsat článek a ihned jej zveřejnit, S tou tabulkou v db umím jen ten select * form, ale nevím jak dál |
||
lopik007 Profil |
#5 · Zasláno: 23. 12. 2009, 11:17:57
Poradí mi někdo co dál bych měl napsat do kódu? Já napsal tohle, ale jaksi nefunguje
<?php include("inc/db.php"); $sel = "SELECT * FROM clanky ORDER BY id_c DESC LIMIT 5"; $q = mysql_query($sel); if ($q) { while($fetch=mysql_fetch_array($q)){ echo '<li>'.$f["jmeno"].'</li>'; } }else{ echo "Chyba při dotazu na databázi, zkuste to prosím později nebo kontaktujte administrátora webu. Děkujeme za pochopení."; } ?> |
||
Alphard Profil |
#6 · Zasláno: 23. 12. 2009, 11:22:32
Mohl byste to "jaksi nefunguje" trochu upřesnit?
|
||
dan55 Profil |
#7 · Zasláno: 23. 12. 2009, 11:54:39
echo '<li>'.$fetch["jmeno"].'</li>'; Jak nefunguje? Zkus opravit řádek 9 |
||
lopik007 Profil |
#8 · Zasláno: 23. 12. 2009, 11:59:30
dan55 Alphard:
No prostě nejde, nezobrazí se vůbec nic, když to includuju |
||
dan55 Profil |
#9 · Zasláno: 23. 12. 2009, 12:02:35
|
||
lopik007 Profil |
#10 · Zasláno: 23. 12. 2009, 12:08:33
ano mám napsáno připojeni k db správně a v tabulce mám články, když mám 23 článku, a tabulka se jmenuje clanky
|
||
dan55 Profil |
#11 · Zasláno: 23. 12. 2009, 12:11:06
<?php include("inc/db.php"); $q = mysql_query("SELECT * FROM clanky ORDER BY id_c DESC LIMIT 5"); while($data=mysql_fetch_array($q)){ echo '<li>'.$data["jmeno"].'</li>'; } ?> zkus to jenom tak |
||
lopik007 Profil |
#12 · Zasláno: 23. 12. 2009, 12:32:46
dan55:
Fakt díky, vyznáš se mnohokrát děkuji |
||
dan55 Profil |
#13 · Zasláno: 23. 12. 2009, 13:21:27
lopik007:
není zač |
||
lopik007 Profil |
#14 · Zasláno: 23. 12. 2009, 14:54:21
dan55:
A nevíš jak bych mohl ještě udělat aby byl v tom výpisu pěti článku odkaz na ten daný článek? |
||
SkIpPeR Profil |
#15 · Zasláno: 23. 12. 2009, 15:41:32 · Upravil/a: SkIpPeR
<?php include("inc/db.php"); $q = mysql_query("SELECT * FROM clanky ORDER BY id_c DESC LIMIT 5"); while($data=mysql_fetch_array($q)){ echo '<a href="odkaz na članek '.$data["jmeno"].'"><li>'.$data["jmeno"].'</li></a>'; } ?> |
||
lopik007 Profil |
#16 · Zasláno: 23. 12. 2009, 16:32:28
SkIpPeR:
Co mám dosadit místo "odkaz na članek"? |
||
SkIpPeR Profil |
#17 · Zasláno: 23. 12. 2009, 16:49:34 · Upravil/a: SkIpPeR
záleží jak voláš stránky, třeba index.php?clanek='.$data["jmeno"].' nebo index.php?page=clanky&id='.$data["id"].'
|
||
lopik007 Profil |
#18 · Zasláno: 23. 12. 2009, 17:03:30
Takto to bude fungovat?
echo '<a href="clanek.php? '.$data["jmeno"].'"><li>'.$data["jmeno"].'</li></a>'; |
||
SkIpPeR Profil |
#19 · Zasláno: 23. 12. 2009, 17:16:53
clanek.php?nazev='.$data["jmeno"].'
ale pak v souboru clanek.php nezapomen definovat promenou $nazev = $_GET['nazev']; |
||
lopik007 Profil |
#20 · Zasláno: 23. 12. 2009, 18:22:07
Takže nějak takto?
<?php include("inc/db.php"); $q = mysql_query("SELECT * FROM clanky ORDER BY id_c DESC LIMIT 5"); while($data=mysql_fetch_array($q)){ echo '<a href="clanek.php?='.$data["jmeno"].'"><li>'.$data["jmeno"].'</li></a>'; } ?> |
||
SkIpPeR Profil |
#21 · Zasláno: 23. 12. 2009, 19:10:34
mezi ? a = musí být nějaká proměnná (myslim)
|
||
lopik007 Profil |
#22 · Zasláno: 23. 12. 2009, 19:48:39 · Upravil/a: lopik007
a sak*a co je proměna? O php nevím skoro nic, ale něco už umím. Nemůžeš mi prosím napsat jak by to mělo vypadat?
|
||
Taps Profil |
#23 · Zasláno: 23. 12. 2009, 19:50:57
lopik007:
echo '<a href="clanek.php?id='.$data["jmeno"].'"><li>'.$data["jmeno"].'</li></a>'; |
||
SkIpPeR Profil |
#24 · Zasláno: 23. 12. 2009, 19:54:58
Taps:
přesně tak |
||
dan55 Profil |
#25 · Zasláno: 23. 12. 2009, 20:07:57 · Upravil/a: dan55
soubor (treba) index.php
<?php include("inc/db.php"); $q = mysql_query("SELECT * FROM clanky ORDER BY id_c DESC LIMIT 5"); while($data=mysql_fetch_array($q)){ echo '<a href="clanek.php?name='.$data["jmeno"].'"><li>'.$data["jmeno"].'</li></a>'; } ?> soubor clanek.php <?php include("inc/db.php"); $jmeno = htmlspecialchars($_GET['name']); $q = mysql_query("SELECT * FROM clanky WHERE jmeno='$jmeno'"); while($data=mysql_fetch_array($q)){ echo"<h2>".$data['jmeno']."</h2>"; echo"<p>"; echo $data['text']; echo"</p>"; } ?> Místo text dej to co máš v db jako text článku |
||
SkIpPeR Profil |
#26 · Zasláno: 23. 12. 2009, 20:15:05
dan55:
předběhl si mě :) |
||
lopik007 Profil |
#27 · Zasláno: 23. 12. 2009, 20:45:45
Tady je clanek.php, nevím kde tam napsat to od dan55 pomůžete?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="Content-language" content="cs" /> <meta http-equiv="cache-control" content="no-cache, must-revalidate" /> <meta name="keywords" content="" /> <link rel="alternate" type="application/rss+xml" title="RSS tohoto webu" href="feed.rss" /> <link rel="stylesheet" type="text/css" href="default.css" /> <?php if(isset($_GET["jmeno"])){ include("inc/db.php"); $sel = "select * from clanky,autori where clanky.autor=autori.id_a and clanky.bezdk='{$_GET["jmeno"]}'";$q = mysql_query($sel);$f = mysql_fetch_array($q);?> <link rel="shortcut icon" href="favicon.ico" /> <title><?php echo $f["jmeno"];?> | lopik blog píše Lopata Jakub</title> </head> <body> <?php include("inc/polozky/vrsek.html")?> <div id="text"><?php $upd = "update clanky set pristupy=pristupy+1 where bezdk='{$_GET["jmeno"]}'";$qupd=mysql_query($upd); ?> <div style="width: 500px;margin:auto;text-align: left !important;"> <h1><?php echo $f["jmeno"];?></h1> <em><?php echo $f["anotace"];?></em><br /> <?php $f["text"] = str_replace("*01*", "<img src='grafika/smile/1.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*02*", "<img src='grafika/smile/2.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*03*", "<img src='grafika/smile/3.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*04*", "<img src='grafika/smile/4.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*05*", "<img src='grafika/smile/5.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*06*", "<img src='grafika/smile/6.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*07*", "<img src='grafika/smile/7.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*08*", "<img src='grafika/smile/8.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*09*", "<img src='grafika/smile/9.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*10*", "<img src='grafika/smile/10.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*11*", "<img src='grafika/smile/11.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*12*", "<img src='grafika/smile/12.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*13*", "<img src='grafika/smile/13.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*14*", "<img src='grafika/smile/14.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*15*", "<img src='grafika/smile/15.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*16*", "<img src='grafika/smile/16.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*17*", "<img src='grafika/smile/17.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*18*", "<img src='grafika/smile/18.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*19*", "<img src='grafika/smile/19.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*20*", "<img src='grafika/smile/20.gif' alt='smajlik' />", $f["text"]); $f["text"] = str_replace("*21*", "<img src='grafika/smile/21.gif' alt='smajlik' />", $f["text"]); $f["text"] = preg_replace("/\[hs\](.*)\[\/hs\]/", "<a href='$1' onclick='return hs.expand (this)' class='highslide'><img width=\"145\" style='float: left !important;' height=\"109\" src='$1' /></a> ", $f["text"]); echo $f["text"];?> <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> Napsal: <?php echo $f["login"];?> | Dne <?php echo $f["cas"];?> | Zhlédnuto <?php echo $f["pristupy"];?>x </div> <?php include("komentare.php"); }?> </div> <?php include("inc/polozky/bocnice.html");include("inc/polozky/spodek.html");?> |
||
Časová prodleva: 18 dní
|
|||
Jeryk Profil |
#28 · Zasláno: 10. 1. 2010, 13:14:04
Dobrý deň,
Mám problém z týmto výpisom, keď ho nechám v tomto tvare (viz. kod) tak ide normálne, <?php include("db.php"); Header ('Content-type: text/html; charset=utf-8'); $connect = MySQL_PConnect($cfg['MySQL_Server'], $cfg['MySQL_User'], $cfg['MySQL_Passwd']); if (!$connect) { print 'Pripojiť sa k MySQL nepodarilo! Prosím kontaktujte administrátora (Jeryka).'; exit; } MySQL_Select_DB($cfg['MySQL_DB']); $Sql = MySQL_Query("SELECT clanok FROM tabulka "); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Výpis dat z tabulky</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <h1>Výpis dat z tabulky:</h1> <?php print MySQL_Num_Rows($sql); ?> </p> <?php while ($data = MySQL_Fetch_Array($Sql)) { for ($i=0; $i<MySQL_Num_Fields($Sql); $i++) { PrintF ('%s<br>', $data[$i]); } } ?> </body> </html> ale keď zmením kód na $Sql = MySQL_Query("SELECT clanok FROM tabulka ORDER BY id DESC"); tak už nejde. Mohli by ste my prosím vás pomôcť? |
||
Alphard Profil |
#29 · Zasláno: 10. 1. 2010, 13:18:04
Jeryk:
Vypište si mysql_error(), ale hádám, že bude problém se sloupcem id, máte ho vůbec v tabulce? |
||
Jeryk Profil |
#30 · Zasláno: 10. 1. 2010, 13:39:50
Áno, id som mal v tabuľke, ale pod iným názvom a toho som si nevšimol... Ale ďakujem za pomoc.
|
||
Časová prodleva: 14 let
|
0