Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Kasowanie po ID z mySql
Forum PHP.pl > Forum > Przedszkole
freedom.street
Witam Was i zwracsam się o pomoc, walczę i nie mogę dojśc do ładu, bo zwyczajnie nie rozumiem o co chodzi. Jest taki kod :

  1. <?php
  2.  
  3. $dbhost = 'localhost';
  4. $dblogin = 'root';
  5. $dbpass = '';
  6. $dbselect = 'test';
  7. mysql_connect($dbhost,$dblogin,$dbpass);
  8. mysql_select_db($dbselect) or die("Nie udaliiiiii sie polaczyc :)");
  9.  
  10.  
  11.  
  12. $delUser = "DELETE FROM `test`.`user` WHERE `user`.`id_user` =";
  13. $del = mysql_query($delUser);
  14.  
  15. $query = "SELECT * FROM user";
  16. $question = mysql_query($query);
  17. while ($see = mysql_fetch_array($question)) {
  18. echo $see["login"]." | ".$see["opis"],
  19. " ".'<a href="">kasuj</a>';
  20. }
  21.  
  22. ?>


.. i teraz chodzi o to żeby przy każdym pobramym rekordzie z bazy pojawił się link do kasowaniatego rekordu i do edycji tegoż rekordu. Pomożecie, wytłumaczycie albo chociaż nakierujecie jak to zrobić ?
com
jak wy się upieracie na to mysql_* ...

Generalnie możesz to zrobić na 2 sposoby przekazując id rekordu GET albo w ukrytym polu POST, co jeszcze Ci sie przyda na pewno isset lub empty
freedom.street
No dobra w tym kierunku mam iść questionmark.gifquestionmark.gif

  1. if(isset($_POST['? TU MIEJSCE GDZIE MAM ID W BAZIE?'])){
  2. $id = $_POST['? TU MIEJSCE GDZIE MAM ID W BAZIE ?'];
  3. $delUser = "DELETE FROM `test`.`user` WHERE `user`.`id_user` = $id";
  4. $del = mysql_query($delUser);
  5. $query = "SELECT * FROM user";
  6. $question = mysql_query($query);
  7. while ($see = mysql_fetch_array($question)) {
  8. echo $see["login"]." | ".$see["opis"],
  9. " ".'<a href="">kasuj</a>';
  10. }


Cytat
jak wy się upieracie na to mysql_* ...


... co więc zamiast ?
Turson
Zamiast mysql_ to MySQLi albo PDO.

Ja bym poszedł w tą stronę:
  1. <?php
  2.  
  3. $dbhost = 'localhost';
  4. $dblogin = 'root';
  5. $dbpass = '';
  6. $dbselect = 'test';
  7. mysql_connect($dbhost,$dblogin,$dbpass);
  8. mysql_select_db($dbselect) or die("Nie udaliiiiii sie polaczyc :)");
  9.  
  10.  
  11. if(isset($_GET['user_id'])){
  12. $delUser = "DELETE FROM `test`.`user` WHERE `user`.`id_user` =".$_GET['user_id'];
  13. $del = mysql_query($delUser);
  14. if($del) echo "Usunięto";
  15. else echo "Błąd przy usuwaniu";
  16. }
  17.  
  18. $query = "SELECT * FROM user";
  19. $question = mysql_query($query);
  20. while ($see = mysql_fetch_array($question)) {
  21. echo $see['login']." | ".$see['opis']."<a href=\"&user_id=".$see['id']."\">usuń</a>";
  22. }
  23.  
  24. ?>
  25.  

Pominąłem względy bezpieczeństwa.
freedom.street
Mam błąd :

Cytat
Notice: Undefined index: id in E:\xampp\htdocs\projekty\TEST\index.php on line 21


a po kliknięciu na link :

Cytat
Nie znaleziono obiektu!


... link wygląda tak &user_id=
po = nie kieruje do ID rekordu w bazie.

Zabezpieczeń nie potrzeba jak narazie, to prosta praca na zaliczenie ma być ale nie moge tego ogarnąć od jakiegoś czasu już sad.gif
Turson
Mój kod był tylko przykładem, nie wiem czy masz kolumnę id w bazie albo jak się nazywa
freedom.street
Czyli,

  1. if(isset($_GET['user_id']))
// tu wrzucam nazwę tabeli ?

  1. echo $see['login']." | ".$see['opis']."<a href=\"&user_id=".$see['id']."\">usuń</a>";
// a tu dajemy miejsce w tabeli gdzie jest ID użytkownika

tak to ma być ?
Turson
// tu wrzucam nazwę tabeli ?
>> Nie, nie, nie! Poczytaj czym jest $_GET. Jeśli masz adres index.php?user_id=1, to $_GET['user_id']=1

// a tu dajemy miejsce w tabeli gdzie jest ID użytkownika
>> Tak
freedom.street
Gotowe rozwiązanie do rozbudowy, może sie komuś przyda, był zły link dlatego nie działało. Działa w ten sposób.

<?php

  1. $dbhost = 'localhost';
  2. $dblogin = 'root';
  3. $dbpass = '';
  4. $dbselect = 'test';
  5. mysql_connect($dbhost,$dblogin,$dbpass);
  6. mysql_select_db($dbselect) or die("Nie udaliiiiii sie polaczyc :)");
  7.  
  8.  
  9. if(isset($_GET['user_id'])){
  10. $delUser = "DELETE FROM `test`.`user` WHERE `user`.`id_user` =".$_GET['user_id'];
  11. $del = mysql_query($delUser);
  12. if($del) echo "Usunięto";
  13. else echo "Błąd przy usuwaniu";
  14. }
  15.  
  16. $query = "SELECT * FROM user";
  17. $question = mysql_query($query);
  18. while ($see = mysql_fetch_array($question)) {
  19. echo $see['login']."<a
  20. href=\"index.php?user_id=".$see['id_user']."\">usuń</a><br>";
  21. }
  22.  
  23. ?>



Dziękuję za pomoc.
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.