komentáre k článkom

potrebujem spraviť ku každému článku diskusiu s použitím DB... stiahol som si aj zdrojáky ale neviem si ch upraviť tak aby mi fungovali na stránke.... nenajde sa tu niekto taký kto by mi bol ochotný pomoct cez ICQ? ...prosiiim ...nebude to práca na vela casu len ja som lama este ale potrebujem to surne spravit
tak sem aspon napis, odkud jsi to stahl, at se na to nekdo psychicky pripravi...
http://www.reboot.cz/index.phtml?id=178
dřív nebo pozdějc budu dělat svoje vlastní komentáře (k článkům).. tak kdybys to do tý doby neměl, tak bych ti poslal svoje kódy s vysvětlením ;)
up... pls
Marcus: este si nespravil tie komentare na svojej stranke? ...lebo to velmi potrebujem ale ja si to neviem upravit.... ak bude mat niekto cas tak ho prosim aby mi pomohl s tými zdrojákmi... mozete si ich pozret na tom linku co som napisal... prosiiiiiiiim..... icq 333-128-484
nj, zrovna dneska jsem je dodělal..
takze uz som to ako tak spravil... ale vyskytol sa jeden problem... nezapisuje mi komentare do DB:(
------------------------------------------
<?php
require_once ('mysql_spojit.php');
$titul = '...:::Články!:::...';
include ('sablony/head.inc');
include ('sablony/menu.inc');

@$v = mysql_query("SELECT id_cl, nazov_cl, autor_cl, text_cl, datum_cl FROM clanky ORDER BY id_cl DESC LIMIT 0,8");
@$p = mysql_num_rows($v);

if ($p > 0):
echo "<div align=center><h1>Články</h1><table width=600 border=0>";
while ($z = mysql_fetch_row($v))
{
echo "
<tr>
<td colspan=3 width=600 bgcolor=#C8C8C8><p><h1>$z[1]</h1> <hr width=600>$z[3]</p></td>
</tr>
<tr>
<td width=250 height=18 bgcolor=#000000><font color=white>autor: <b>$z[2]</b></font></td>
<td width=170 height=18 bgcolor=#000000><div align=center><a href=\"komentare.php?id_clanku=$z[0]\">komentáre</a></div></td>
<td width=180 height=18 bgcolor=#000000><div align=center><font color=white><b>$z[4]</b></font></div></td>
</tr>
<tr><td height=18 bgcolor=#ffffff colspan=2></td></tr>";
}
echo "</table>\n";
endif;
echo "</div>\n";
include ('sablony/bottom.inc');
?>
--------------------------------------------------------------------------------

<?php
session_name('IDUzivatela');
session_start();

$titul = '...:::Komentáre!:::...';
include('sablony/head.inc');
include('sablony/menu.inc');
require "mysql_spojit.php";

?>
<div align="center"><center>
<h1>Komentáre</h1>
<table border="0" width="570">
<tr>
<td><div align="center"><center>
<table border="0">
<form action="komentare.php" method="post">
<input type="hidden" name="send" value="true">


<tr>
<td bgcolor="#c8c8c8"><strong>Text:</strong></font></td>
<td bgcolor="#000000"><strong><textarea name="text_komentara" rows="3" cols="45"></textarea></strong></font></td>
</tr>
<tr>
<td colspan="2" bgcolor="#c8c8c8"><center><input type="submit" value="Pridať -->"></center>
<?php

echo("<input type=\"hidden\" name=\"id_clanku\" value=\"". $_GET['id_clanku'] ."\">");

?>

</td></form>
</tr>
</table>
</center></div></td>
</tr>
</table>
</center>
-----------------------------------------------------------------

CREATE TABLE komentare
(
id_komentara int(9) USIGNED NOT NULL auto_increment,
id_clanku int(4) USIGNED NOT NULL,
autor_komentara varchar(25) NOT NULL,
text_komentara text NOT NULL,
cas_komentara datetime NOT NULL,
PRIMARY KEY (id_komentara)
);
-----------------------------------------------------

v com moze byt problem... prosiiiiiiiiiiiiiiiiim
sorry.. ten druhy skrip som neskopiroval kompletne... .tu je cely -->
<?php
session_name('IDUzivatela');
session_start();

$titul = '...:::Komentáre!:::...';
include('sablony/head.inc');
include('sablony/menu.inc');
require "mysql_spojit.php";

?>
<div align="center"><center>
<h1>Komentáre</h1>
<table border="0" width="570">
<tr>
<td><div align="center"><center>
<table border="0">
<form action="komentare.php" method="post">
<input type="hidden" name="send" value="true">


<tr>
<td bgcolor="#c8c8c8"><strong>Text:</strong></font></td>
<td bgcolor="#000000"><strong><textarea name="text_komentara" rows="3" cols="45"></textarea></strong></font></td>
</tr>
<tr>
<td colspan="2" bgcolor="#c8c8c8"><center><input type="submit" value="Pridať -->"></center>
<?php

echo("<input type=\"hidden\" name=\"id_clanku\" value=\"". $_GET['id_clanku'] ."\">");

?>

</td></form>
</tr>
</table>
</center></div></td>
</tr>
</table>
</center>
</div>

<hr size="3" noshade width="600">
<?

if (isset($send))
{
if ($text_komentara != "" && $nazov_komentara != "")
{
$text_komentara = HTMLSpecialChars ($text_komentara);
$nazov_komentara = HTMLSpecialChars ($nazov_komentara);
@$f = mysql_query ("INSERT INTO komentare VALUES('','".$_POST[id_clanku]."','{$_SESSION['nick']}','$text_komentara','NOW()')");
}
else
{
echo (mysql_error());
}
}


@$v = mysql_query ("SELECT * FROM komentare WHERE id_clanku = '".$_GET['id_clanku']."' ORDER BY id_komentara DESC LIMIT 0,20");
@$p = mysql_num_rows ($v);

if ($p > 0):
echo "<div align=center><center><table border=0 width=600>";
while ($z = mysql_fetch_row($v))
{
echo "<tr><td bgcolor=#000000 width=200 height=18><strong>";
echo "<font color=\"white\">$z[2]</font></td>";
echo "<td bgcolor=#000000 width=200 height=18><p align=center><font color=white>$z[4]</font></p></td></tr><tr><td bgcolor=#C8C8C8 colspan=2><strong>$z[3]</strong></td></tr><tr><td height=18 colspan=2></td></tr>";
}
echo "</table>\n";
endif;
include('sablony/bottom.inc');
?>
jen takovej detail - @ se nepise pred promennou, ale pred funkci... tedy ne
@$p = mysql_num_rows($v);
ale
$p = @mysql_num_rows($v);

jo a jak mas v tom INSERTovym dotazu tohle: {$_SESSION['nick']} tak misto toho napis jenom $_SESSION[nick] (takze bez tech chlupatejch zavorek a uvozovek v hranatejch zavorkach).
A za kazdej dotaz, resp. mysql_query(...); si pripis tento prikaz:

echo mysql_error();

a melo by ti to vyhodit chybu, pokud v dotazu nejaka je. Diky tomu bys pak taky mohl prijit na to, proc ti to nefacha.
donny: ty jednoduchy uvozovky tam prece maji byt, ne? je to asociativni pole... a ty {} zavorky kolem promenne nicemu nevadi, je to oddeleni promenne od textu

chyba bude v tomto:
@$f = mysql_query ("INSERT INTO komentare VALUES('','".$_POST[id_clanku]."','{$_SESSION['nick']}','$text_komentara','NOW()')");
kdyz mas autoincrement sloupec, tak do neho nic nezapisuj. cili uprav na:
VALUES('".$_POST[id_clanku]."'...
vsak to toho prveho stlpca zapisujem iba prazdnu hodnotu... pri guestbooku to mam presne tak isto takze podla mna v tom chyba nebude... aj tak nechapem tomu co si tam zmenil :)
zkus to takhle ->

mysql_query("INSERT INTO komentare VALUES('','". $_POST['id_clanku'] ."', '". $_SESSION["nick"] ."', '". $text_komentara ."', '". NOW() . "')");

a btw. co je NOW()?
je to SQL funkcia ktora zapise aktualny cas
mno jak myslíš, já osobně bych to dělal přes php - date() nevim, ale pokud to takhle funguje..
v tej funkcii urcite problem neni
kua.... stale mi nefunguje ten INSERT.. ale ked vlozim do tabulky hodnoty manulane tak mi komentar zobrazi... chyba bude iba s tým vkladaním komentárov.... ale v tom prikaze INSERT podla mna chyba neni.... mozno je chyba v zdrojaku niekde mimo
ale funguje... ;-)
teraz mi zas nefunguje aby mi zobrazilo počet komentárov pri článku.... chcem aby tam bolo napr. komentáre(5) ....
<?php
session_name('IDUzivatela');
session_start();
require_once ('mysql_spojit.php');
$titul = '...:::Články!:::...';
include ('sablony/head.inc');
include ('sablony/menu.inc');

