Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] wybieranie tabeli z formularza i usuwanie rekordu z tej tabeli
Forum PHP.pl > Forum > Przedszkole
kononowicz
mam tabele działów w sklepie budowlany , metalowy itp o nazwach odpowienio bud met itd. Chce z formularza wybrac dział a nastepnie wyswietlić wyniki (i to mi działa) jednak nie dziala mi usuwanie. wyswietla mi:
delete from where `ID`=19
Fatal error: Call to undefined function error_mysql() in C:\xampplite\htdocs\emax\panel\usun_producenta.php on line 53

a nawet jak wpisze po prosty tabele bud i wyswietli mi:

delete from bud where `ID`=19
Fatal error: Call to undefined function error_mysql() in C:\xampplite\htdocs\emax\panel\usun_producenta.php on line 53

i o dziwo powinno byc ok bo jest bud czyli tabela i jest ID a mimo to nie usuwa :/

  1. <?php
  2. <form action="usun_producenta.php" method="post" id="formform">
  3. <p>
  4. <label for="dzial">wybierz dział:</label>
  5. <select name="dzial" class="select">
  6. <option value="bud">dział budowlany
  7. <option value="dekoral">farby
  8. <option value="hyd">dział hydrauliczny
  9. <option value="met">dział metalowy
  10. <option value="san">dział sanitarny
  11. </select>
  12. </p>
  13. <p>
  14. <input type="submit" name="wybierz" value="wybierz" class="przycisk">
  15. </p><br><br></form>';
  16.  
  17. if(isset($_POST['wybierz']))
  18. {
  19. $dzial = $_POST['dzial'];
  20. $wynik=mysql_query('SELECT * FROM '.$dzial.' ');
  21. while($wiersz = mysql_fetch_array($wynik))
  22. {
  23. echo "<table id=promocjetable>";
  24. echo "<tr id=promocjetr>";
  25. echo "<th>".$wiersz['NAZWA']."</th>";
  26. echo "</tr>";
  27. echo "<tr id=opistr>";
  28. echo "<td>".$wiersz['OPIS']."</td>";
  29. echo "</tr>";
  30. echo "<tr id=edycjatr>";
  31. echo "<td>odwiedĽ stronę producenta: <a href=http://".$wiersz['ADRES']."> ".$wiersz['ADRES']." </a></td>";
  32. echo "</tr>";
  33. echo "<tr id=edycjatr>";
  34. echo '<td>
  35. <a href="usun_producenta.php?del='.$wiersz['ID'].'">usuń</a>
  36. </td>';
  37. echo "</tr>";
  38. }
  39. echo "</table>";
  40.  
  41.  
  42. }
  43.  if(isset($_GET['del']))
  44. {
  45. $zapytanie = "delete from ".$dzial." where `ID`=".$_GET['del'];
  46. echo $zapytanie; echo error_mysql();
  47. if(mysql_query($zapytanie))
  48. echo "<div id=uwaga>usunięto wpis</div>";
  49. else{
  50. echo "<div id=uwaga>nie usunięto wpisu</div>";}
  51. }
  52. ?>
nospor
czy ten komunikat :
Cytat
Call to undefined function error_mysql()
naprawde nic ci nie mowi?

zajrzyj do manuala i zobacz czy istnieje funkcja error_mysql()exclamation.gif!
kononowicz
Cytat(nospor @ 1.02.2007, 11:28:23 ) *
czy ten komunikat :
naprawde nic ci nie mowi?

zajrzyj do manuala i zobacz czy istnieje funkcja error_mysql()exclamation.gif!


dzieki <zawstydzony>

a jak dodać do zapytania ,żeby pobierał dział podany w formularzu questionmark.gif
Cienki1980
Wystarczy do zapytanie dodać WHERE w mniej więcej takiej postaci:
  1. .... WHERE nazwa_kolumny_gdzie_przechowujesz_dzial='wartosc_pobrana_z_fromularza';
kononowicz
Cytat(Cienki1980 @ 1.02.2007, 11:41:51 ) *
Wystarczy do zapytanie dodać WHERE w mniej więcej takiej postaci:
  1. .... WHERE nazwa_kolumny_gdzie_przechowujesz_dzial='wartosc_pobrana_z_fromularza';


chodzi mi zeby dodać tabele (całą) po FROM a nie kolumne (row czy jakos tak ) i własnie nie wiem jak ją wydobyc bo robiąc tak :

  1. <?php
  2. $zapytanie = "delete from '.$dzial.' where `bud`.`ID`=".$_GET['del'];
  3. ?>

to mi nie działa
nospor
no bo przeciez w tym linku co kasuje:
Cytat
<a href="usun_producenta.php?del='.$wiersz['ID'].'">usuń</a>
masz okreslone tylko ID do usuniecia. NIe masz tam zadnej informacji o "dzial".
kononowicz
Cytat(nospor @ 1.02.2007, 11:51:02 ) *
no bo przeciez w tym linku co kasuje:
masz okreslone tylko ID do usuniecia. NIe masz tam zadnej informacji o "dzial".


achaaa to w linku sie ustawia .. a konkretnie questionmark.gif

<a href="usun_producenta.php?del='.$wiersz['ID'].'&&dzial='.$dzial.'">usuń</a> questionmark.gif
maryaan
Cytat(kononowicz @ 1.02.2007, 11:46:31 ) *
  1. <?php
  2. $zapytanie = "delete from '.$dzial.' where `bud`.`ID`=".$_GET['del'];
  3. ?>

to mi nie działa

nie dziala bo nie ma prawa zadzialac, gdybys przypadkiem ostatnio skorzystal z mojej porady i poczytal Temat: Najczestsze bledy to bys wiedzial ze zapytanie ktore jest wykonywane ma sie nijak do tego co zalozyles...
kononowicz
w linku wpisałem:
  1. <?php
  2. <a href="usun_producenta.php?del='.$wiersz['ID'].'&&dzial='.$_POST['dzial'].'">usuń</a>
  3. ?>


  1. <?php
  2. if(isset($_GET['del']) && (isset($_GET['dzial'])))
  3. {
  4. $aa = 'delete from "'.$_GET['dzial'].'" where ID= "'.$_GET['del'].'" ';
  5. echo $aa;
  6. if(mysql_query($aa))
  7. echo "<div id=uwaga>usunięto wpis</div>";
  8. else{
  9. echo "<div id=uwaga>nie usunięto wpisu</div>";}
  10. }
  11. ?>


wyswietla mi

delete from "bud" where ID= "21"
nie usunięto wpisu

czyli niby zapytanie dobre ale nie usuwa. dlaczego questionmark.gif
nospor
ile razy dzisiaj mam jeszcze mowic: nazw tabel nie bierze sie w apostrofy ani takie ' ani takie ", ewentualnie bierze sie wtakie `
Pozatym @kononowicz juz ci miliard razy mowiono bys uzywal mysql_error(), ktore pokazuje blad
pozatym w linku ma byc jeden & anie dwa &&
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.