Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php dublowanie wyświatlonych danych punkt/podpunkt
Forum PHP.pl > Forum > PHP
KFMon
Witam, mam mały problem.

Mam punkty i podpunkty. O ile punkty wstawiają się prawidłowo, to wpisywane podpunkty dodają się do wszystkich punktów. domyślam się ze trzeba zapewne wstawić w odpowiednim miejscu odwołanie do id punktu, natomiast jak nie zrobię to nie działa.

Co trzeba dodać/zmienić żeby podpunkty wstawiały się osobno do każdego punktu.

skrypty to config.php z danymi instalacyjnymi
add.php który dodaje punkty

i index.php w którym jest cała reszta, w mysql sa dwie tablice jedna dotyczy punktu druga podpunktu, każdy ma swoje id oraz po jednym wierszu odpowiedzialnym za teksty:
  1. <?php
  2. include_once 'config.php';
  3. $query1 = "SELECT * FROM punkt ";
  4. $query2 = "SELECT * FROM podpunkt ";
  5.  
  6.  
  7. if(isset($_POST['save2']))
  8. {
  9. $dwa = $_POST['dwa'];
  10. $res = mysql_query("INSERT podpunkt (dwa) VALUES('$dwa')");
  11. }
  12.  
  13. ?>
  14. <html>
  15. <head>
  16. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  17. <title>LISTA</title>
  18. </head>
  19. <body>
  20. <table>
  21. <tr>
  22. <th colspan="3"><a href="add.php">DODAJ PUNKT</a></th>
  23. </tr>
  24. <tr><td></td></tr>
  25.  
  26.  
  27. <?php
  28. $i=1;
  29. $result1 = mysql_query($query1);
  30. while($row=mysql_fetch_array($result1))
  31. {
  32. echo "<tr>";
  33. echo "<td><strong>".$i++."</strong></td>";
  34. echo "<td><strong>".$row['jeden']."</strong></td>";
  35. echo "</tr>";
  36.  
  37. ?>
  38.  
  39. <form method="post">
  40. <table>
  41. <tr>
  42. <td><input type="text" name="dwa" placeholder="podpunkt" /></td>
  43. <td>
  44. <button type="submit" name="save2"><strong>podpunkt</strong></button></td>
  45. </tr>
  46.  
  47. <?php
  48. $result2 = mysql_query($query2);
  49. while($row2=mysql_fetch_array($result2))
  50. {
  51. echo "<tr><td>".$row2['dwa']."</td>";
  52. }
  53. }
  54. ?>
  55. </table>
  56. </form>
  57. </body>
  58. </html>


Z góry dziękuję za podpowiedź.
markonix
Po pierwsze zmienić konstrukcje bazy bo po INSERT nie widzę w ogóle w tabeli `podpunkt` jakiegoś odwołania do "punktu" czyli jakieś point_id albo parent_id.
emstawicki
Złe założenia, złe wykonanie.
Zacznij od początku, zaprojektuj strukturę bazy danych z relacjami pomiędzy tabelami, użyj chociażby PDO do obsługi bazy danych (jak coś robisz od początku to po co używać przestarzałych rzeczy?).
Zacznij pisać skrypt rzetelnie i prawidłowo - obecnie druga pętla while otwiera x znaczników <table> i <form> po czym kolejne jako ich dzieci, a na koniec zamykasz po jednym znaczniku.
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.