[php]problem ze scyptem usuwania zdjęć


(batmomobil) #1

Witam me problem z napisaniem scryptu usuwania zdjęć z galerii,zapytanie jest do dwóch tabel:

$query = "SELECT id_zdjecie_user, nazwa_zdjecie_user, opis_zdjecie_user, link_zdjecie_user,czas_zdjecie_user,id_usera,id_user FROM galeria_user JOIN uzytkownicy ON galeria_user.id_user=uzytkownicy.id WHERE uzytkownicy.nick='$nick' >=$limit";

i zapisywane są zdjęcia do jednego folderu:'folder'.Skleciłem taki scrypt ale nie działa:

if(isset($_GET['nickname'])) {

        $select = mysql_fetch_assoc(mysql_query('SELECT id_zdjecie_user, nazwa_zdjecie_user, opis_zdjecie_user, link_zdjecie_user,czas_zdjecie_user,id_usera,id_user FROM galeria_user JOIN uzytkownicy ON galeria_user.id_user=uzytkownicy.id WHERE uzytkownicy.nick ="' . $_GET['nickname'] . '"'));

        $fileToDelete = './folder/'.$select[' link_zdjecie_user'];

        if(file_exists($fileToDelete)){                                                                                                                                                                                                                                                                                                                                 

            unlink($fileToDelete);    

            $update = mysql_query('DELETE * FROM galeria_user JOIN uzytkownicy ON galeria_user.id_user=uzytkownicy.id WHERE uzytkownicy.nick ="' . $_GET['nickname'] . '"');

            header('Location: '.$_SERVER['PHP_SELF']);           

        }

    }                                                                                                                                                                                                                                                                                                                                                                         

    echo 'Nazwa zdjecia: '.$user['link_zdjecie_user'].';                                                                                                                                                                                                                                                                                                                                                                           

   echo '
';

    echo 'Usun zdjecie'; 																																																																																																									

?>[/code]

.Pomózcie napisać scypt,będę bardzo wdzięczny :smiley:


(GioWDS) #2

hymm DELETE FROM tabela WHERE warunki?


(batmomobil) #3

Poprawiłem scrypt i usuwa zdjęcia z folderu,ale z bazy nie usuwa rekordu.Jak go jeszcze poprawić aby usuwał rekord z bazy.Kod:

$query = "SELECT id_zdjecie_user, nazwa_zdjecie_user, opis_zdjecie_user, link_zdjecie_user,czas_zdjecie_user,id_usera,id_user FROM galeria_user JOIN uzytkownicy ON galeria_user.id_user=uzytkownicy.id WHERE uzytkownicy.nick='$nick' ";

$result = mysql_query($query) or die(mysql_error($mysqli));

if ($result) {																																																																																																																							

	while ($row = mysql_fetch_object($result)) { $id_zdjecie=$row->id_zdjecie_user; $nazwa = $row->nazwa_zdjecie_user;

		$opis = $row->opis_zdjecie_user;

		$link = $row->link_zdjecie_user;

		$czas=$row->czas_zdjecie_user; $osoba=$row->id_usera; echo ("USUN");

echo '
'; if(isset($_GET['avdelete'])) $usun=$_GET['avdelete']; $fileToDelete = $usun;

     if(file_exists($usun)){                                                                                                                                                                                                                                                                                                                                 

            unlink($usun);   

     mysql_query("DELETE * FROM galeria_user WHERE id_zdjecie_user ='$usun'") or die (mysql_error ()); }

     																																																																																																														 } }	[/code]

sory,że tak rozrzuca kod.


(Grzelix) #4
DELETE FROM table_name

 WHERE some_column=some_value

po delete nie ma zadnej gwiazdki

http://www.w3schools.com/sql/sql_delete.asp


(batmomobil) #5

Daje takie zapytanie

mysql_query("DELETE FROM galeria_user WHERE id_zdjecie_user='$usun'") or die (mysql_error ());

i nie działa,a chcę usunąć cały rekord,a zmienną $usun przekazuje nazwę zdjęcia do usunięcia.Z folderu usunęło zdjęcia a na stronie dalej jest rekord.


(Grzelix) #6
  1. zrób echo zapytania

  2. sprawdź poprawnoś tego parametru $usuń

  3. wykonaj wypisane zapytanie w phpmyadmin

  4. podaj error jeśli wystąpił


(batmomobil) #7

Bardzo wielkie dzięki działa :smiley: Zmieniłem tak

$del = mysql_query("DELETE FROM galeria_user WHERE id_zdjecie_user='$usuwanie'"); $zapytanie = mysql_query($del);	unset($zapytanie);{ 

 echo ' czy na pewno usunac!!!kliknij jeszcze raz';

}

 } 																																																																																																																																

  else { echo 'do usuniecia'; }

działa tylko trzeba dwa razy kliknąć,a jak poprawnie zapisać echo zapytania.Mam do tego komentarze,czy trzeba dać drugie zapytanie delete aby usuwać komentarze,czy zostawić tak jak jest??