Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Automatyczne przypisanie do kategorii
andrzejlechniak
post
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
ciekawskiii
post
Post #2





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


Kazdemu komentarzowi przypisuj id wiadomosci


--------------------
Go to the top of the page
+Quote Post
andrzejlechniak
post
Post #3





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

Ostrzeżenie: (0%)
-----


Ale jak, gdzie, czy w tym fragmencie zapisywania do bazy czy odczytywania z niej danych? W którym fragmencie w skrypcie?
Go to the top of the page
+Quote Post
ciekawskiii
post
Post #4





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


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


--------------------
Go to the top of the page
+Quote Post
andrzejlechniak
post
Post #5





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

Ostrzeżenie: (0%)
-----


Zrobiłem, co radziłeś, ale mam taki efekt, że wciąż do wiadomości mam jeden przypisany komentarz
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 03:25