Autor Zpráva
Bill
Profil *
Zdravim mam zase takovy problem ... Mam dve tabulky v jedne tabulce jsou clanky a ve druhe jsou komentare , potreboval bych spojit id clanku s id komentaru , logicky , aby uz clanku byl komentar se spravnym id k clanku , napsal jsem tedy tento kod komentare.php


<?
$autor=$_POST['autor'];
$email=$_POST['email'];
$text=$_POST['text'];
$predmet=$_POST['predmet'];


if($autor!="" && $email!="" && $text!="" && $predmet!="") :
$vlozeni=mysql_query("INSERT INTO komentare(autor,email,text,predmet) VALUES ('$autor','$email','$text','$predmet')");
endif;


?>

<html>
<head><title></title></head>
<body>
<form action="komentare.php" method="POST">
<table>
<tr><td>Author:</td><td width="150"><input name="autor" size="15" type="text"></td>
<tr><td>Email:</td><td width="150"><input name="email" size="15" type="text"></td>
<tr><td>Text:</td><td width="150"><textarea name="text" type="text" cols="40" rows="5"></textarea></td>
<tr><td>Predmet</td><td width="150"><input name="predmet" size="15" type="text"></td>
<tr><td></td><td width="150"><input type="submit"></td>
</table>
</form>
</body>
</html>

<?
$vysledek=mysql_query("select article.id,komentare.idclanku,komentare.autor,komentare.email,komentar e.predmet,komentare.text from article,komentare where article.id=komentare.idclanku");
while ($zaznam=MySQL_Fetch_Array($vysledek))
{
echo "<table width="50%" id="komentar">";
echo "<tr><td width="150">Od: ".$zaznam['autor']."</td><td>".$zaznam['email']."</td>";
echo "<tr><td width="150"><strong>".$zaznam['predmet']."</strong></td>";
echo "<tr><td colspan="2">".$zaznam['text']."</td>";
echo "</table>";
echo"<br>";

}


Konkretne v radku se selectem ,, select article.id,komentare.idclanku,komentare.autor,komentare.email,komentar e.predmet,komentare.text from article,komentare where article.id=komentare.idclanku" nevite , kde by mohla byt chyba ? Ono mi to totiz u kazdeho clanku zobrazi vsechny komentare , presto , ze tam je podminka where article.id=komentare.idclanku :(
Casero
Profil
Bill
Do tabulky komentáře musíš vkládat údaj, ke kterému patří článku.
$vlozeni=mysql_query("INSERT INTO komentare(autor,email,text,predmet,idclanku) VALUES ('$autor','$email','$text','$predmet',id_aktualniho_clanku)"); 



a pak select:

$vysledek=mysql_query("select a.id, k.idclanku, k.autor, k.email, k.predmet, k.text from article a  right join komentare k on a.id=k.idclanku where k.idclanku=aktualni"); 
Bill
Profil *
Za ten parametr ,,aktualni" na konci selectu v radku idclanku , tam je id clanku ?
Bill
Profil *
to Casero : Skvele uz to funguje :))) stacilo jen dat podminku where k.idclanku='$id' dekuji :)))
Bill
Profil *
jeste vymyslet , jakym zpusobem vkladat do tabulky komentare do radku idclanku ID clanku , ktere je ulozene v jine tabulce ... lze spojovani tabulek pouzit i pro prikat insert ?
BetaCam
Profil
Skvele uz to funguje :))) stacilo jen dat podminku where k.idclanku='$id' dekuji :)))

$id je snad string že ho máš v uvozovkách??

jeste vymyslet , jakym zpusobem vkladat do tabulky komentare do radku idclanku ID clanku , ktere je ulozene v jine tabulce ... lze spojovani tabulek pouzit i pro prikat insert ?

Nechápu přoc by si jako měl ty tabulky při INSERTu spojovat ani k čemu by to bylo dobré.
ID článku si můžes přidat třeba přímo do formuláře jako input hidden
Bill
Profil *
to BetaCam : Tak jsem zkousel pridat skryte pole input , jako hidden , ktery melo name id a pak pomoci get a promenne id ho zapsat , jako idclanku , ale zapise se nula ... , preci to nemuze brat id z tabulky clanky do idclanku v tabulce komentare ?
BetaCam
Profil
Tak jsem zkousel pridat skryte pole input , jako hidden , ktery melo name id a pak pomoci get a promenne id ho zapsat , jako idclanku , ale zapise se nula ... , preci to nemuze brat id z tabulky clanky do idclanku v tabulce komentare ?

no tak tam to ID ale taky musis vypsat ne?? Jak tak koukam na ty tvé posty tak máš $id a v té je ID článku co ti teda brání v tom přidat do formuláře pro odesílání komentářů tento řádek??

echo '<input type="hidden" name="idclanku" value="'.$id.'">';

a po odeslání komentáře INSERTovat např takhle :

$autor=$_POST['autor'];
$email=$_POST['email'];
$text=$_POST['text'];
$predmet=$_POST['predmet'];
$idclanku=$_POST['idclanku'];

$vlozeni=mysql_query("INSERT INTO komentare(autor,email,text,predmet,idclanku) VALUES ('$autor','$email','$text','$predmet',$idclanku)");

??

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: