Autor | Zpráva | ||
---|---|---|---|
Bill Profil * |
#1 · Zasláno: 2. 8. 2007, 22:45:40
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 |
#2 · Zasláno: 2. 8. 2007, 23:35:50
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 * |
#3 · Zasláno: 3. 8. 2007, 00:24:52
Za ten parametr ,,aktualni" na konci selectu v radku idclanku , tam je id clanku ?
|
||
Bill Profil * |
#4 · Zasláno: 3. 8. 2007, 00:30:33
to Casero : Skvele uz to funguje :))) stacilo jen dat podminku where k.idclanku='$id' dekuji :)))
|
||
Bill Profil * |
#5 · Zasláno: 3. 8. 2007, 00:37:50
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 |
#6 · Zasláno: 3. 8. 2007, 06:41:02
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 * |
#7 · Zasláno: 3. 8. 2007, 14:47:15
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 |
#8 · Zasláno: 4. 8. 2007, 02:33:30
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)"); ?? |
||
Časová prodleva: 17 let
|
0