Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Usuwanie rekordów
Forum PHP.pl > Forum > Przedszkole
bartek9191
Mam problem z edycją danych. Mam taki kod: Wklejka, ale jeżeli kliknę edycja, usuwa mi dane, i dopiero wtedy mogę edytować rekord...:/
Daiquiri
Bo masz update w klamrach od else? Zauważ, że jeżeli klikniesz w edytuj, ustawiasz ID i z automatu wykonuje się wszystko co w else. Łącznie z update.
bartek9191
Móglbyś podać kod, jestem początkujący, a samoukiem nie jestem.
Daiquiri
Ale co mam Ci podać? Masz $update w częsci else { }. Jeżeli usuniesz/zakomentujesz ten $update to nie będzie się od razu wykonywało. Sprawdź czy pobierane dane w $query faktycznie się tam znajdują.
bartek9191
Może podam inaczej:
1.Mam cztery tabelki z edycją tresci, tzn wygląda to tak: tresc|edytuj
2.Jeżeli mam coś w treści to zamiast przejscia do edycji usuwa mi cala tresc
3.Wszystko jest dobrze, problem występuje tylko wtedy kiedy mam coś w tresci;), jeżeli nie to usuwa...:/
Daiquiri
Zobacz jak to wygląda: masz link, w którym ustawiasz ID (jest nim właśnie "edytuj"). Jeżeli ID jest ustawione (innymi słowy: jeżeli klikniesz w edytuj) to wykonuje się wszystko co w masz w else, a znajduje się tam:
1. Pobieranie danych z bazy ($query = $pdo -> query('SELECT * FROM zab_najtran WHERE id='.$_GET[id])wink.gif
2. Wypełnianie formularza <form action="" method="POST">i wszystko w środku</form>
3. Update danych $update = (...)

Niestety nie masz warunku przed update, który mógłby wyglądać np. tak:
  1. if (isset($_POST['sub']) {
  2. $data = $_POST[data];
  3. // itd.
  4. $update = $pdo -> exec("UPDATE zab_najtran SET data = '$data', obrazek = '$img', mininazwa = '$mininazwa', nazwa = '$nazw', opis = '$opis', mini = '$mini' WHERE id = '$id'");
  5. }
Zobacz co się teraz dzieje (bez Twojego udziału, to leci z automatu): pobierasz dane z bazy, wypełniasz nimi formularz, i próbujesz zrobić update w bazie. Z racji tego, że formularz nie jest wysyłany, zmienne $_POST['data'] itd. są puste, a Ty przypisujesz te wartości do krótkich zmiennych (np. $data) i wysyłasz do bazy. Zmienne są puste, dlatego "czyści Ci" zawartość w bazie.
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.