Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][sql]Usuwanie rekordu z tabeli[php][sql]
Forum PHP.pl > Forum > PHP
gallardo83
Witam mam taki problem
Chciałbym usunąć cały rekord z mojej tabeli - mam tabele składającą się z 3 pól a obok nich 2 linki - jeden do usuwania rekordu a drugi do edycji - jednak po nacisnięciu na USUN skrypt przenosi mnie do stronyej głównej. Próbowałem aby link sie odnosił do tej strony na której jest tabela, ale nie działa. Chodzi mi o to aby po naciśnięciu na usuń cały rekord był usunięty i żeby zaraz taka tabela się pojawiła.

Oto mój skrypt w którym gdzieś są jakieś błędy:
baza_admin.php
  1. <?php
  2.  
  3.  // informacje na temat bazy
  4.  $host = 'tu cos jest';
  5.  $user = 'user';
  6.  $password = 'hasło';
  7.  $dbName = 'nazwa bazy';
  8.  
  9.  // polaczenie i wybór bazy danych
  10.  $polacz = mysql_connect($host, $user, $password) or die(mysql_error());
  11.  $db = mysql_select_db($dbName, $polacz) or die(mysql_error());
  12.  
  13.  $pole_id='id';
  14.  $pole_nazwa='nazwa';
  15.  $pole_cena='cena';
  16.  
  17.  $wynik = mysql_query("SELECT * FROM samochody");
  18.  
  19.  echo "<table width='1000' align='center' border='0' cellspacing='0'>";
  20. echo "<tr>";
  21.  echo "<td width='200' align='center'>".$pole_id."</td>";
  22.  echo "<td width='200' align='center'>".$pole_nazwa."</td>";
  23.  echo "<td width='200' align='center'>".$pole_cena."</td>";
  24.  echo "<td width='200' align='center'>"."</td>";
  25.  echo "<td width='200' align='center'>". "</td>";
  26. echo "</tr>"; 
  27. echo "</table>";
  28.  
  29.  while($wynik and $pola = mysql_fetch_array($wynik))
  30.  {
  31. echo "<table width='1000' align='center' border='2' cellspacing='2'>";
  32. echo "<tr>";
  33.  echo "<td width='200' align='center'>".$pola['id']."</td>";
  34.  echo "<td width='200' align='center'>".$pola['nazwa']."</td>";
  35.  echo "<td width='200' align='center'>".$pola['cena']."</td>";
  36.  echo "<td width='200' align='center'>
  37.  <a href=\"index.php?a=del&amp;id={$pola['id']}\">USUŃ</a></td>";
  38.  echo "<td width='200' align='center'>
  39.  <a href=\"index.php?a=edit&amp;id={$pola['id']}\">EDYTUJ</a></td>";
  40. echo "</tr>"; 
  41. echo "</table>";
  42.  }
  43.  
  44.  $a = trim($_GET['a']);
  45.  $id = trim($_GET['id']);
  46.  
  47.  if($a == 'del' and !empty($id)) {
  48.  
  49.  /* usuwamy rekord */
  50.  mysql_query("DELETE FROM samochody WHERE id='$id'")
  51.  or die('Błąd zapytania: '.mysql_error());
  52.  
  53.  echo 'Rekord został usunęty z bazy';
  54.  } 
  55.  
  56.  mysql_close($polacz); 
  57.  
  58.  ?>
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  66.  <html xmlns="http://www.w3.org/1999/xhtml">
  67.  <head>
  68.  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  69.  <title>Untitled Document</title>
  70.  </head>
  71.  
  72.  <body>
  73.  </body>
  74.  
  75.  </html>

Z góry Dziękuję za pomoc
nospor
Twoj plik z usuwaniem nazywa sie:baza_admin.php
a linki tworzysz do index.php
czy tak ma byc?

Pozatym taka rada na przyszlosc: najpierw kasuj, potem wyswietlaj. A ty najpierw wyswietlasz, a potem kasujesz. W takim przypadku jak skasujesz to wyswietli ci jeszcze wynik przed skasowaniem

ps: popraw posta o wlasciwe bbcode!
gallardo83
Jak zmieniłem na tak:
Kod
<a href=\"baza_admin.php?a=del&amp;id={$pola['id']}\">USUŃ</a></td>";
        echo "<td width='200' align='center'>
        <a href=\"baza_admin.php?a=edit&amp;id={$pola['id']}\">EDYTUJ</a></td>";

to równiżnie działa - pokazuje ze taka strona nie isnieje
nospor
a w jaki sposob w chodzisz pierwszy raz do baza_admin.php?

Ponawiam prośbę:
popraw posta o wlasciwe bbcode!
gallardo83
Wchodzę w taki sposób:
Kod
<?
if(isset($_SESSION['rights']) && $_SESSION['rights']=='admin')
  print '<p align="left"><a href="index.php?page=baza_admin">Admin </p>';


A jak mam poprawić bbcode ? Przecierz kody php są dobrze oznaczone .
Pozdrawiam
nospor
ech.... no to twoj link ma wygladac tak:
index.php?page=baza_admin&iTuTWojeParametryUsuwania

Cytat
A jak mam poprawić bbcode
zamiast [code] masz dac [php]
gallardo83
Poprawiłem na tak
  1. <?php
  2. <a href=&#092;"index.php?page=baza_admin&del;id={$pola['id']}\">USUŃ</a></td>";
  3. echo "<td width='200' align='center'>
  4. <a href=\"index.php?a=edit&amp;id={$pola['id']}\">EDYTUJ</a></td>";
  5. ?>

i tez nie działa - co ja tu robię żle ?
nospor
Przeciez nic nie poprawiles... blinksmiley.gif
  1. <?php
  2. echo "<td width='200' align='center'>
  3. <a href=\"index.php?page=baza_admin&a=edit&amp;id={$pola['id']}\">EDYTUJ</a></td>";
  4. ?>

Teraz jest poprawione.
gallardo83
Super - działa elegancko - dziękuję za podpowiedz - może zaraz sie odezwę z edycją smile.gif
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.