@$v = mysql_query("SELECT id_cl, nazov_cl, autor_cl, text_cl, datum_cl FROM clanky ORDER BY id_cl DESC LIMIT 0,8");
@$p = mysql_num_rows($v);

if ($p > 0):
echo "<div align=center><h1>Články</h1><table width=600 border=0>";
while ($z = mysql_fetch_row($v))
{

@$vys = mysql_query ("SELECT * FROM komentare WHERE id_clanku = '". $p[id_cl] ."' ORDER BY id_komentara DESC");
@$poc = mysql_num_rows ($vys);

echo "
<tr>
<td colspan=3 width=600 bgcolor=#C8C8C8><p><h1>$z[1]</h1> <hr width=600>$z[3]</p></td>
</tr>
<tr>
<td width=250 height=18 bgcolor=#000000><font color=white>autor: <b>$z[2]</b></font></td>
<td width=170 height=18 bgcolor=#000000><div align=center><b><a href=\"komentare.php?id_clanku=$z[0]\">komentáre($poc)</a></b></div></td>
<td width=180 height=18 bgcolor=#000000><div align=center><font color=white><b>$z[4]</b></font></div></td>
</tr>
<tr><td height=18 bgcolor=#ffffff colspan=2></td></tr>";
}
echo "</table>\n";
endif;
echo "</div>\n";
include ('sablony/bottom.inc');
?>
Tonik:
>donny: ty jednoduchy uvozovky tam prece maji byt, ne? je to asociativni pole... a ty {} zavorky kolem promenne nicemu nevadi, je to oddeleni promenne od textu

samozrejme, ze nevadi, ale kdyz to napises do stringu (myslim ten parametr-dotaz) v uvozovkach, tak se v klici pole uvozovky neuvadeji. myslim:

$string = "toto je promenna ".$pole['klic']." s uvozovkami";
$string = "ale toto je $pole[klic] uz bez uvozovek...";

ja teda promenny v tech slozenejch zavorkach neuvadim, protoze imho je to nutny jen u vicerozmerneho pole, ale to pak resim tim prvnim zpusobem, co jsem uvedl.
donny: aha, tak to pak asi jo.. nevim, ja dycky ten string prerusim, to pole napojim pres tecky... jak mas ten prvni priklad.
nj, ale mne to prijde s tema teckama nejaky takovy min prehledny... tak se tomu vyhybam, kdyz to jde.