Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: usuwanie rekordów
Forum PHP.pl > Forum > Przedszkole
Gość
Witam. Mam mały problem z usuwaniem rekordów z bazy, a mianowicie: po wpisaniu jakiegos nazwiska w pole tekstowe form_nazwisko i po kliknieciu przycisku "szukaj" wyświetla mi pełne dane czytelników o takim nazwisku + przy każdym z nich przycisk usuń. Jednak gdy chce jakąś osobę usunąć wyskakuje mi błąd 403 - dostęp zabroniony. Używam krasnala 2.7. W phpMyAdmin mam ustawione pełne prawa dostępu dla wszystkich użytkowników jacy tam są, więc nie wiem w czym tkwi problem i czy wogóle ma to związek z tym wszystkim. Php i Mysqelem zajmuje sie od niespełna 2 tyg., więc wielkim specjalista nie jestem.

  1. <?php
  2. $polaczenie=mysql_connect("localhost","root","krasnal");
  3. $baza="biblioteka";
  4. $liczba_porzadkowa=0;
  5.  
  6. if($action=="szukaj"){
  7.  $query="SELECT id, nr_leg1, nr_leg2, nr_leg3, imie, nazwisko, klasa1, klasa2 
  8.  FROM czytelnicy WHERE nazwisko='$form_nazwisko'";
  9.  $result=mysql_db_query($baza, $query);
  10.  while($a=mysql_fetch_array($result)){
  11.  echo ('<table width ="370" border="1" cellpadding="10" cellspacing="0"><tr><td bgcolor="#DDDDDD" valign="top">'.$a[1].' '.$a[2].' '.$a[3].'<br> 
  12.  '.$a[4].' '.$a[5].'<br> 
  13.  '.$a[6].' '.$a[7].'
  14.  <a href=\"./1b.php?action=usun&id=$a[0]\"><center>usuń</center></td></tr></table>');
  15.  
  16. }
  17. }
  18.  
  19. if(action=="usun"){
  20. $query="DELETE FROM czytelnicy WHERE id=$id"
  21. $result=mysql_db_query($baza, $query);
  22. }
  23. ?>
marcio
  1. <?php
  2. $baza="biblioteka";
  3. ?>

ja bym zrobil tak
  1. <?php
  2. $baza=mysql_select_db("biblioteka", $polaczenie);
  3. ?>

i nie powinno byc tak?
  1. <?php
  2. if(action=="usun"){
  3. $query="DELETE FROM czytelnicy WHERE id=$id"; // czy tu po delete nie brakuje jakiegos argumentu??
  4. $result=mysql_query($query $polaczenie);
  5. }
  6. ?>
drPayton
Zapytanie delete jest ok, natomiast faktycznie brak wybierania bazy a skoro wyświetla, to oznacza że podany kod nie jest kompletny.
Ten fragment:
  1. <?php
  2. echo ('<table width ="370" border="1" cellpadding="10" cellspacing="0"><tr><td bgcolor="#DDDDDD" valign="top">'.$a[1].' '.$a[2].' '.$a[3].'<br> 
  3.  '.$a[4].' '.$a[5].'<br> 
  4.  '.$a[6].' '.$a[7].'
  5.  <a href=\"./1b.php?action=usun&id=$a[0]\"><center>usuń</center></td></tr></table>');
  6. ?>

Niepotrzebnie escape'owane cudzysłowy w elemencie <a...
marcio
no fakt zapytanie dobre ale mial zle ustawione zmienne w mysql_query i nie bylo ; na koncu zapytania
Gość
Zmieniłem trochę kod w stosunku do tego pierwszego i go uprosciłem, aby było wiadomo o co mi chodzi:

  1. <?php
  2. $poloczenie = @mysql_connect('localhost', 'root', 'krasnal'); 
  3. $db = @mysql_select_db('biblioteka'); 
  4.  
  5. $select = mysql_query("SELECT id, imie FROM czytelnicy");
  6.  
  7. if ($action == 'usun') {
  8. $id = $_GET['id'];
  9. @mysql_query("DELETE FROM produkty WHERE id='$id'");
  10. }
  11. while ($a = mysql_fetch_array($select, MYSQL_NUM)) {
  12. echo "$a[0] $a[1]";
  13. echo '  <a href="?action=usun&id='.$a[0].'">usun</a><br>';
  14.  
  15. }
  16. ?>

Po wyświetlkeniu strony z kodem w przeglądarce mam takie coś:
1 Tomasz usun
2 Andrzej usun
4 Jan usun
10 Radosław usun
9 Jacek usun
11 Radosław usun
14 Marcin usun

Niby wszystko ok, ale po kliknięciu na usuń nic sie nie dzieje. Nie wiem czy to wina kodu, ale wg mnie jest chyba ok.
marcio
  1. <?php
  2. $poloczenie = mysql_connect('localhost', 'root', 'krasnal') or die('Polaczenie niemozliwe');
  3. $db = mysql_select_db('biblioteka') or die('Polaczenie niemozliwe');
  4.  
  5. $select = mysql_query("SELECT id, imie FROM czytelnicy");
  6.  
  7. if ($action == 'usun') {
  8. $id = $_GET['id'];
  9. [color="#007700"]$query = ([/color]"DELETE FROM produkty WHERE id='$id'");
  10. $wynik = mysql_query($query, $polaczenie):
  11. }
  12. while ($a = mysql_fetch_array($wynik)) {
  13. echo "$a[0] $a[1]";
  14. echo ' <a href="?action=usun&id='.$a[0].'">usun</a><br>';
  15.  
  16. }
  17. ?>

spruboj tak miales zle zmienna ustawiona i po co ci zaptanie $select skoro na nim nie pracujesz?
Gość
Dziękuje za pomoc, znalazłem błąd, już wszystko działa.
marcio
powiedz co bylo zle zeby ktos nie popelnil twojego bledu biggrin.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.