Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]PHP/MYSQL usuwanie rekordów przyciskiem
Forum PHP.pl > Forum > Przedszkole
maarss
Witam, mam problem z usuwaniem rekordów z bazy danych za pomocą przycisku usuń.
Mam wyszukiwarke która wyswietla rekordy i przy nich mam przycisk usun ale nic nie działa. Wygląda to nastepujaco.

Index.php:

<!doctype html>
<html>
<head>
<title>Wyszukiwanie</title>
<meta charset="utf-8" />
</head>
<body>
<h1>Wyszukiwanie :</h1>
<form action="wyniki.php" method="post">

Szukane wyrażenie:
<input type="text" name="wyrazenie" />
<input type="submit" name="wyszukaj" />
</form>
</body>
</html>



wyniki.php :

<!doctype html>
<html>
<head>
<title>Wyniki wyszukiwania:</title>
<meta charset="utf-8" />
</head>
<body>
<h1>Wyniki wyszukiwania :</h1>
<?php

$wyrazenie = $_POST['wyrazenie'];
$wyrazenie = trim($wyrazenie);
if (!$wyrazenie)
{
echo 'Brak parametrów wyszukiwania, wróć do poprzednej strony i spóbuj ponownie!';
exit;
}
if (!get_magic_quotes_gpc())
{

$wyrazenie = addslashes($wyrazenie);
}
@ $db = new mysqli('localhost','root','','wms');

if (mysqli_connect_errno())
{
echo 'Połączenie z bazą nie powiodło się. Spóbuj ponownie';
exit;
}
$db->query('SET NAMES utf8');
$db->query('SET CHARACTER_SET utf8_unicode_ci');
$zapytanie = "SELECT * FROM towary WHERE MATCH(nazwa, kolor) AGAINST ('%".$wyrazenie."%')";

$wynik = $db->query($zapytanie);
$ile_znaleziono = $wynik->num_rows;
echo '<p> Liczba znalezionych pozycji: '.$ile_znaleziono.'</p>';
for ($i=0;$i<$ile_znaleziono;$i++)
{
$wiersz = $wynik->fetch_object();
echo "<table cellpadding=\"2\" border=1>";
echo "<tr>";


echo '<td><p><b>'.($i+1).'. Nazwa: '.$wiersz->nazwa.'<br />';

echo 'Kolor: '.$wiersz->kolor.'<br />';
echo 'Miejsce: '.$wiersz->miejsce.'<br />';
echo 'Magazyn: '.$wiersz->magazyn.'<br /></td>';

echo "<td>

<a href=\"del.php?a=del&id={$wiersz->id}\">Usu&ntilde;</a>



</td>";

echo "</tr>";

}

echo "</table>";
$wynik->free();
$db->close();
?>
</body>
</html>


del.php :


<!doctype html>
<html>
<head>
<title>Wyniki wyszukiwania:</title>
<meta charset="utf-8" />
</head>
<body>

<?php


@ $db = new mysqli('localhost','root','','wms');

if (mysqli_connect_errno())
{
echo 'Połączenie z bazą nie powiodło się. Spóbuj ponownie';
exit;
}
$db->query('SET NAMES utf8');
$db->query('SET CHARACTER_SET utf8_unicode_ci');

$query = "DELETE FROM wms.towary WHERE id = '{$_GET['id']}'";
mysql_query($query) or die('Error : ' . mysql_error());



$db->close();
?>
</body>
</html>





jak to ugryźć questionmark.gif
trueblue
Zobacz w jaki sposób usuwasz rekord (jakiej funkcji używasz).
Przy okazji zerknij również na sposób wyświetlania błędów.
maarss
Jestem początkujący wiec nic tam nie widze , siedze nad tym już od kilku dni i się zdecydowałem na rejstracje w forum bo już się załamuję. sad.gif
nospor
Zacznij uzywac BBCODE

