Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Piszę stronę do codziennego użytku i mam problem z odświeżeniem strony
arstherapia
post
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 13.08.2014

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


Witajcie,

piszę sobie taką prostą stronkę czytającą notatki z bazy danych + podstawowy CRUD. Bardzo ułatwi mi to życie.
Ta mini appka prawie działa - ale mam problem - po dodaniu lub edycji notatki do bazy muszę ręcznie odświeżać stronę, żeby była widoczna.
Błąd - headers already sent... A ja chciałbym, żeby pokazywała się ta sama strona, tylko zaktualizowana (IMG:style_emoticons/default/sad.gif)

W urlu są dwie zmienne pochodzące z linka ze strony głównej - nazwa tabeli w bazie i typ operacji crud + pole id tej operacji.

Pomóżcie proszę. Kod jeszcze w rozsypce:

  1. <?php
  2.  
  3. include('partials/header.php');
  4.  
  5. define('_HOST_NAME','localhost');
  6. define('_DATABASE_NAME','pacjenci');
  7. define('_DATABASE_USER_NAME','root');
  8. define('_DATABASE_PASSWORD','hobbiton');
  9.  
  10. $MySQLiconn = new MySQLi(_HOST_NAME,_DATABASE_USER_NAME,_DATABASE_PASSWORD,_DATABASE_NAME);
  11.  
  12. if($MySQLiconn->connect_errno)
  13. {
  14. die("ERROR : -> ".$MySQLiconn->connect_error);
  15. }
  16.  
  17. ?>
  18.  
  19. <div class="col-lg-10">
  20.  
  21. <?php $table=$_GET['table'];?>
  22.  
  23. <hr><h3><?php echo $table?></h3><br>
  24.  
  25. <table class="table table-bordered">
  26.  
  27. <?php $res = $MySQLiconn->query("SELECT * FROM $table");
  28. while($row=$res->fetch_array())
  29. {
  30. ?>
  31.  
  32. <tr>
  33. <td class="col-md-1"><?php echo $row['id']; ?></td>
  34. <td class="col-md-2"><?php echo $row['data']; ?></td>
  35. <td class="col-md-7"><?php echo $row['sesja']; ?></td>
  36. <td class="col-md-1"><a href="?edit=<?php echo $row['id'];?>&table=<?php echo $table?>" class="btn btn-default" role="button">Edytuj</a></td>
  37.  
  38. <td class="col-md-1"><a href="?del=<?php echo $row['id'];?>&table=<?php echo $table?>" class="btn btn-default" role="button">Usuń</a></td>
  39. </tr>
  40. <?php
  41. }
  42. ?>
  43. </table>
  44.  
  45. <hr><h3>Dodaj nową sesję:</h3>
  46.  
  47. <div id="form">
  48. <form method="post">
  49.  
  50. <div class="form-group">
  51. <label for="data"></label>
  52. <input class="form-control" type="date" name="data" placeholder="data" value="<?php if(isset($_GET['edit'])) echo $getROW['data']; ?>">
  53. </div>
  54.  
  55. <div class="form-group">
  56. <label for="sesja"></label>
  57. <textarea class="form-control" rows="8" type="text" name="sesja" placeholder="sesja" value="<?php if(isset($_GET['edit'])) echo $getROW['sesja']; ?>"></textarea>
  58. </div>
  59.  
  60. <?php
  61. if(isset($_GET['edit']))
  62. {
  63. ?>
  64. <button class="btn btn-default" type="submit" name="update">Uaktualnij</button>
  65. <?php
  66. }
  67. else
  68. {
  69. ?>
  70. <button class="btn btn-default" type="submit" name="save">Zapisz</button>
  71. <?php
  72. }
  73. ?>
  74. </td>
  75. </tr>
  76. </table>
  77. </form>
  78.  
  79. </div>
  80.  
  81. </div>
  82.  
  83. <?php
  84.  
  85. include_once 'db.php';
  86.  
  87. /* code for data insert */
  88.  
  89. if(isset($_POST['save']))
  90. {
  91.  
  92. $data = $MySQLiconn->real_escape_string($_POST['data']);
  93. $sesja = $MySQLiconn->real_escape_string($_POST['sesja']);
  94.  
  95. $SQL = $MySQLiconn->query("INSERT INTO $table(data,sesja) VALUES('$data','$sesja')");
  96.  
  97. if(!$SQL)
  98. {
  99. echo $MySQLiconn->error;
  100. }
  101. }
  102. /* code for data insert */
  103.  
  104.  
  105. /* code for data delete */
  106.  
  107.  
  108. if(isset($_GET['del']))
  109.  
  110. {
  111. $SQL = $MySQLiconn->query("DELETE FROM $table WHERE id=".$_GET['del']);
  112.  
  113. ?>
  114. <script language="javascript" type="text/javascript">
  115. alert('Dziekujemy!');
  116.  
  117. </script><?php
  118.  
  119. }
  120.  
  121. /* code for data delete */
  122.  
  123.  
  124.  
  125. /* code for data update */
  126. if(isset($_GET['edit']))
  127. {
  128. $SQL = $MySQLiconn->query("SELECT * FROM $table WHERE id=".$_GET['edit']);
  129. $getROW = $SQL->fetch_array();
  130. }
  131.  
  132. if(isset($_POST['update']))
  133. {
  134. $SQL = $MySQLiconn->query("UPDATE $table SET data='".$_POST['data']."', sesja='".$_POST['sesja']."' WHERE id=".$_GET['edit']);
  135.  
  136.  
  137. }
  138. /* code for data update */
  139.  
  140. ?>
  141.  
  142. <?php
  143.  
  144. include('partials/footer.php');
  145.  
  146. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Najpierw wyswietlasz rekordy a dopiero potem edytujesz i wielce zdziwiony ze wyswietlone rekordy nie zawieraja zmian... Toz to logika na poziomie zlobka jest. Warto abys sam zastosowal sie do swojego avatara (IMG:style_emoticons/default/wink.gif)
