Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Edycja rekordów
Forum PHP.pl > Forum > Przedszkole
wiktor1984
  1. <?php
  2. $wynik = mysql_query("SELECT * FROM category")
  3. or die('Błąd zapytania');
  4.  
  5. if(mysql_num_rows($wynik) > 0){
  6.  
  7.  
  8. while($r = mysql_fetch_assoc($wynik)) {
  9.  
  10. echo $r['id'];
  11. echo $r['name'];
  12. echo '<input type="text" name="XXX" VALUE="XXX" class="text" ><input type="submit" name="XXX" value="Edit">';
  13. echo '<br><br>';
  14.  
  15. }
  16.  
  17. }
  18. else {
  19. echo"Brak Kategori";
  20. }
  21.  
  22. ?>
  23.  
  24.  
  25.  
  26. <?php
  27. if ( isset($_POST['submit']) )
  28. {
  29. $query = "UPDATE category SET name='$_POST[XXX]' WHERE id ='XXX'";
  30. $result = @mysql_query ($query);
  31.  
  32. }
  33. ?>


Próbuje napisać edycje kategorii niech ktoś napisze czy dobrze kombinuje?
jak umieścić zmienną $r['name'] tu VALUE="XXX" ze względu na podwójne użycie ' wywala mi błąd można to jakoś inaczej zapisać?

Przy pojedyńczej edycji rekordu wszystko działa jak należy:

  1. <form action="index.php" method="post">
  2. <input type="text" name="title" VALUE="<?php echo"$title";?>" class="text">
  3. <input type="submit" name="submitconf" value="Zapisz">
  4. </form>
  5.  
  6.  
  7. $query = "UPDATE config SET title='$_POST[title]' WHERE id ='1'";
  8. $result = @mysql_query ($query);
  9.  




jahonen
Dobrze kobinujesz. $r['name'] wstaw jako zmienną sesji
wiktor1984
Zrobiłem coś takiego o dziwo działa

  1. if(mysql_num_rows($wynik) > 0){
  2.  
  3.  
  4. while($r = mysql_fetch_assoc($wynik)) {
  5.  
  6. echo $r['id'];
  7. echo $r['name'];
  8.  
  9. $name = $r['name'];
  10. $id = $r['id'];
  11.  
  12. echo '<form action="test.php" method="post"><input type="text" name="';
  13. echo $id;
  14. echo '" VALUE="';
  15. echo $name;
  16. echo '" class="text" ><input type="submit" name="$id" value="Edit"></form>';
  17. echo '<br><br>';
  18.  
  19. }
  20.  
  21. }
  22. else {
  23. echo"Brak Kategori";
  24. }


Jednak ten kawałek kodu musi wyglądać tak:
  1. echo '<form action="test.php" method="post"><input type="text" name="';
  2. echo $id;
  3. echo '" VALUE="';
  4. echo $name;
  5. echo '" class="text" ><input type="submit" name="$id" value="Edit"></form>';
  6. echo '<br><br>';

jak zapisze go w ten sposób to nie działa
  1. echo '<form action="test.php" method="post"><input type="text" name="$id" VALUE="$name" class="text" ><input type="submit" name="$id" value="Edit"></form> ';
  2. echo '<br><br>';

Zmienne wyświetlane przez echo muszą być w nowej lini nie wiem dlaczego?


Zapytania do bazy danych zrobiłem na sztywno działa edycja 2 pierwszych kategori nie wiem jak połączyć zmienną $id z zapytaniami?
  1. if ( isset($_POST['1']) ){
  2.  
  3. $query = "UPDATE category SET name='$_POST[1]' WHERE id ='1'";
  4. $result = @mysql_query ($query);
  5.  
  6. }
  7.  
  8. if ( isset($_POST['2']) ){
  9.  
  10. $query = "UPDATE category SET name='$_POST[2]' WHERE id ='2'";
  11. $result = @mysql_query ($query);
  12.  
  13. }


Mógłby ktoś wytłumaczyć o co chodzi z tymi zmiennymi sesji czytam i nie moge załapać o co chodzi?
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.