• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Usuwanie użytkownika z bazy danych.

VPS Starter Arubacloud
0 głosów
1,570 wizyt
pytanie zadane 31 grudnia 2016 w PHP przez nielotweb Bywalec (2,240 p.)

W jaki sposób mogę usunąć użytkownika z bazy danych (mysql) naciskając na przycisk przy danym użytkowniku?

Bo zrobiłem sobie tabele w które wyciągnąłem z bazy danych wszystkich użytkowników i ich wypisałem. Teraz chce zrobić tak że obok jest przycisk DELETE ( przy każdym użytkowniku ) ale nie mam pojęcia jak zrobić żeby akurat ten użytkownik się usunął przy którym kliknę przycisk..

Macie jakieś pomysły?

Kod:

<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"pl-PL\">
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title>Rezultat zapytania</title>
    <style>
    #container {
      max-width: 1000px;
    }
    </style>
</head>

<body>

<div id="container">
    <table width="1000" align="center" border="1" bordercolor="#d5d5d5"  cellpadding="0" cellspacing="0">
        <tr>
        <?php
        require_once "connect.php";
        $baza = @new mysqli($host, $db_user, $db_password, $db_name); //Połączenie z bazą danych
        $sql = "SELECT id, user, pass, email FROM users";
        $result = $baza->query($sql);
        $ile = mysqli_num_rows($result);

        echo "znaleziono: ".$ile."<br /><br />";
if ($ile>=1)
{
echo<<<END
<td width="50" align="center" bgcolor="e5e5e5"></td>
<td width="50" align="center" bgcolor="e5e5e5">IDUsera</td>
<td width="20" align="center" bgcolor="e5e5e5">NazwaUsera</td>
<td width="20" align="center" bgcolor="e5e5e5">HasloUsera</td>
<td width="20" align="center" bgcolor="e5e5e5">EmailUsera</td>
</tr><tr>
END;
}

	for ($i = 1; $i <= $ile; $i++)
	{

		$row = mysqli_fetch_assoc($result);
		$a1 = $row['id'];
		$a2 = $row['user'];
		$a3 = $row['pass'];
		$a4 = $row['email'];

echo<<<END
<td width="50" align="center"><input type="submit" value="delete" /></input></td>
<td width="50" align="center">$a1</td>
<td width="100" align="center">$a2</td>
<td width="100" align="center">$a3</td>
<td width="100" align="center">$a4</td>
</tr><tr>
END;

	}


?>


</tr></table>
</div>


</body>
</html>

 

1 odpowiedź

+2 głosów
odpowiedź 31 grudnia 2016 przez Boshi VIP (100,240 p.)
wybrane 31 grudnia 2016 przez nielotweb
 
Najlepsza
link z podstawionym id pobranego użytkownika, w twoim przypadku a1.
komentarz 31 grudnia 2016 przez nielotweb Bywalec (2,240 p.)

Nie rozumiem trochę.

Zrobiłem tak że stworzyłem nowy plik delete_user.php

<?php
require_once "connect.php";
$con = @new mysqli($host, $db_user, $db_password, $db_name); //Połączenie z bazą danych
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="Delete from users where id='$a1'";

if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "Record Deleted";
header("Refresh:3; url=admin.php");

mysqli_close($con);
?>

A w tamtym pliku dodałem odnośnik do DELETE href="delete_user.php" - gdy klikam na przycisk niby skrypt działa ale wywala jeden błąd: 

Notice: Undefined variable: a1 in C:\xampp\htdocs\probka\delete_user.php on line 10

 

Czyli chodzi o zmienną w tym pliku delete_user.php 

1
komentarz 31 grudnia 2016 przez Assasz Nałogowiec (30,460 p.)
Chodzi o przekazywanie id użytkownika za pomocą zmiennej GET którą wstawiasz do linku, np. href="delete_user.php?id=1". Potem w tym pliku ją odbierasz, czyli $id=$_GET['id'] i podstawiasz do zapytania sql.

Najlepiej by to zrobić jeszcze za pomocą Ajaxa by było w pełni dynamiczne, gdzie id przekazujesz jako parametr funkcji (ale to tylko moja sugestia).
komentarz 31 grudnia 2016 przez nielotweb Bywalec (2,240 p.)
Ty działa! :D O tym Ajaxie to też dobry pomysł! Spróbuję ale to już nie dzisiaj! Idealny pomysł, dzięki wielkie!
komentarz 31 grudnia 2016 przez nielotweb Bywalec (2,240 p.)
Tylko jeszcze inny malutki problem, bo gdy dodaje nowego użytkownika do bazy, to ona ma ID nie takie jakie powinien mieć, chodzi mi oto że mam jednego użytkownika o ID = 1, dodałem teraz nowego i on ma ID = 4.. czemu nie 2? Przecież jest po 1, wiesz jak to naprawić ?
1
komentarz 31 grudnia 2016 przez Boshi VIP (100,240 p.)
Tak zaprojektowany jest silnik bazy danych. To bez znaczenia. Jak się uprzesz to na stack overflow masz masę rozwiązań.
1
komentarz 31 grudnia 2016 przez Assasz Nałogowiec (30,460 p.)
Zapewne usunąłeś wcześniej dwóch userów, a inkrementacja była ustawiona na 4. Możesz to zmienić w zakładce tabeli operacje ustawiając wartość następnej inkrementacji.
komentarz 31 grudnia 2016 przez nielotweb Bywalec (2,240 p.)
Okej, rozumiem. Dzięki panowie!

Podobne pytania

0 głosów
2 odpowiedzi 498 wizyt
pytanie zadane 22 czerwca 2016 w PHP przez niezalogowany
0 głosów
1 odpowiedź 461 wizyt
pytanie zadane 17 października 2016 w PHP przez niezalogowany
0 głosów
0 odpowiedzi 418 wizyt
pytanie zadane 27 grudnia 2018 w PHP przez chmod96 Obywatel (1,380 p.)

92,453 zapytań

141,262 odpowiedzi

319,087 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...