Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]edycja rekordu nie działa i if submit.
Forum PHP.pl > Forum > Przedszkole
mattii
  1. <?php
  2. require "db_connect.php";
  3. // wywoluje funkcje db_connect()
  4. db_connect();
  5.  
  6.  
  7.  
  8.  
  9. $zapytanie= "SELECT * FROM users INNER JOIN osoba ON users.osoba_id_osoby = osoba.id_osoby ";
  10.  
  11.  
  12. $wynik = $bd_lacz->query($zapytanie);
  13. $ile=$wynik->num_rows;
  14.  
  15. $wynik=mysqli_query($bd_lacz, $zapytanie);
  16. $ile=mysqli_num_rows($wynik);
  17.  
  18. if ($ile==0) {
  19. echo "Baza danych nie zawiera jeszcze kontaktów";
  20. } else {
  21. ?>
  22. <form action="edit_edit.php" method="POST">
  23. <table id="rounded-corner" >
  24. <thead>
  25. <tr>
  26. <th scope="col" class="rounded-login">Id</th>
  27. <th scope="col" class="rounded-q1">Login</th>
  28. <th scope="col" class="rounded-q1">Hasło</th>
  29. <th scope="col" class="rounded-q2">Imię</th>
  30. <th scope="col" class="rounded-q3">Nazwisko</th>
  31. <th scope="col" class="rounded-q4">Ulica</th>
  32. <th scope="col" class="rounded-q5">Nr Domu</th>
  33. <th scope="col" class="rounded-q6">Nr Mieszkania</th>
  34. <th scope="col" class="rounded-q7">Miasto</th>
  35. <th scope="col" class="rounded-q8">Kod Pocztowy</th>
  36. <th scope="col" class="rounded-q9">Nr Telefonu</th>
  37. <th scope="col" class="rounded-q10">E-Mail</th>
  38. </tr>
  39. </thead>
  40.  
  41. <tbody>
  42.  
  43. <?php
  44.  
  45. for ($i=0;$i<$ile;$i++) {
  46. $wiersz=$wynik->fetch_assoc();
  47.  
  48.  
  49.  
  50. echo '<tr>';
  51. echo '<td>';
  52. echo $wiersz['id_usera'];
  53. echo'</td>';
  54. echo '<td>';
  55. echo '<input type="text" name="login" VALUE="'.$wiersz['login'].'">';
  56. echo'</td>';
  57. echo '<td>';
  58. echo '<input type="text" name="haslo" VALUE="'.$wiersz['haslo'].'">';
  59. echo'</td>';
  60. echo '<td>';
  61. echo '<input type="text" name="imie" VALUE="'.$wiersz['imie'].'">';
  62. echo'</td>';
  63. echo '<td>';
  64. echo '<input type="text" name="imie" VALUE="'.$wiersz['nazwisko'].'">';
  65. echo'</td>';
  66. echo '<td>';
  67. echo '<input type="text" name="imie" VALUE="'.$wiersz['ulica'].'">';
  68. echo'</td>';
  69. echo '<td>';
  70. echo '<input type="text" name="imie" VALUE="'.$wiersz['nr_domu'].'">';
  71. echo'</td>';
  72. echo '<td>';
  73. echo '<input type="text" name="imie" VALUE="'.$wiersz['nr_mieszkania'].'">';
  74. echo'</td>';
  75. echo '<td>';
  76. echo '<input type="text" name="imie" VALUE="'.$wiersz['miasto'].'">';
  77. echo'</td>';
  78. echo '<td>';
  79. echo '<input type="text" name="imie" VALUE="'.$wiersz['kod_pocztowy'].'">';
  80. echo'</td>';
  81. echo '<td>';
  82. echo '<input type="text" name="imie" VALUE="'.$wiersz['nr_telefonu'].'">';
  83. echo'</td>';
  84. echo '<td>';
  85. echo '<input type="text" name="imie" VALUE="'.$wiersz['e_mail'].'">';
  86. echo'</td>';
  87. echo'</tr></tbody>';
  88.  
  89.  
  90. }
  91. echo '<tfoot>
  92. <tr>
  93. <td colspan="12" class="rounded-foot-left"><em>Tabela przedstawia pracowników posiadających dostęp do programu</em></td>
  94. <td class="rounded-foot-right">&nbsp;</td>
  95. </tr>
  96. </tfoot>
  97. </table>';
  98. echo '<input type="submit" VALUE="edytuj">';
  99. }
  100.  
  101. ?>
  102.  


plik wyswietla dane z tabeli w polach formularza - tak aby umowzliwic ich edycje. - to działa

jednak w drugim pliku mam wlasnie skrypt ktory ma wykonac faktycznie ta edycja - czyli zapisac edytowane dane do bazy:

część jest okomentarzowana ponieważ probuje róznych rozwiązań w tym ktore zamieszczam sprawdzalem czy edycja usera działa - jak sie okazuje wysyła komunikat ze edycji dokonano, ale w bazie nic sie nie dzieje sad.gif - w czym jest problem questionmark.gif

