Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] komentowanie newsów i pobieranie id
Forum PHP.pl > Forum > Przedszkole
beatZB
Witam, poczatkująca ma problem.
jedna baza- dwie tabele
przepis:
id|nazwa|przepis|kategoria
komentarz
idd|nick|komentarz|id_k - (id przepisu)

Jak zrobic, aby komentarz dodawany był do wyświetlanego przepisu, a nie tak jak jest teraz ( pod przepisem jest wyswietlany formularz, dodając komentarz jest on dodawany do wszystkich przepisów a nie do tego pod któwym wciśnięty został submit )

Wydaje mi się, że trzeba pobrac id przepisu z tabeli "przepis" i zapisac go w tabeli "komentarz" pod zmienną id_k. Tylko jak to zrobic?
i potem jak na podstawie zapisanego id przepisu w tabeli z komentarzami, wyświetlic je pod owymi przepisami?

wyświetlam dane o newsie (w moim przypadku przepisie kulinarnym)

CODE
  1. <?php
  2.  
  3. try
  4. {
  5. $pdo = new PDO('mysql:host=localhost;dbname=xxx', 'xxx', 'xxx') or die ('problem z nawiązaniem połączenia!');
  6.  
  7. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  8.  
  9. $stmt = $pdo->query("SELECT * FROM przepis WHERE kategoria='grill'");
  10.  
  11. echo '<ul>';
  12. foreach($stmt as $row)
  13. {
  14.  
  15.  
  16. '<li>'.$row['nazwa'].': '.$row['przepis'].'</li>' ;
  17.  
  18. include'komentarzepraw.php';
  19.  
  20. ?>
  21.  


includowany plik komentarzepraw.php to prosty skrypt z formularzem dodawania komentarzy.

CODE
  1.  
  2. <?php
  3. $pdo = new PDO('mysql:host=localhost;dbname=xxx', 'xxx', 'xxx') or die ('problem z nawiązaniem połączenia!');
  4.  
  5.  
  6.  
  7. try
  8. {
  9. if($_SERVER['REQUEST_METHOD'] == 'POST')
  10. {
  11.  
  12. $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  13. $stmt = $pdo -> prepare('INSERT INTO `komentarz` (`nick`, `komentarz`) VALUES(
  14. :nick,
  15. :komentarz)');
  16.  
  17. $stmt -> bindValue(':nick', $_POST['nick'], PDO::PARAM_STR);
  18. $stmt -> bindValue(':komentarz', $_POST['komentarz'], PDO::PARAM_STR);
  19. $komentarz = $stmt -> execute();
  20. // $stmt->execute();
  21.  
  22. if($komentarz > 0)
  23. {
  24. echo 'Twój komentarz został dodany pomyślnie!';
  25. }
  26. else
  27. {
  28. echo 'Wystapil blad podczas dodawania rekordow!';
  29. }
  30. }
  31. }
  32. catch(PDOException $e)
  33. {
  34. echo 'Wystapil blad biblioteki PDO: ' . $e->getMessage();
  35. }
  36.  
  37. ?>
  38.  
  39. <!DOCTYPE html>
  40. <html>
  41. <head>
  42.  
  43. <meta charset="utf-8">
  44. </head>
  45. <body>
  46. <form enctype="multipart/form-data" action="" method="post">
  47.  
  48. <p>Twój nick:<br>
  49. <input type="text" name="nick"/></p>
  50.  
  51. komentarz<br>
  52.  
  53. <textarea name="komentarz">twoj komentarz</textarea>
  54.  
  55.  
  56. <input type="submit" value="dodaj">
  57.  
  58.  
  59.  
  60. </form>
  61. </body>
  62. </html>
  63.  


Będę bardzo wdzięczna za pomoc...
nospor
Zapytaj poczatkujacej z tego tematu:
http://forum.php.pl/index.php?showtopic=23...p;#entry1143856
ma identyczny problem
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.