![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 10.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam (mam nadzieje) trywialne pytanie. Otóż próbuje zrobić formularz który usunie mi z bazy wybrany (oznaczony id) rekord . SELECT i INSERT działają, jednak nie mogę sobie poradzić z DELETE. A mianowicie, skrypt wygląda następująco: Kod <?php //skrypt odpowiedzialny za dodawnaie nowego użytkownika do bazy danych // 1. Wyświetlenie listy użytkowników // 2. Dodanie nowego użytkownika // 3. Usunięcie użytkownika mysql_connect("localhost", "baza_danych", "haslo") or die ("Nie można połączyć się z bazą"); mysql_select_db ("dawidbtest28") or die ("Nie można połączyć się z bazą"); // 1. Wyświetlenie listy użytkowników $wynik = mysql_query("SELECT login, id FROM users") or die ("błąd w zapytaniu"); while ($rekord = mysql_fetch_assoc ($wynik)) { $id = $rekord['id']; $login = $rekord['login']; print "$id"; print "$login"; print "\n"; } // 2. Dodanie użytkownika do bazy danych if (isSet($_POST['user']) && $_POST['user'] = 'dodaj' ) { //dodanie rekordu if (isSet($_POST['login']) && isSet($_POST['haslo'])) { $query = "INSERT INTO users (login, haslo) VALUES ('".$_POST['login']."' , '".$_POST['haslo']."');"; $wynik = mysql_query ($query) or die ("błąd w zapytaniu"); } // 3. Próba usunięcia użytkownika o wybranym id } elseif (isSet($_GET['co']) && isSet($_GET['id']) && $_GET['co'] == 'usun' ) { $wynik = mysql_query("DELETE FROM users WHERE nr = '".$_GET['id']."';"); or die ("błąd w zapytaniu"); } //formularz dodania - działa :] print "</table>"; print '<form method="POST" action="/foreach/podstrony/adduser.php"><div>Dodaj użytkownika:'; print '<input type="hidden" name="user" value="dodaj" /><table>'; print '<tr><td>Login:</td><td><input type="text" '; print 'name="login" /></td></tr><tr><td>Haslo:</td><td><input '; print 'type="text" name="haslo" /></td></tr>'; print '</table><input type="submit" value="Dodaj" /></div></form>'; //i tutaj chciałbym dać formularz na usunięcie, gdzie po podaniu wybranego id, użytkownik o tym id jest usuwany z bazy print "</table>"; print '<form method="POST" action="/foreach/podstrony/adduser.php"><div>Podaj numer użytkownika do usunięcia:'; print '<input type="hidden" name="id" value="$id" /><table>'; print '<tr><td>Numer:</td><td><input type="text" '; print 'name="login" /></td></tr>'; print '</table><input type="submit" value="Usun" /></div></form>'; ?> Za wszelką pomoc byłbym dozgonnie wdzięczny. Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 352 Pomógł: 59 Dołączył: 16.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Oddziel sobie PHP od HTML, po co PRINT'owac form?
W "name" inputu (zakładam, że submit) umieść id użytkownika i prześlij do skryptu |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 10.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedź,
co do pierwszego oddzieliłem, w przypadku drugiego (id w name) mam coś takiego: Kod </table> <form method="POST" action="/foreach/podstrony/adduser.php"><div>Podaj numer użytkownika do usunięcia: <input type="hidden" name="id" value="usun" /><table> <tr><td>Numer:</td><td><input type="text" name="login" /></td></tr> </table><input type="submit" name="id" value="Usun" /></div></form> Nie działa niestety :/ całość jest podana na stronie http://dawidbtest.home.pl/foreach/podstrony/adduser.php , zależy mi przede wszystkim aby po podaniu np. 5 został usunięty login admin. Może coś źle podaje w zapytaniu DELETE do bazy? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 352 Pomógł: 59 Dołączył: 16.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
zrób sobie var_dump($_POST) i zobaczysz,że podane id masz w $_POST['login']
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 10.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mam coś takiego:
sajegib - czy chodzi Ci o to aby pobrać id z zapytania ? _Borys_ - sprawdziłem var_dump, tak pokazywało mi login, teraz w powyższym kodzie jest [id] - nie wiem czy to o to chodziło ( oczywiście dziękuje za wskazówki ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 10.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Tak, w bazie jest dodana kolumna id ( pobiera ją SELECT i wyświetla obok loginu np. 5 przy admin).
--------------------------------------------------------- edit: temat do zamknięcia, już sobie poradziłem. Ten post edytował dawideq03 22.01.2013, 19:46:56 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 02:07 |