oto plik:

  1. <?php
  2. $id_usera=$_POST['id_usera'];
  3. $login=$_POST['login'];
  4. $haslo=$_POST['haslo'];
  5. $id_osoby=$_POST['id_osoby'];
  6. $imie=$_POST['imie'];
  7. $nazwisko=$_POST['nazwisko'];
  8. $ulica=$_POST['ulica'];
  9. $nr_domu=$_POST['nr_domu'];
  10. $nr_mieszkania=$_POST['nr_mieszkania'];
  11. $miasto=$_POST['miasto'];
  12. $kod_pocztowy=$_POST['kod_pocztowy'];
  13. $nr_telefonu=$_POST['nr_telefonu'];
  14. $e_mail=$_POST['e_mail'];
  15.  
  16.  
  17.  
  18. require "db_connect.php";
  19. // wywoluje funkcje db_connect()
  20. db_connect();
  21.  
  22.  
  23. //$zapytanie="UPDATE users, osoba SET users.login='$login', users.haslo='$haslo' osoba.imie='$imie', osoba.nazwisko='$nazwisko', osoba.ulica='$ulica', osoba.nr_domu='$nr_domu',
  24. //osoba.nr_mieszkania='$nr_mieszkania', osoba.miasto='$miasto', osoba.kod_pocztowy='$kod_pocztowy',osoba.nr_telefonu='$nr_telefonu', osoba.e_mail='$e_mail' WHERE
  25. //users.osoba_id_osoby=osoba.id_osoby";
  26.  
  27. $zapytanie="UPDATE users SET login='$login', haslo='$haslo' WHERE id_usera='$id_usera'" ;
  28.  
  29. //$zapytanie2="UPDATE osoba SET imie='$imie', nazwisko='$nazwisko', ulica='$ulica', nr_domu='$nr_domu', nr_mieszkania='$nr_mieszkania', miasto='$miasto', kod_pocztowy='$kod_pocztowy',
  30. //nr_telefonu='$nr_telefonu', e_mail='$e_mail' WHERE users.osoba_id_osoby=osoba.id_osoby";
  31.  
  32. mysqli_query($bd_lacz, $zapytanie);
  33. $wynik = $bd_lacz->query($zapytanie);
  34.  
  35. //mysqli_query($bd_lacz, $zapytanie2);
  36. //$wynik2 = $bd_lacz->query($zapytanie2);
  37.  
  38. if($wynik) {
  39. echo "Osoba dodana do bazy.";
  40. }
  41.  
  42. if (!$wynik) {
  43. echo "Osoba nie została dodana do bazy. ";
  44. }
  45.  
  46. //if($wynik2) {
  47. //echo "Użytkownik dodany do bazy.";
  48. //}
  49.  
  50. //if (!$wynik2) {
  51. //echo "Użytkownik nie został dodany do bazy. ";
  52. //}
  53.  
  54.  
  55. ?>


mam jeszcze jedno pytanie:

mam przycisk:

  1. echo '<input type="submit" name="edycja" value="Edycja" >';


chciałbym aby po nacisnieciu tego przycisku wykonała sie jakas akcja:
  1. if($_POST[&#8216;edycja’])
  2. {
  3. //akcja
  4. }


tylko jakos mi to nie dizala:/ inaczej to ma byc questionmark.gif
PawelBah
Odnośnie drugiego wypróbuj:

  1. if(isset($_POST['edycja'])){
  2. //instrukcje
  3. }


A odnośnie pierwszego:

Raz używasz podejścia strukturalnego, a raz podejścia obiektowego(operacje na bazie danych), a więc najpierw uporządkuj kod bo przynajmniej dla mnie jest on strasznie mało czytelny.
mattii
Cytat(PawelBah @ 1.02.2010, 16:45:39 ) *
odnośnie pierwszego:

Raz używasz podejścia strukturalnego, a raz podejścia obiektowego(operacje na bazie danych), a więc najpierw uporządkuj kod bo przynajmniej dla mnie jest on strasznie mało czytelny.


czy możesz napisać dokładniej o co chodzi questionmark.gif ucze sie dopiero i nie wiem w czym jest błąd
PawelBah
Nie wiem jeszcze w czym jest błąd bo aż tak szczegółowo nie przeglądałem skryptu. Na pierwszy rzut oka widać, że masz użyte dwa podejścia do baz danych, jedno strukturalne(np. mysql_query), a jedno obiektowe($db->query(...)). Zaleca się używania jednego. Nie wiadomo również czy nie masz unikalnego indeksu na którejś z edytowanych wartości. Poza tym edytujesz tylko login i hasło, a więc być może nawet nie zmieniasz tych wartości, a oczekujesz zmiany innych. Warto abyś doczytał trochę o PHP i MySQL.
mattii

mysqli_query($bd_lacz, $zapytanie); wg ksiazki z kotrej sie ucze to to jest to samo co = $wynik = $bd_lacz->query($zapytanie);

unikalnego indeksu - nie mam

edytuje tylko login i hasło aby sprawdzić najepirw czy to działa - jak zacznie edycja tego działać to wtedy będę chciał edytować wszystko - metodą małych kroczków sprawdzam winksmiley.jpg - oczekuje zmiany tylko loginu i hasla nic wiecej - dopiero jak to zadziała to pojde dalej;)

czytam nieustannie o php i mysql;]



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.