Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Edytowanie rekordu w bazie ze strony...
Forum PHP.pl > Forum > Przedszkole
kondziu9516
Mam taki oto kod stronki:
Wszystko działa... Dodaje do bazy, usuwa, ale jak dam edit to wtedy wyświetlają się pola do edycji-> prawidłowo.
No i tu problem bo po edycji jak dam popraw to powinno poprawić a dodane nowy rekord do bazy.
Jak to zrobić?
Co źle napisane? Gdzie błąd?

  1. <?PHP
  2. ini_set( 'display_errors', 'Off' );
  3. error_reporting( E_ALL );
  4. ?>
  5.  
  6.  
  7. <form action="index.php" method="post">
  8. Imię:<br />
  9. <input type="text" name="imie" /><br />
  10. Nazwisko: <br />
  11. <input type="text" name="nazwisko" /><br />
  12. E-mail:<br />
  13. <input type="text" name="email" /><br />
  14. <input type="submit" value="dodaj" />
  15. </form>
  16.  
  17. <?php
  18. $imie = $_POST['imie'];
  19. $nazwisko = $_POST['nazwisko'];
  20. $email = $_POST['email'];
  21.  
  22. if($imie and $nazwisko and $email) {
  23.  
  24.  
  25. $connection = @mysql_connect("xxx", "xxx", "xxx")
  26. or die('Brak połączenia z serwerem MySQL');
  27. $db = @mysql_select_db('xxx', $connection)
  28. or die('Nie mogę połączyć się z bazą danych');
  29.  
  30.  
  31. $ins = @mysql_query("INSERT INTO uzytkownicy SET imie='$imie', nazwisko='$nazwisko', email='$email'");
  32.  
  33. if($ins) echo "Rekord został dodany poprawnie";
  34. else echo "Błąd nie udało się dodać nowego rekordu";
  35.  
  36. mysql_close($connection);
  37. }
  38.  
  39. ?>
  40.  
  41. <hr>
  42. <hr>
  43.  
  44. <?php
  45.  
  46. $connection = @mysql_connect("xxx", "xxx", "xxx")
  47. or die('Brak połączenia z serwerem MySQL');
  48. $db = @mysql_select_db('xxx', $connection)
  49. or die('Nie mogę połączyć się z bazą danych');
  50.  
  51.  
  52.  
  53. $wynik = mysql_query("SELECT * FROM uzytkownicy")
  54. or die('Błąd zapytania');
  55.  
  56.  
  57. if(mysql_num_rows($wynik) > 0) {
  58. echo "<table cellpadding=\"2\" border=1 width=410px>";
  59.  
  60. echo "<tr>";
  61. echo "<td width=10px>Id</td>";
  62. echo "<td width=100px>Imie</td>";
  63. echo "<td width=100px>Nazwisko</td>";
  64. echo "<td width=100px>E-mail</td>";
  65. echo "<td width=100px>Opcje</td>";
  66. echo "</tr>";
  67.  
  68.  
  69.  
  70. echo "<table cellpadding=\"2\" border=1 width=410px>";
  71. while($r = mysql_fetch_assoc($wynik)) {
  72.  
  73.  
  74.  
  75.  
  76. echo "<tr>";
  77. echo "<td width=10px>".$r['id']."</td>";
  78. echo "<td width=100px>".$r['imie']."</td>";
  79. echo "<td width=100px>".$r['nazwisko']."</td>";
  80. echo "<td width=100px>".$r['email']."</td>";
  81. echo "<td width=100px>
  82. <a href=\"index.php?a=del&amp;id={$r['id']}\">DEL</a>
  83. <a href=\"index.php?a=edit&amp;id={$r['id']}\">EDIT</a>
  84. </td>";
  85. echo "</tr>";
  86. }
  87. echo "</table>";
  88. }
  89.  
  90.  
  91. $a = trim($_GET['a']);
  92. $id = trim($_GET['id']);
  93.  
  94. if($a == 'del' and !empty($id)) {
  95.  
  96.  
  97. mysql_query("DELETE FROM uzytkownicy WHERE id='$id'")
  98. or die('Błąd zapytania: '.mysql_error());
  99.  
  100. echo 'Rekord został usunięty z bazy';
  101. }
  102.  
  103.  
  104.  
  105. $a = trim($_REQUEST['a']);
  106. $id = trim($_GET['id']);
  107.  
  108. if($a == 'edit' and !empty($id)) {
  109.  
  110. $wynik = mysql_query("SELECT * FROM uzytkownicy WHERE
  111. id='$id'")
  112. or die('Błądd zapytania');
  113.  
  114. if(mysql_num_rows($wynik) > 0) {
  115. $r = mysql_fetch_assoc($wynik);
  116.  
  117. echo '<form action="index.php" method="post">
  118. <input type="hidden" name="a" value="save" />
  119. <input type="hidden" name="id" value="'.$id.'" />
  120. imię:<br />
  121. <input type="text" name="imie"
  122. value="'.$r['imie'].'" /><br />
  123. nazwisko:<br />
  124. <input type="text" name="nazwisko"
  125. value="'.$r['nazwisko'].'" /><br />
  126. e-mail:<br />
  127. <input type="text" name="email"
  128. value="'.$r['email'].'" /><br />
  129. <input type="submit" value="popraw" />
  130. </form>';
  131. }
  132. }
  133. elseif($a == 'save') {
  134. $id = $_POST['id'];
  135. $imie = trim($_POST['imie']);
  136. $nazwisko = trim($_POST['nazwisko']);
  137. $email = trim($_POST['email']);
  138. mysql_query("UPDATE uzytkownicy SET imie = '$imie', nazwisko = '$nazwisko', email = '$email' WHERE id = '$id'") or die('Błąd zapytania');
  139. echo 'Dane zostały zaktualizowane';
  140. }
  141.  
  142. ?>


Domyślam się że dokładniej tu chodzi o ten kod:

  1.  
  2. echo '<form action="index.php" method="post">
  3. <input type="hidden" name="a" value="save" />
  4. <input type="hidden" name="id" value="'.$id.'" />
  5. imię:<br />
  6. <input type="text" name="imie"
  7. value="'.$r['imie'].'" /><br />
  8. nazwisko:<br />
  9. <input type="text" name="nazwisko"
  10. value="'.$r['nazwisko'].'" /><br />
  11. e-mail:<br />
  12. <input type="text" name="email"
  13. value="'.$r['email'].'" /><br />
  14. <input type="submit" value="popraw" />
  15. </form>';
  16. }
  17. }
  18. elseif($a == 'save') {
  19. $id = $_POST['id'];
  20. $imie = trim($_POST['imie']);
  21. $nazwisko = trim($_POST['nazwisko']);
  22. $email = trim($_POST['email']);
  23. mysql_query("UPDATE uzytkownicy SET imie = '$imie', nazwisko = '$nazwisko', email = '$email' WHERE id = '$id'") or die('Błąd zapytania');
  24. echo 'Dane zostały zaktualizowane';
  25. }
