Avatar
fazy
Člen
Avatar
fazy:

Ahoj :) mám takový problém, udělal jsem si knihu návštěv. Teď jsem ale došel k názoru, že by se mi líbilo udělat možnost komentování příspěvků do knihy.. něco jako na fb když si komentujete příspěvky. Mám dvě tabulky, jedna obsahuje data z knihy návštěv a druhá komentáře. Propojeny jsou přes sloupce knihanavstev.id a komentar.komen­tar_id. to znamená, že každy příspěvek má svůj id a ten je klíčem pro zobrazení komentářů které mají komentar_id shodný s knihanavstev.id. potřebuju poradit s kódem, protože mi to u každehé příspěvku vypisuje všechny komentáře aniž by měli shodné hodnoty ID. ukázka kódu:
<?php

$hodina=time() ;
$host='localhost';
$uzivatel='root';
$heslo='';
$db=mysql_con­nect($host, $uzivatel, $heslo) or die('Nelze se připojit k serveru');
$databaze='kniha';
mysql_select_db($da­tabaze, $db) or die (mysql_error($db));
mysql_query('SET NAMES UTF8');
mysql_query('SET COLLATION_CON­NECTION=utf8_czech_ci'­);
if(isset($_POS­T['jmeno']) && isset($_POST['tex­t'])){
if(trim($_POS­T['jmeno']) !="" && trim($_POST['tex­t']) !="")
{
$jmeno=trim(html­specialchars(strip_tag­s($_POST['jme­no'])));
$prispevek=trim(htm­lspecialchars(strip_tag­s($_POST['tex­t'])));
$dotaz= 'INSERT INTO knihanavstev(jmeno, text, cas, zobrazovat) Values("'.$jme­no.'", "'.$prispevek.'", "'.Time().'", "1")';
$vysledky = mysql_query($do­taz,$db) or die(mysql_error($db));
}}
if(isset($vys­ledky))
{
echo '<div class="ok">
Váš příspěvek byl úspěšně vložen
</div>';
}
else
{
echo '<div id="err"></div>';
}

$dotaz='SELECT * FROM knihanavstev WHERE zobrazovat="1" ORDER BY cas DESC';
$vysledek=mys­ql_query($dotaz, $db);

while($zaznam=mys­ql_fetch_assoc($vys­ledek))
{
echo '<div id="kniha" >
<div class="pridal"> '.$zaznam['jme­no'].'</div>
<div class="cas">'­.date('d.m.y / H:i:s' ,$zaznam['cas'])­.'</div>
<div style="clear:bot­h"></div>

<div class="textpris­pevku">'.$zaz­nam['text'].'</div>

<div id="komentar">
<p>Vložit komentář</p>
<form action="" method="POST">
<label for="prezdivka">Přez­dívka: </label>
<input type="text" name="koment_jmeno" id="koment_jmeno" style="width:70px">

<label for="komentar">Ko­mentář: </label>
<textarea name="koment" id="koment" style="width:300px;he­ight:50px"></t­extarea>

<input type="submit" value="vložit">
</div></div>

';
$dotaz2='SELECT * FROM komentar,kniha­navstev WHERE komentar.komen­tar_id = knihanavstev.id';
$vysledek2=mys­ql_query($dotaz2, $db) or die(mysql_error($db));
while($zaznam2=mys­ql_fetch_assoc($vys­ledek2)){
echo $zaznam2['prez­divka'];
echo $zaznam2['time'];
echo $zaznam2['komen­tar'];
};
};

echo '</div>';

?>

 
Odpovědět  -1 28.6.2014 17:38
Avatar
KlimiCZ
Člen
Avatar
Odpovídá na fazy
KlimiCZ:

je tu tlačítko na kod :D

Nahoru Odpovědět  +1 28.6.2014 17:39
Nesnaž se zakrýt něco, co jsi provedl úmyslně. Svět je tak malý, že dotyčný se to stejně dozví.
Avatar
fazy
Člen
Avatar
 
Nahoru Odpovědět 28.6.2014 17:43
Avatar
fazy
Člen
Avatar
fazy:

v tom kódu je už i zahrnutý nový formulář pro vkládání komentářů který ještě není naprogramovaný tak ať vás to nemate :)

 
Nahoru Odpovědět 28.6.2014 17:45
Avatar
Findthee
Člen
Avatar
Odpovídá na fazy
Findthee:

Nějak tak?

$dotaz2='SELECT * FROM komentar WHERE komentar.komentar_id = $zaznam["id"]';
 
Nahoru Odpovědět 28.6.2014 19:02
Avatar
fazy
Člen
Avatar
fazy:

chyba: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '["id"]' at line 1

 
Nahoru Odpovědět 29.6.2014 0:24
Avatar
Findthee
Člen
Avatar
Odpovídá na fazy
Findthee:
$dotaz2='SELECT * FROM komentar WHERE komentar.komentar_id = ' . $zaznam['id'] . ';';
 
Nahoru Odpovědět  ±0 29.6.2014 11:49
Avatar
fazy
Člen
Avatar
fazy:

joo už to běží :) dík moc :)

 
Nahoru Odpovědět 29.6.2014 11:55
Avatar
David Čápka
Tým ITnetwork
Avatar
Nahoru Odpovědět 29.6.2014 12:43
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Findthee
Člen
Avatar
Odpovídá na David Čápka
Findthee:

Samozřejmě. Ale tak zadání neznělo :)

 
Nahoru Odpovědět 29.6.2014 13:48
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.