Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Edycja menu
Forum PHP.pl > Forum > Przedszkole
Lee
Ja i moje problemy rolleyes.gif

Robię teraz edycję menu i cosik nie działa mad.gif Mam wpis w bazie danych:
  1. INSERT INTO `cms_menu` VALUES (2, 'Polecamy', 'echo ''<a href="http://gothic.gry-online.pl">Gothic World</a><br><a href="http://arharia.com">Arharia</a><br>'';', 'prawa', 1, 1);


i jak daję edycję teog manu i coś chce zmienić to niedziała mad.gif mad.gif

Kod edycji
  1. <?php
  2. $id = $_GET['id'];
  3. $wykonaj = mysql_query("SELECT * FROM $tbl_menu WHERE id = '$id'");
  4. while ($wynik = mysql_fetch_assoc($wykonaj)){
  5. $MenuNazwa = $wynik['nazwa'];
  6. $MenuZawartosc = $wynik['zawartosc'];
  7. $MenuPozycja = $wynik['pozycja'];
  8. $MenuKolejnosc = $wynik['kolejnosc'];
  9. $MenuAktywne = $wynik['aktywne'];
  10. }
  11. echo '<form action="administracja.php?mod=menu" method="post">
  12. <table width="600" cellspacing="0" cellpadding="0" border="0" algin="center">
  13. <tr><td class="text_02" align="right"><b>Nazwa Menu:</b></td><td><input type="text" name="nazwa" value="'.$MenuNazwa.'"></td></tr>
  14. <tr><td class="text_02" align="right"><b>Zawartosć:</b></td><td><textarea name="zawartosc" rows="10" cols="30">'.$MenuZawartosc.'</textarea></td></tr>
  15. <tr><td colspan="2" align="center"><input type="hidden" name="id" value="'.$_GET['id'].'"></td></tr>
  16. <tr><td colspan="2" align="center"><input type="hidden" name="pozycja" value="'.$MenuPozycja.'"></td></tr>
  17. <tr><td colspan="2" align="center"><input type="hidden" name="aktywne" value="'.$MenuAktywne.'"></td></tr>
  18. <tr><td colspan="2" align="center"><input type="hidden" name="kolejnosc" value="'.$MenuKolejnosc.'"></td></tr>
  19. <tr><td colspan="2" align="center"><input type="submit" name="edytuj" value="Edytuj"></td></tr>
  20. </table></form>';
  21. if (isset($_POST['edytuj'])){
  22. $id = $_POST['id'];
  23. $nazwa = $_POST['nazwa'];
  24. $zawartosc = $_POST['zawartosc'];
  25. $pozycja = $_POST['pozycja'];
  26. $kolejnosc = $_POST['kolejnosc'];
  27. $aktywne = $_POST['aktywne'];
  28.  
  29. $wykonaj = mysql_query("UPDATE $tbl_menu SET nazwa = '$nazwa' WHERE id = '$id' LIMIT 1");
  30. $wykonaj = mysql_query("UPDATE $tbl_menu SET zawartosc = '$zawartosc' WHERE id = '$id' LIMIT 1");
  31. $wykonaj = mysql_query("UPDATE $tbl_menu SET pozycja = '$pozycja' WHERE id = '$id' LIMIT 1");
  32. $wykonaj = mysql_query("UPDATE $tbl_menu SET kolejnosc = '$kolejnosc' WHERE id = '$id' LIMIT 1");
  33. $wykonaj = mysql_query("UPDATE $tbl_menu SET aktywne = '$aktywne' WHERE id = '$id' LIMIT 1");
  34. header('Location: administracja.php?mod=menu');
  35. ?>


Gdzie mam błąd ? :|
em1X
1) omg skąd mamy wiedzieć co Ci nie działa withstupidsmiley.gif

Co właściwie nie działa? Wyskakują błędy, rekordy się nie dodają, rekordy się nie aktualizują?
mysql_error()" title="Zobacz w manualu php" target="_manual coś sygnalizuje?

2) Po co wykonujesz tyle zapytan zamiast wykonac jedno? Ps. wykonania zapytania nie trzeba zapisywac do zmiennej. A jezeli $id jest liczbą to nie obejmuje sie jej w ' '

  1. <?php
  2. mysql_query("UPDATE $tbl_menu SET nazwa = '$nazwa', zawartosc = '$zawartosc', pozycja = '$pozycja', kolejnosc = '$kolejnosc', aktywne = '$aktywne' WHERE id = $id LIMIT 1");
  3. ?>