Najpierw masz edytowac/kasowac/dodawac a dopiero potem wyswietlac - wowczas bedziesz widzial zmiany od razu.
Go to the top of the page
+Quote Post
arstherapia
post
Post #3





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 13.08.2014

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


Cytat(nospor @ 23.08.2015, 13:25:23 ) *
Najpierw wyswietlasz rekordy a dopiero potem edytujesz i wielce zdziwiony ze wyswietlone rekordy nie zawieraja zmian... Toz to logika na poziomie zlobka jest. Warto abys sam zastosowal sie do swojego avatara (IMG:style_emoticons/default/wink.gif)
Najpierw masz edytowac/kasowac/dodawac a dopiero potem wyswietlac - wowczas bedziesz widzial zmiany od razu.


Dopiero się uczę, próbowałem też tak, ale teraz to już w ogóle nie działa...

  1. <?php
  2.  
  3. include('partials/header.php');
  4.  
  5. define('_HOST_NAME','localhost');
  6. define('_DATABASE_NAME','pacjenci');
  7. define('_DATABASE_USER_NAME','root');
  8. define('_DATABASE_PASSWORD','hobbiton');
  9.  
  10. $MySQLiconn = new MySQLi(_HOST_NAME,_DATABASE_USER_NAME,_DATABASE_PASSWORD,_DATABASE_NAME);
  11.  
  12. if($MySQLiconn->connect_errno)
  13. {
  14. die("ERROR : -> ".$MySQLiconn->connect_error);
  15. }
  16.  
  17. ?>
  18.  
  19. <?php
  20.  
  21.  
  22.  
  23. /* code for data insert */
  24.  
  25. if(isset($_POST['save']))
  26. {
  27.  
  28. $data = $MySQLiconn->real_escape_string($_POST['data']);
  29. $sesja = $MySQLiconn->real_escape_string($_POST['sesja']);
  30.  
  31. $SQL = $MySQLiconn->query("INSERT INTO $table(data,sesja) VALUES('$data','$sesja')");
  32.  
  33. if(!$SQL)
  34. {
  35. echo $MySQLiconn->error;
  36. }
  37. }
  38. /* code for data insert */
  39.  
  40.  
  41. /* code for data delete */
  42.  
  43.  
  44. if(isset($_GET['del']))
  45.  
  46. {
  47. $SQL = $MySQLiconn->query("DELETE FROM $table WHERE id=".$_GET['del']);
  48.  
  49. ?>
  50. <script language="javascript" type="text/javascript">
  51. alert('Dziekujemy!');
  52.  
  53. </script><?php
  54.  
  55. }
  56.  
  57. /* code for data delete */
  58.  
  59.  
  60.  
  61. /* code for data update */
  62. if(isset($_GET['edit']))
  63. {
  64. $SQL = $MySQLiconn->query("SELECT * FROM $table WHERE id=".$_GET['edit']);
  65. $getROW = $SQL->fetch_array();
  66. }
  67.  
  68. if(isset($_POST['update']))
  69. {
  70. $SQL = $MySQLiconn->query("UPDATE $table SET data='".$_POST['data']."', sesja='".$_POST['sesja']."' WHERE id=".$_GET['edit']);
  71.  
  72.  
  73. }
  74. /* code for data update */
  75.  
  76. ?>
  77.  
  78. <div class="col-lg-10">
  79.  
  80. <?php $table=$_GET['table'];?>
  81.  
  82. <hr><h3><?php echo $table?></h3><br>
  83.  
  84. <table class="table table-bordered">
  85.  
  86. <?php $res = $MySQLiconn->query("SELECT * FROM $table");
  87. while($row=$res->fetch_array())
  88. {
  89. ?>
  90.  
  91. <tr>
  92. <td class="col-md-1"><?php echo $row['id']; ?></td>
  93. <td class="col-md-2"><?php echo $row['data']; ?></td>
  94. <td class="col-md-7"><?php echo $row['sesja']; ?></td>
  95. <td class="col-md-1"><a href="?edit=<?php echo $row['id'];?>&table=<?php echo $table?>" class="btn btn-default" role="button">Edytuj</a></td>
  96.  
  97. <td class="col-md-1"><a href="?del=<?php echo $row['id'];?>&table=<?php echo $table?>" class="btn btn-default" role="button">Usuń</a></td>
  98. </tr>
  99. <?php
  100. }
  101. ?>
  102. </table>
  103.  
  104. <hr><h3>Dodaj nową sesję:</h3>
  105.  
  106. <div id="form">
  107. <form method="post">
  108.  
  109. <div class="form-group">
  110. <label for="data"></label>
  111. <input class="form-control" type="date" name="data" placeholder="data" value="<?php if(isset($_GET['edit'])) echo $getROW['data']; ?>">
  112. </div>
  113.  
  114. <div class="form-group">
  115. <label for="sesja"></label>
  116. <textarea class="form-control" rows="8" type="text" name="sesja" placeholder="sesja" value="<?php if(isset($_GET['edit'])) echo $getROW['sesja']; ?>"></textarea>
  117. </div>
  118.  
  119. <?php
  120. if(isset($_GET['edit']))
  121. {
  122. ?>
  123. <button class="btn btn-default" type="submit" name="update">Uaktualnij</button>
  124. <?php
  125. }
  126. else
  127. {
  128. ?>
  129. <button class="btn btn-default" type="submit" name="save">Zapisz</button>
  130. <?php
  131. }
  132. ?>
  133. </td>
  134. </tr>
  135. </table>
  136. </form>
  137.  
  138. </div>
  139.  
  140. </div>
  141.  
  142.  
  143.  
  144. <?php
  145.  
  146. include('partials/footer.php');
  147.  
  148. ?>




Oj, chyba coś mylę. Logika:

1. Wyświetlić tabelę z notatkami pacjentów.
2. Obok rekordów - data - notatka - przyciski edytuj / usuń.
3. Umieścić pod spodem formularz dodawania nowej notatki

4. Jeśli dodaj nową notatkę - to wpis do bazy i przeładuj all.
5. Jeśli kliknięcie na usuń - to usuń z bazy i przeładuj all.
6. Jeśli edycja, to w polach formularza dodawania wyświetl pola wg id,
zmień przycisk na uaktualnij i insert to do bazy. Potem przeładuj.

Chyba nie rozumiem, jak mam najpierw edytować, a potem wyświetlić, jeśli to jest na jednej stronie:(
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 13.10.2025 - 09:12