Lombi
Po edycji to tez jest spełnione
  1. if($imie and $nazwisko and $email)

dlatego dodaje ci kolejny rekord.
Konstrukcja tego jest w ogóle błędna! Sprawdzaj wszystko, czy to jest dodaj, edytuj czy usuń.
kondziu9516
czyli co mam zmienić?
Byle działało... ;(

_________________________
EDIT:
Będę naprawdę Bardzo wdzięczny jakbyś mi to napisał...

To jest już mój ostatni problem !
Lombi
Byle działało... super podejście.
Przenieś to:
  1. $a = trim($_GET['a']);
  2. $id = trim($_GET['id']);

przed pierwsze if, a potem
  1. if($imie and $nazwisko and $email and $a!='edit')

kondziu9516
Cytat(Lombi @ 29.01.2012, 15:51:27 ) *
a potem
  1. if($imie and $nazwisko and $email and $a!='edit')


A to konkretnie gdzie?
Bo prubowałem w kilku miejscach i albo błąd albo bez zmian nie działa
Lombi
Zrób to po ludzku jak bozia przykazała.
  1. $a=$_GET['a'];
  2. if($a=='add')
  3. {
  4. // kod przy dodaniu rekordu
  5. }
  6. else if($a=='edit')
  7. {
  8. // kod przy edycji rekordu
  9. }
  10. else if($a=='del')
  11. {
  12. // kod przy usuwaniu rekordu
  13. }
17misiek09
hmm tak jakby to tak mialo wygladac wink.gif chyba ze sie myle tongue.gif

  1. <?PHP
  2. ini_set( 'display_errors', 'Off' );
  3. error_reporting( E_ALL );
  4. ?>
  5.  
  6.  
  7. <form action="index.php" method="post">
  8. Imię:<br />
  9. <input type="text" name="imie" /><br />
  10. Nazwisko: <br />
  11. <input type="text" name="nazwisko" /><br />
  12. E-mail:<br />
  13. <input type="text" name="email" /><br />
  14. <input type="submit" value="dodaj" />
  15. </form>
  16.  
  17. <?php
  18. $imie = $_POST['imie'];
  19. $nazwisko = $_POST['nazwisko'];
  20. $email = $_POST['email'];
  21.  
  22. if($imie and $nazwisko and $email) {
  23.  
  24.  
  25. $connection = @mysql_connect("xxx", "xxx", "xxx")
  26. or die('Brak połączenia z serwerem MySQL');
  27. $db = @mysql_select_db('xxx', $connection)
  28. or die('Nie mogę połączyć się z bazą danych');
  29.  
  30.  
  31. $ins = @mysql_query("INSERT INTO uzytkownicy SET imie='$imie', nazwisko='$nazwisko', email='$email'");
  32.  
  33. if($ins) echo "Rekord został dodany poprawnie";
  34. else echo "Błąd nie udało się dodać nowego rekordu";
  35.  
  36. mysql_close($connection);
  37. }
  38.  
  39. ?>
  40.  
  41. <hr>
  42. <hr>
  43. <?php
  44. $connection = @mysql_connect("xxx", "xxx", "xxx")
  45. or die('Brak połączenia z serwerem MySQL');
  46. $db = @mysql_select_db('xxx', $connection)
  47. or die('Nie mogę połączyć się z bazą danych');
  48.  
  49.  
  50.  
  51. $wynik = mysql_query("SELECT * FROM uzytkownicy")
  52. or die('Błąd zapytania');
  53.  
  54.  
  55. if(mysql_num_rows($wynik) > 0) {
  56. echo "<table cellpadding=\"2\" border=1 width=410px>";
  57.  
  58. echo "<tr>";
  59. echo "<td width=10px>Id</td>";
  60. echo "<td width=100px>Imie</td>";
  61. echo "<td width=100px>Nazwisko</td>";
  62. echo "<td width=100px>E-mail</td>";
  63. echo "<td width=100px>Opcje</td>";
  64. echo "</tr>";
  65.  
  66.  
  67.  
  68. echo "<table cellpadding=\"2\" border=1 width=410px>";
  69. while($r = mysql_fetch_assoc($wynik)) {
  70.  
  71.  
  72.  
  73.  
  74. echo "<tr>";
  75. echo "<td width=10px>".$r['id']."</td>";
  76. echo "<td width=100px>".$r['imie']."</td>";
  77. echo "<td width=100px>".$r['nazwisko']."</td>";
  78. echo "<td width=100px>".$r['email']."</td>";
  79. echo "<td width=100px>
  80. <a href=\"index.php?a=del&amp;id={$r['id']}\">DEL</a>
  81. <a href=\"index.php?a=edit&amp;id={$r['id']}\">EDIT</a>
  82. </td>";
  83. echo "</tr>";
  84. }
  85. echo "</table>";
  86. }
  87.  
  88. $a=$_GET['a'];
  89. $id = $_GET['id'];
  90.  
  91. if($a=='edit')
  92. {
  93. $wynik = mysql_query("SELECT * FROM uzytkownicy WHERE
  94. id='$id'")
  95. or die('Błądd zapytania');
  96.  
  97. if(mysql_num_rows($wynik) > 0) {
  98. $r = mysql_fetch_assoc($wynik);
  99.  
  100. echo '<form action="index.php" method="post">
  101. <input type="hidden" name="a" value="save" />
  102. <input type="hidden" name="id" value="'.$id.'" />
  103. imię:<br />
  104. <input type="text" name="imie"
  105. value="'.$r['imie'].'" /><br />
  106. nazwisko:<br />
  107. <input type="text" name="nazwisko"
  108. value="'.$r['nazwisko'].'" /><br />
  109. e-mail:<br />
  110. <input type="text" name="email"
  111. value="'.$r['email'].'" /><br />
  112. <input type="submit" value="popraw" />
  113. </form>';
  114. }
  115. }
  116. else if($a=='del')
  117. {
  118. if($a == 'del' and !empty($id)) {
  119.  
  120.  
  121. mysql_query("DELETE FROM uzytkownicy WHERE id='$id'")
  122. or die('Błąd zapytania: '.mysql_error());
  123.  
  124. echo 'Rekord został usunięty z bazy';
  125. }
  126. }
  127. ?>
kondziu9516
Niestety ale dalej jest coś nie tak bo zamiast aktualizować to dodaje nowy już zmieniony a poprzedni zostaje...;(
17misiek09
zmien linijki od 100 do 113:

  1. echo '<form action="index.php" method="get">
  2. <input type="hidden" name="a" value="save" />
  3. <input type="hidden" name="id" value="'.$id.'" />
  4. imię:<br />
  5. <input type="text" name="imie"
  6. value="'.$r['imie'].'" /><br />
  7. nazwisko:<br />
  8. <input type="text" name="nazwisko"
  9. value="'.$r['nazwisko'].'" /><br />
  10. e-mail:<br />
  11. <input type="text" name="email"
  12. value="'.$r['email'].'" /><br />
  13. <input type="submit" value="popraw" />
  14. </form>';


teraz musi byc
kondziu9516
hehe teraz wogóle nie dodaje ani nie aktualizuje...smile.gif
17misiek09
and now??

  1. <?PHP
  2. ini_set( 'display_errors', 'Off' );
  3. error_reporting( E_ALL );
  4. ?>
  5.  
  6.  
  7. <form action="index.php" method="post">
  8. Imię:<br />
  9. <input type="text" name="imie" /><br />
  10. Nazwisko: <br />
  11. <input type="text" name="nazwisko" /><br />
  12. E-mail:<br />
  13. <input type="text" name="email" /><br />
  14. <input type="submit" value="dodaj" />
  15. </form>
  16.  
  17. <?php
  18. $imie = $_POST['imie'];
  19. $nazwisko = $_POST['nazwisko'];
  20. $email = $_POST['email'];
  21.  
  22. if($imie and $nazwisko and $email) {
  23.  
  24.  
  25. $connection = @mysql_connect("xxx", "xxx", "xxx")
  26. or die('Brak połączenia z serwerem MySQL');
  27. $db = @mysql_select_db('xxx', $connection)
  28. or die('Nie mogę połączyć się z bazą danych');
  29.  
  30.  
  31. $ins = @mysql_query("INSERT INTO uzytkownicy SET imie='$imie', nazwisko='$nazwisko', email='$email'");
  32.  
  33. if($ins) echo "Rekord został dodany poprawnie";
  34. else echo "Błąd nie udało się dodać nowego rekordu";
  35.  
  36. mysql_close($connection);
  37. }
  38.  
  39. ?>
  40.  
  41. <hr>
  42. <hr>
  43. <?php
  44. $connection = @mysql_connect("xxx", "xxx", "xxx")
  45. or die('Brak połączenia z serwerem MySQL');
  46. $db = @mysql_select_db('xxx', $connection)
  47. or die('Nie mogę połączyć się z bazą danych');
  48.  
  49.  
  50.  
  51. $wynik = mysql_query("SELECT * FROM uzytkownicy")
  52. or die('Błąd zapytania');
  53.  
  54.  
  55. if(mysql_num_rows($wynik) > 0) {
  56. echo "<table cellpadding=\"2\" border=1 width=410px>";
  57.  
  58. echo "<tr>";
  59. echo "<td width=10px>Id</td>";
  60. echo "<td width=100px>Imie</td>";
  61. echo "<td width=100px>Nazwisko</td>";
  62. echo "<td width=100px>E-mail</td>";
  63. echo "<td width=100px>Opcje</td>";
  64. echo "</tr>";
  65.  
  66.  
  67.  
  68. echo "<table cellpadding=\"2\" border=1 width=410px>";
  69. while($r = mysql_fetch_assoc($wynik)) {
  70.  
  71.  
  72.  
  73.  
  74. echo "<tr>";
  75. echo "<td width=10px>".$r['id']."</td>";
  76. echo "<td width=100px>".$r['imie']."</td>";
  77. echo "<td width=100px>".$r['nazwisko']."</td>";
  78. echo "<td width=100px>".$r['email']."</td>";
  79. echo "<td width=100px>
  80. <a href=\"index.php?a=del&amp;id={$r['id']}\">DEL</a>
  81. <a href=\"index.php?a=edit&amp;id={$r['id']}\">EDIT</a>
  82. </td>";
  83. echo "</tr>";
  84. }
  85. echo "</table>";
  86. }
  87.  
  88. $a=$_POST['a'];
  89. $id = $_POST['id'];
  90.  
  91. if($a=='edit')
  92. {
  93. $wynik = mysql_query("SELECT * FROM uzytkownicy WHERE
  94. id='$id'")
  95. or die('Błądd zapytania');
  96.  
  97. if(mysql_num_rows($wynik) > 0) {
  98. $r = mysql_fetch_assoc($wynik);
  99.  
  100. echo "<form action='$PHP_SELF' method='post'>";
  101. echo '<input type="hidden" name="a" value="save" />
  102. <input type="hidden" name="id" value="'.$id.'" />
  103. imię:<br />
  104. <input type="text" name="imie"
  105. value="'.$r['imie'].'" /><br />
  106. nazwisko:<br />
  107. <input type="text" name="nazwisko"
  108. value="'.$r['nazwisko'].'" /><br />
  109. e-mail:<br />
  110. <input type="text" name="email"
  111. value="'.$r['email'].'" /><br />
  112. <input type="submit" value="popraw" />
  113. </form>';
  114. }
  115. }
  116. else if($a=='del')
  117. {
  118. if($a == 'del' and !empty($id)) {
  119.  
  120.  
  121. mysql_query("DELETE FROM uzytkownicy WHERE id='$id'")
  122. or die('Błąd zapytania: '.mysql_error());
  123.  
  124. echo 'Rekord został usunięty z bazy';
  125. }
  126. }
  127. ?>
kondziu9516
and now to wogole nawet nie da sie usunąć ani edytować...smile.gif
17misiek09
yhh biggrin.gif Loooombi ratuj!! biggrin.gif
a teraz?biggrin.gif

  1. <?PHP
  2. ini_set( 'display_errors', 'Off' );
  3. error_reporting( E_ALL );
  4. ?>
  5.  
  6.  
  7. <form action="index.php" method="post">
  8. Imię:<br />
  9. <input type="text" name="imie" /><br />
  10. Nazwisko: <br />
  11. <input type="text" name="nazwisko" /><br />
  12. E-mail:<br />
  13. <input type="text" name="email" /><br />
  14. <input type="submit" value="dodaj" />
  15. </form>
  16.  
  17. <?php
  18. $imie = $_POST['imie'];
  19. $nazwisko = $_POST['nazwisko'];
  20. $email = $_POST['email'];
  21.  
  22. if($imie and $nazwisko and $email) {
  23.  
  24.  
  25. $connection = @mysql_connect("xxx", "xxx", "xxx")
  26. or die('Brak połączenia z serwerem MySQL');
  27. $db = @mysql_select_db('xxx', $connection)
  28. or die('Nie mogę połączyć się z bazą danych');
  29.  
  30.  
  31. $ins = @mysql_query("INSERT INTO uzytkownicy SET imie='$imie', nazwisko='$nazwisko', email='$email'");
  32.  
  33. if($ins) echo "Rekord został dodany poprawnie";
  34. else echo "Błąd nie udało się dodać nowego rekordu";
  35.  
  36. mysql_close($connection);
  37. }
  38.  
  39. ?>
  40.  
  41. <hr>
  42. <hr>
  43. <?php
  44. $connection = @mysql_connect("xxx", "xxx", "xxx")
  45. or die('Brak połączenia z serwerem MySQL');
  46. $db = @mysql_select_db('xxx', $connection)
  47. or die('Nie mogę połączyć się z bazą danych');
  48.  
  49.  
  50.  
  51. $wynik = mysql_query("SELECT * FROM uzytkownicy")
  52. or die('Błąd zapytania');
  53.  
  54.  
  55. if(mysql_num_rows($wynik) > 0) {
  56. echo "<table cellpadding=\"2\" border=1 width=410px>";
  57.  
  58. echo "<tr>";
  59. echo "<td width=10px>Id</td>";
  60. echo "<td width=100px>Imie</td>";
  61. echo "<td width=100px>Nazwisko</td>";
  62. echo "<td width=100px>E-mail</td>";
  63. echo "<td width=100px>Opcje</td>";
  64. echo "</tr>";
  65.  
  66.  
  67.  
  68. echo "<table cellpadding=\"2\" border=1 width=410px>";
  69. while($r = mysql_fetch_assoc($wynik)) {
  70.  
  71.  
  72.  
  73.  
  74. echo "<tr>";
  75. echo "<td width=10px>".$r['id']."</td>";
  76. echo "<td width=100px>".$r['imie']."</td>";
  77. echo "<td width=100px>".$r['nazwisko']."</td>";
  78. echo "<td width=100px>".$r['email']."</td>";
  79. echo "<td width=100px>
  80. <a href=\"index.php?a=del&amp;id={$r['id']}\">DEL</a>
  81. <a href=\"index.php?a=edit&amp;id={$r['id']}\">EDIT</a>
  82. </td>";
  83. echo "</tr>";
  84. }
  85. echo "</table>";
  86. }
  87.  
  88. $a=$_GET['a'];
  89. $id = $_GET['id'];
  90.  
  91. if($a=='edit')
  92. {
  93. $wynik = mysql_query("SELECT * FROM uzytkownicy WHERE
  94. id='$id'")
  95. or die('Błądd zapytania');
  96.  
  97. if(mysql_num_rows($wynik) > 0) {
  98. $r = mysql_fetch_assoc($wynik);
  99.  
  100. echo '<form action="index.php" method="post">
  101. <input type="hidden" name="a" value="save" />
  102. <input type="hidden" name="id" value="'.$id.'" />
  103. imię:<br />
  104. <input type="text" name="imie"
  105. value="'.$r['imie'].'" /><br />
  106. nazwisko:<br />
  107. <input type="text" name="nazwisko"
  108. value="'.$r['nazwisko'].'" /><br />
  109. e-mail:<br />
  110. <input type="text" name="email"
  111. value="'.$r['email'].'" /><br />
  112. <input type="submit" value="popraw" />
  113. </form>';
  114. }
  115. $id = $_POST['id'];
  116. $imie = trim($_POST['imie']);
  117. $nazwisko = trim($_POST['nazwisko']);
  118. $email = trim($_POST['email']);
  119. mysql_query("UPDATE uzytkownicy SET imie = '$imie', nazwisko = '$nazwisko', email = '$email' WHERE id = '$id'") or die('Błąd zapytania');
  120. echo 'Dane zostały zaktualizowane';
  121. }
  122. else if($a=='del')
  123. {
  124. if($a == 'del' and !empty($id)) {
  125.  
  126.  
  127. mysql_query("DELETE FROM uzytkownicy WHERE id='$id'")
  128. or die('Błąd zapytania: '.mysql_error());
  129.  
  130. echo 'Rekord został usunięty z bazy';
  131. }
  132. }
  133. ?>
IceManSpy
Czy nie łatwiej będzie zrobić tak jak zaproponował Lombi:
http://forum.php.pl/index.php?showtopic=19...mp;#entry935328

Ale jego kod przerobiłbym na switch-case -> będzie czytelniejsze. Nie musisz pisać od nowa wszystkiego, tylko uporządkuj sobie.
17misiek09
Cytat(IceManSpy @ 29.01.2012, 23:46:54 ) *
Czy nie łatwiej będzie zrobić tak jak zaproponował Lombi:
http://forum.php.pl/index.php?showtopic=19...mp;#entry935328

Ale jego kod przerobiłbym na switch-case -> będzie czytelniejsze. Nie musisz pisać od nowa wszystkiego, tylko uporządkuj sobie.


ale czyz nie tak ja zrobilem? biggrin.gif tylko ponoc nie dziala..
IceManSpy
Cytat(17misiek09 @ 29.01.2012, 23:52:31 ) *
ale czyz nie tak ja zrobilem? biggrin.gif tylko ponoc nie dziala..

Fakt, nie patrzyłem na Twój kod. Ale dalej zrobiłeś to nieudolnie. Już tłumaczę ten post:
http://forum.php.pl/index.php?showtopic=19...mp;#entry935415

linijka 18-37
To Ci się zawsze wykona jak puścisz formularz -> dlatego dodaje Ci rekord.

linijka 88
Gdzie masz zmienną $_POST['a']?
Chodzi Ci raczej o $_GET['a']

linijka 91-115
Po co wyświetlać drugi raz ten sam formularz?

linijka 116-126
Po co robić 2 if'y? Połącz w jeden z 116 i 118.
kondziu9516
A mógłbyś mi to na gotowo przerobićquestionmark.gif
Byłbym bardzo wdzięczny.. wink.gif

A może ma ktoś pomysł jak to zrobić inaczej?
W wielu plikach?
Lombi
Ale marudzisz smile.gif
Masz tu dokładny zarys tylko powstawiać dobre (z twojego skryptu) zapytania do bazy.
Nie sprawdzałem tego i pisałem na kolanie żeby pokazać co i jak.
  1. $connection=mysql_connect("xxx","xxx","xxx");
  2. $db=mysql_select_db('xxx',$connection);
  3. $str=$_GET['str'];
  4. $id=$_GET['id'];
  5. if($str=='edit')
  6. {
  7. if(isset($_POST['save'])&&!empty($_POST['save']))
  8. {
  9. $imie=$_POST['imie'];
  10. $nazwisko=$_POST['nazwisko'];
  11. $email=$_POST['email'];
  12. if(empty($id))
  13. mysql_query("INSERT...");
  14. // jeśli sukces INSERT można oproznić tablice POST i zmienne $imie, $nazwisko, $email
  15. // jeśli if ma wykonać więcej niż jedną linijkę to tą procedurę umieść w nawiasach { jakiś kod }
  16. else
  17. mysql_query("UPDATE ... WHERE id='$id'");
  18. // czy nastopił update sprawdz przy pomocy mysql_affected_rows()
  19. }
  20. else
  21. {
  22. $wynik=mysql_query("SELECT * FROM uzytkownicy WHERE id='$id'");
  23. $r=mysql_fetch_assoc($wynik);
  24. $imie=$r['imie'];
  25. $nazwisko=$r['nazwisko'];
  26. $email=$r['email'];
  27. }
  28. echo '
  29. <form action="" method="post">
  30. Imię: <input type="text" name="imie" value="'.$imie.'" /><br />
  31. Nazwisko: <input type="text" name="nazwisko" value="'.$nazwisko.' /><br />
  32. E-mail: <input type="text" name="email" value="'.$email.' /><br />
  33. <input type="submit" name="save" value="zapisz" />
  34. </form>
  35. ';
  36. }
  37. else if($str=='list')
  38. {
  39. if(!empty($id))
  40. mysql_query("DELETE FROM uzytkownicy WHERE id='$id'");
  41. // czy nastopiło usunięcie sprawdz przy pomocy mysql_affected_rows()
  42. $wynik=mysql_query("SELECT * FROM uzytkownicy")
  43. if(mysql_num_rows($wynik)>0)
  44. {
  45. echo '
  46. <table width="410" border="1" cellpadding="2">
  47. <tr>
  48. <td width=10px>Id</td>
  49. <td width=100px>Imie</td>
  50. <td width=100px>Nazwisko</td>
  51. <td width=100px>E-mail</td>
  52. <td width=100px>Opcje</td>
  53. </tr>
  54. ';
  55. while($r=mysql_fetch_assoc($wynik))
  56. {
  57. echo "
  58. <tr>
  59. <td>$r[id]</td>
  60. <td>$r[imie]</td>
  61. <td>$r[nazwisko]</td>
  62. <td>$r[email]</td>
  63. <td><a href=\"index.php?str=list&id=$r[id]\">DEL</a> <a href=\"index.php?str=edit&id=$r[id]\">EDIT</a>
  64. </td>
  65. </tr>
  66. ";
  67. }
  68. echo '</table>';
  69. }
  70. }
  71. mysql_close($connection);

Nie dam Ci 100% rozwiazania. To tak jakbyś poszedł z dziewczyna do łóżka, położył sie na niej i czekał na trzesienie ziemi kurde!! Matka natura zmusza nas do pracy smile.gif
@IceManSpy nie chciało mi sie na przełączniku smile.gif

//EDIT: Oczywiście zaraz napiszesz że to nic nie wyświetla. To sprubój tak index.php?str=edit, index.php?str=list.
kondziu9516
Byłbym wdzięczny jakby ktoś mi to przerobił bądź przerobione zrobił na gotowo bo sobie coś z tym poradzić nie mogę...wink.gif
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.