Lee
1) Nic się nie dzieje, naciskam przycisk "Edytuj" i nic się nie zmienia :| rekordy się nie aktalizują...
2) wiem, że można wszystko w jedno, ale tak nie działało więc myślałem ze nie można
em1X
Po 1) pousuwaj te ciapki ' ' wszedzie gdzie jest WHERE id = '$id'
Po 2) ma być mysql_error nie errno
Lee
Mam teraz tak
  1. <?php
  2. $id = $_GET['id'];
  3. $wykonaj = mysql_query("SELECT * FROM $tbl_menu WHERE id = '$id'");
  4. while ($wynik = mysql_fetch_assoc($wykonaj)){
  5. $MenuNazwa = $wynik['nazwa'];
  6. $MenuZawartosc = $wynik['zawartosc'];
  7. $MenuPozycja = $wynik['pozycja'];
  8. $MenuKolejnosc = $wynik['kolejnosc'];
  9. $MenuAktywne = $wynik['aktywne'];
  10. }
  11. echo '<form action="administracja.php?mod=menu&act=edytuj&id='.$id.'" method="post">
  12. <table width="600" cellspacing="0" cellpadding="0" border="0" algin="center">
  13. <tr><td class="text_02" align="right"><b>Nazwa Menu:</b></td><td><input type="text" name="nazwa" value="'.$MenuNazwa.'"></td></tr>
  14. <tr><td class="text_02" align="right"><b>Zawartosć:</b></td><td><textarea name="zawartosc" rows="10" cols="30">'.$MenuZawartosc.'</textarea></td></tr>
  15. <tr><td colspan="2" align="center"><input type="hidden" name="id" value="'.$_GET['id'].'"></td></tr>
  16. <tr><td colspan="2" align="center"><input type="hidden" name="pozycja" value="'.$MenuPozycja.'"></td></tr>
  17. <tr><td colspan="2" align="center"><input type="hidden" name="aktywne" value="'.$MenuAktywne.'"></td></tr>
  18. <tr><td colspan="2" align="center"><input type="hidden" name="kolejnosc" value="'.$MenuKolejnosc.'"></td></tr>
  19. <tr><td colspan="2" align="center"><input type="submit" name="edytuj" value="Edytuj"></td></tr>
  20. </table></form>';
  21. if (isset($_POST['edytuj'])){
  22. $id = $_POST['id'];
  23. $nazwa = $_POST['nazwa'];
  24. $zawartosc = $_POST['zawartosc'];
  25. $pozycja = $_POST['pozycja'];
  26. $kolejnosc = $_POST['kolejnosc'];
  27. $aktywne = $_POST['aktywne'];
  28.  
  29. $wykonaj = mysql_query("UPDATE $tbl_menu SET nazwa = '$nazwa', zawartosc = '$zawartosc', pozycja = '$pozycja', kolejnosc = '$kolejnosc', aktywne = '$aktywne' WHERE id = $id");
  30. }
  31. ?>

i jak klikne "edytuj"

pokazuje
Cytat
Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in /home/gothic/www/cms/administracja/menu.php on line 255


ups miało być tylko mysql_error() a nie mysql_error($wykonaj)
em1X
mówiłem usuń ciapki z tego $id i mówię po raz trzeci: ma byc:

  1. <?php
  2. $wykonaj = mysql_query("SELECT * FROM $tbl_menu WHERE id = $id");
  3. ?>


po drugie: raczyłbyś w końcu napisać która to jest linijka 255 ?
Lee
okej działa dzieki 8)
Gość
Cytat(em1X @ 11.06.2006, 11:28 ) *
2) Po co wykonujesz tyle zapytan zamiast wykonac jedno? Ps. wykonania zapytania nie trzeba zapisywac do zmiennej. A jezeli $id jest liczbą to nie obejmuje sie jej w ' '

Mozesz objasnic jak wszystko wrzucic do jednego zapytania ?
em1X
W drugim poście jest wszystko pokazane.
Gość
Moje przeoczenie, chodzilo mi o cos innego.
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.