Co do kodu to taz uzywasz $db->query a raz czystego mysql_, ktore na dodatek jest czym innym niz mysqli_ ktorego uzywasz do utworzenia $db.
maarss
Dałby ktoś rady to poprawić zeby działało i było poprawne ? Ja już się poddaje z tym.
viking
Wywalić
  1. {
  2.  
  3. $wyrazenie = addslashes($wyrazenie);
  4. }


  1. $db = new PDO('mysql:host=localhost;dbname=test', $user, $pass,
  2. array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
  3.  
  4. $zapytanie = "SELECT * FROM towary WHERE MATCH(nazwa, kolor) AGAINST (? IN NATURAL LANGUAGE MODE)";
  5. $sth = $db->prepare($zapytanie);
  6. $sth->bindParam(1, $wyrazenie);
  7. $sth->execute();
  8.  
  9. $wynik= $sth->fetchAll();
  10. if (!$wynik) {echo 'nic';}
  11. else {
  12. $ile_znaleziono = count($wynik);
  13. foreach($wynik as $wiersz)...
  14. }


Dopisz sobie resztę.
maarss
Parse error: syntax error, unexpected '$zapytanie' (T_VARIABLE) in C:\xampp\htdocs\wms\wyniki.php on line 22

a zrobiłem tak :
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <title>Wyniki wyszukiwania:</title>
  5. <meta charset="utf-8" />
  6. </head>
  7. <body>
  8. <h1>Wyniki wyszukiwania :</h1>
  9. <?php
  10.  
  11. $wyrazenie = $_POST['wyrazenie'];
  12. $wyrazenie = trim($wyrazenie);
  13. if (!$wyrazenie)
  14. {
  15. echo 'Brak parametrów wyszukiwania, wróć do poprzednej strony i spóbuj ponownie!';
  16. }
  17.  
  18. $db = new PDO('mysql:host=localhost;dbname=wms', 'mars','mars123',
  19. array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
  20.  
  21. $zapytanie = "SELECT * FROM towary WHERE MATCH(nazwa, kolor) AGAINST (? IN NATURAL LANGUAGE MODE)";
  22. $sth = $db->prepare($zapytanie);
  23. $sth->bindParam(1, $wyrazenie);
  24. $sth->execute();
  25.  
  26. $wynik= $sth->fetchAll();
  27. if (!$wynik) {echo 'nic';}
  28. else {
  29. $ile_znaleziono = count($wynik);
  30. foreach($wynik as $wiersz)
  31. $ile_znaleziono = $wynik->num_rows;
  32. echo '<p> Liczba znalezionych pozycji: '.$ile_znaleziono.'</p>';
  33. for ($i=0;$i<$ile_znaleziono;$i++)
  34. {
  35. $wiersz = $wynik->fetch_object();
  36. echo "<table cellpadding=\"2\" border=1>";
  37. echo "<tr>";
  38.  
  39.  
  40. echo '<td><p><b>'.($i+1).'. Nazwa: '.$wiersz->nazwa.'<br />';
  41.  
  42. echo 'Kolor: '.$wiersz->kolor.'<br />';
  43. echo 'Miejsce: '.$wiersz->miejsce.'<br />';
  44. echo 'Magazyn: '.$wiersz->magazyn.'<br /></td>';
  45.  
  46. echo "<td>
  47.  
  48. <a href=\"del.php?a=del&id={$wiersz->id}\">Usu&ntilde;</a>
  49.  
  50. <a href=\"edit.php?a=edit&id={$wiersz->id}\">Edytuj</a>
  51.  
  52.  
  53. </td>";
  54.  
  55. echo "</tr>";
  56.  
  57. }
  58.  
  59. echo "</table>";
  60. $wynik->free();
  61. $db->close();
  62. ?>
  63. </body>
  64. </html>
viking
Wszystko po foreach to bzdura z błędem składniowym.
maarss
Wiec się poddaję. Temat do zamknięcia . Pozdrawiam
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.