Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> php dublowanie wyświatlonych danych punkt/podpunkt
KFMon
post 8.11.2016, 14:49:32
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 26.11.2013

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


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ź.
Go to the top of the page
+Quote Post
markonix
post 8.11.2016, 15:23:49
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


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.


--------------------
Go to the top of the page
+Quote Post
emstawicki
post 10.11.2016, 08:12:41
Post #3





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

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


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.


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
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 Wersja Lo-Fi Aktualny czas: 27.05.2024 - 11:12