Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Automatyczne przypisanie do kategorii
Forum PHP.pl > Forum > Przedszkole
andrzejlechniak
Piszę serwis, gdzie są wiadomości i komentarze do tych wiadomości. I mam pytanko. Jak napisać skrypt, który automatycznie dopisze komentarz do konkretnej wiadomości. Mam taki kod, który wyświetla komentarz przypisany do wiadomości. Ale wciąż wyświetla: nie ma wyników, choć w bazie mam parę komentarzy.
  1. /////////////////////////////////
  2. $sql_2 = 'SELECT w.id wid, w.tytul wtytul, w.wiadomosc wwiadomosc, k.id kid, k.osoba kosoba, k.data kdata, k.tresc ktresc FROM komentarze k '.
  3. 'LEFT JOIN wiadomosci w ON w.id_komentarza = k.id WHERE k.id= '.$idNews.' ORDER BY k.id ASC';
  4. $res_2 = mysql_query($sql_2) or die(mysql_error());
  5.  
  6. while ($row = mysql_fetch_array($res_2))
  7. {
  8. extract($row);
  9. if(!isset($wid))
  10. {
  11. echo '<div class="komentarze_main_a">Nie ma wyników</div>';
  12. }
  13. else
  14. {
  15. echo '<div class="komentarze_main_a">';
  16. echo '<div class="komentarze_autor">Komentarz nr: <span>'.$kid.'</span> dodany przez: <span>'.$kosoba.'</span> | dnia: <span>'.$kdata.'</span></div>';
  17. echo '<div class="komentarze_tresc">'.$ktresc.'</div>';
  18. echo '</div>';
  19. echo '</div>';
  20. }
  21.  
  22. }


Myślę, że 'jakoś' można to ustawić w części formularza zapisującego do bazy danych. Taki jest formularz i zapis:
  1. if( isset( $_POST[ 'submit' ] ) )
  2. {
  3. $osoba = mysql_real_escape_string(htmlspecialchars($_POST['osoba']));
  4. $tresc = mysql_real_escape_string(htmlspecialchars($_POST['tresc']));
  5.  
  6. if(empty($osoba) || empty($tresc))
  7. {
  8. echo "Nazwa lub treść są puste";
  9. }
  10. else
  11. {
  12. $sql = "INSERT INTO komentarze (osoba,tresc,data) VALUES ('$osoba','$tresc',CURDATE());";
  13. $result = mysql_query($sql) or die( mysql_error()) ;
  14.  
  15. if($result)
  16. {
  17. echo 'Komentarz dodany poprawnie. <a href="index.php?id=wydarzenia&idnewsa='.$idNews.'">Odśwież</a> aby zobaczyć swój komentarz na stronie. ';
  18. }
  19. else
  20. {
  21. echo 'Komentarz nie zostal dodany.';
  22. }
  23. }
  24. }


Komentarze zostają dodane, ale nie są przypisane. Jak automatycznie przypisać komentarz do konkretnej wiadomości?
ciekawskiii
Kazdemu komentarzowi przypisuj id wiadomosci
andrzejlechniak
Ale jak, gdzie, czy w tym fragmencie zapisywania do bazy czy odczytywania z niej danych? W którym fragmencie w skrypcie?
ciekawskiii
tu gdzie dodajesz komentarz musisz miec id danej wiadomosci (trzymasz to id w sesji, cookie lub get) i do tabeli komentarze dodajesz to id:
  1. $sql
  2. = "INSERT INTO
  3. komentarze
  4. (id_wiadomosci,osoba,tresc,data) VALUES
  5. ('$id_wiadomosci','$osoba','$
  6. tresc',CURDATE());";

A pozniej te komentarze wyswietlasz warunkiem
  1. WHERE id_wiadomosci='$id_wiadomosci'


Cos w tym stylu, pokombinuj sam, tez sie kiedys z tym meczylem ale ogolnie to jest proste
andrzejlechniak
Zrobiłem, co radziłeś, ale mam taki efekt, że wciąż do wiadomości mam jeden przypisany komentarz
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-2025 Invision Power Services, Inc.