Autor | Zpráva | ||
---|---|---|---|
vlcekp1 Profil |
#1 · Zasláno: 15. 12. 2008, 09:20:43
Dobrý den.
Programuji si takový malý modul, něco jako blogovací systém. Mám ale jeden drobný problém. Na hlavní stránce mám vždy odkaz na nějaký článek. To ještě funguje, ale když chci zjistit, kolik obsahuje článek komentářů, tak jsem v koncích. Kód index.php je: <html> <head> <meta name="description" content=""> <meta name="keywords" content=""> <meta http-equiv=Content-Type content="text/html; charset=windows-1250"> <?require_once "spojeni.php" ;?> <title><?echo "$title výpis článků";?></title> <font size="large"> </head> <body> <?php echo "<br>".$title."<br>"; echo "<br>".$description."</br>"; $vysledek = mysql_query("SELECT * FROM $tabulka1 ORDER BY datum"); if(mysql_num_rows($vysledek) < 1) { echo "<br>Zatím nebyly vloženy žádné články.<br>"; } else { echo "<h1>Seznam článků</h1>"; while ($zaznam = mysql_fetch_array($vysledek)): echo "<p><a href='vypisclanku.php?id="; echo $zaznam["id"]; echo "'>"; echo $zaznam["titulek"]; echo "</a><br> "; echo "Vložil: ".$zaznam["autor"].""; echo "</p>"; $idclanku=$_GET['idclanku']; $comments = mysql_query("SELECT * FROM $clanky2 WHERE idclanku=$id"); while ($zaznam = mysql_fetch_array($comments)): $id = mysql_num_rows($comments); echo "Článek obsahuje ".$zaznam['id']." komentářů."; endwhile; if ($_COOKIE['prihlasen'] == 1) { echo "<p><a href='del.php?id="; echo $zaznam["id"]; echo "'>"; echo "smazat"; echo "</a><br> "; } endwhile; } ?> <? if ($_COOKIE['prihlasen'] == 1) { echo "<a href='form.php'>Přidat článek></a>"; echo "<a href='admin1.php'>Administrace</a>"; echo "<a href='odhlasit.php'>Odhlásit</a>"; } else { echo "<br>1.3.0 version, release date 14.12.2008</br>"; include "admin.php"; } ?> </body> </html> Komentáře se ukládají tak, že se při uložení v souboru vypisclanku.php uloží id článku, ale komentář má zároveň svoje id. Může někdo prosím poradit, jak dostat z té databáze do toho echa to číslo? Děkuji za každou radu. Nepoužívejte prosím ztučňování chyb, protože odečítač je neumí číst. |
||
Taps Profil |
#2 · Zasláno: 15. 12. 2008, 09:37:19
vlcekp1
Musíš propojit tabulky (s články a komentáři) pomocí left join. Zkus se prosím uvést strukturu těch tabulek |
||
Kajman_ Profil * |
#3 · Zasláno: 15. 12. 2008, 09:56:23
Ukázka výpočtu je v Počet komentářů ke článku na
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=28&topic=3 7836 |
||
vlcekp1 Profil |
#4 · Zasláno: 15. 12. 2008, 10:31:06
Soubor install.php vytváří tabulky takto:
<? require "spojeni.php"; $tabulka = "$tabulka1"; $tabulka_query = "CREATE TABLE $tabulka (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), titulek VARCHAR(50), clanek TEXT, autor VARCHAR(50), rubrika VARCHAR(50), datum DATE)"; $zaloz_tabulku = mysql_query($tabulka_query) or die ("tabulku $tabulka nelze vytvořit -- hlášení mysql : ".mysql_error()); echo "<p>"; echo "právě jsem založil tabulku $tabulka"; echo "</p>"; $tabulka = "$clanky1"; $tabulka_query = "CREATE TABLE $tabulka (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), rubrika VARCHAR(50))"; $zaloz_tabulku = mysql_query($tabulka_query) or die ("tabulku $tabulka nelze vytvořit -- hlášení mysql : ".mysql_error()); echo "<p>"; echo "právě jsem založil tabulku $tabulka"; echo "</p>"; $tabulka = "$clanky2"; $tabulka_query = "CREATE TABLE $tabulka (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), jmeno VARCHAR(50), komentar TEXT, idclanku INT NOT NULL, datum DATE)"; $zaloz_tabulku = mysql_query($tabulka_query) or die ("tabulku $tabulka nelze vytvořit -- hlášení mysql : ".mysql_error()); echo "<p>"; echo "právě jsem založil tabulku $tabulka"; echo "</p>"; ?> <p> Proběhla-li instalace vpořádku, odstraňte, nebo přejmenujte soubor install.php. </p> |
||
Časová prodleva: 15 let
|
0