Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] problem z komentarzami
Forum PHP.pl > Forum > Gotowe rozwiązania
batat
Do swojego skryptu newsowego dorobilem komentarze ( jeszcze nie w pelni gotowe, ale nie o to chodzi ) chodzi o to, ze po dodaniu pierwszego komentarza, jak chce dodac kolejnego komenta to wyskakuje mi taki blad:

Cytat
Powtórzone wystapienie '19' dla klucza 1
- 19 do ID, a z tym kluczem to nie wiem smile.gif

dlatego pisze do was smile.gif wiecie moze dlaczego taki blad mi wyskakuje questionmark.gif

oto kod skryptu do wgladu:
[php:1:74cb2d1088]
<?
$data = date("d-m-Y, H:i");
?>

<?php

mysql_connect ("127.0.0.1","root","krasnal");
mysql_select_db (news);

if($pokaz!=komentarze){

$zapytanie = "SELECT * FROM news ORDER BY id DESC LIMIT 0,10";
$wykonaj = mysql_query ($zapytanie);

while($wiersz=mysql_fetch_array ($wykonaj)) {
$ilosc = "SELECT * FROM komentarze WHERE subid='".$wiersz['id']."'";
$komentarze = mysql_query($ilosc) or die(mysql_error());
$ilosckomentarzy = mysql_num_rows($komentarze);

echo "
<table width=500 align=center bgcolor=black cellspacing=1 cellpadding=2 STYLE="font-family: tahoma; font-size: 8pt">
<tr bgcolor=darkred >
<td width="80%">&nbsp;<B>&raquo;</b> ".$wiersz['tytul']."</td>
<td width="20%" align=right>".$wiersz['data']."</td>
</tr>
<tr bgcolor=red ><td width="100%" colspan="2"><p align=justify><img src=images/topics/".$wiersz['obrazek']." align=left>

".$wiersz['tresc']."</p></td>
</tr>
<tr>
<td><p align=right> [ <a href=index.php?pokaz=komentarze&id=".$wiersz['id'].">komentarze: ".$ilosckomentarzy."</a> ]</p>
</td>
</tr>
</table><BR>
";}

echo "<center>Wszystkich newsów w bazie:<B>";

$zapytanie = mysql_query("SELECT COUNT(id) FROM news");
$liczba = mysql_result($zapytanie, 0);
echo "$liczba";

echo "</b><BR><a href=dodaj.php>Panel administracyjny</a></center>";

}

if($pokaz=="komentarze"){
if($add=="yes" && isset($id) && isset($autor) && isset($tresc)) {
$zap = "INSERT INTO komentarze (subid, autor, tresc, data, ip, mail) VALUES('$id','$autor','$tresc','$data','$REMOTE_ADDR', '$mail')";
mysql_query($zap) or die(mysql_error());
}

$zapytanie = "SELECT * FROM news WHERE id=$id";
$odczyt = mysql_query($zapytanie) or die(mysql_error());
while($wiersz=mysql_fetch_array($odczyt)) {
$ilosc = "SELECT * FROM komentarze WHERE subid='".$wiersz['id']."'";
$komentarze = mysql_query($ilosc) or die(mysql_error());
$ilosckomentarzy = mysql_num_rows($komentarze);
echo "
<table border=0 width=500 align=center>
<tr>
<td colspan=2 bgcolor=black><B>".$wiersz['tytul']."</B> [ author: ".$wiersz['autor']." // date: ".$wiersz['data']." ]</td>
</tr>
<tr>
<td colspan=2>".$wiersz['tresc']."</td>
</tr>
<tr>
<td><p align=right> [ <a href=index.php?pokaz=komentarze&id=".$wiersz['id'].">komentarze: ".$ilosckomentarzy."</a> | <a href=index.php>powrot

do newsow</a> ]</p>
</td>
</tr>
</table>
<hr color=#643B63 width=500>
<center><b>.. Komentarze do newsa ..</b><br><br></center>
";
}
$komentarze = "SELECT * FROM komentarze WHERE subid=$id";
$pobierz = mysql_query($komentarze);
while($wiersz=mysql_fetch_array($pobierz)) {
echo "
<table border=0 width=500 align=center>
<tr>
<td colspan=2 bgcolor=4D4D4D>Autor: <a href=mailto:".$wiersz['mail'].">".$wiersz['autor']."</a> // date: ".($wiersz['data'])."</td>
</tr>
<tr>
<td colspan=2>".$wiersz['tresc']."</td>
</tr>
</table>
";
}
echo"<FORM ACTION=index.php?pokaz=komentarze method=POST>
<INPUT type=hidden name=id value='$id'>
<INPUT type=hidden name=add value=yes>
<TABLE border=1 bordercolor=#643B63 align=center>
<TR><TD colspan=2><B>Dodaj komentarz</B></td></tr>
<TR><TD><B>Autor</B></TD><TD><INPUT type=text name=autor MAXSIZE=70></TD></TR>
<TR><TD><B>Mail</B></TD><TD><INPUT type=text name=mail MAXSIZE=70></TD></TR>
<TR><TD><B>Komentarz</B></TD><TD><TEXTAREA NAME=tresc cols=50 rows=6></TEXTAREA></TD></TR><TR><TD><INPUT type=submit value=Napisz></TD><TD>

</TD></TR></TABLE>";
}
?>
[/php:1:74cb2d1088]

z gory dziekuje za wszelka pomoc!
czachor
Ten pierwszy klucz masz zapewne ustawiony jako PRIMARY_KEY - wartości w nim nie mogą się powtarzać. Albo wykasuj PRIMARY, albo musisz wstawiać wartość, która nie wystąpiła w tym polu.
Jak nagadałem bzdur, niech mnie ktoś poprawi smile.gif
hwao
php pocz -> Skrypty
batat
Cytat
Ten pierwszy klucz masz zapewne ustawiony jako PRIMARY_KEY - wartości w nim nie mogą się powtarzać. Albo wykasuj PRIMARY, albo musisz wstawiać wartość, która nie wystąpiła w tym polu.
Jak nagadałem bzdur, niech mnie ktoś poprawi smile.gif

hmm czachor, probowalem usuwac primary, potem unique z tabeli komentarze ale to nic nie dalo :/ chyba ze ja czegos do konca nie zrozumialem albo nie zrobilem smile.gif help smile.gif
batat
nikt nie wie jak to zrobic questionmark.gif ;-(
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.