Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie rekordów - zapytanie SQL
Forum PHP.pl > Forum > Przedszkole
przemilke
Witam

Moj skrypt usuwa rekordy (na razie nie usuwa) zaznaczone checkboxami, jednak zapytanie SQL najprawdopodobniej nie jest prawidłowe, bo nic sie nie usuwa . Dlaczego ? Sorry, ale zagubiłem sie w swojej skladni

  1. <?php
  2. if (isset($_POST["usunrek"])){
  3. if (isset($_POST["box"])){
  4. $zapytanie2='"DELETE * FROM linki WHERE idlink IN("'.implode('","' , $_POST['box']).'")';
  5. $rezultat2 = mysql_db_query("allscore",$zapytanie2);
  6. };
  7. };
  8. ?>


P.S. box to tablica zaznaczonych checkboxów (ich kod jest poniżej).

  1. <?php
  2. while ($wiersz=mysql_fetch_array($rezultat)){
  3. echo "<td class="rekordy"><input type="checkbox" name="box[]" value="";
  4. echo $wiersz['idlink'];
  5. echo "" /></td>";
  6. }
  7. ?>


Dzieki za pomoc
Cienki1980
powinno być
  1. DELETE FROM ....

a nie
  1. DELETE * FROM ....
przemilke
Dzieki... ale dalej nie śmiga. Przynajmniej mam już jednego byka

Widze, ze nie ma wiele odpowiedzi, wiec wstawiam reszte kodu

  1. <?php
  2. if ((isset($_POST["szukajrek"]))||(isset($_POST["usunrek"]))){
  3. $dyscyplinax = $_POST["dyscyplina"];
  4. $krajx = $_POST["kraj"];
  5. $kategoriax = $_POST["kategoria"];
  6.  
  7. $link = mysql_connect("localhost", "root", "") or die ("Nie można połączyć się z serwerem mySQL");
  8. $zapytanie="SELECT * FROM linki WHERE dyscyplina LIKE '$dyscyplinax' AND kraj LIKE $krajx' AND kategoria LIKE '$kategoriax'";
  9.  
  10. if (isset($_POST["usunrek"])){
  11. if (isset($_POST["box"])){
  12. $zapytanie2='"DELETE FROM linki WHERE idlink IN("'.implode('","' , $_POST['box']).'")';
  13. $rezultat2 = mysql_db_query("allscore",$zapytanie2);
  14. };
  15. };
  16.  
  17. $rezultat = mysql_db_query("allscore",$zapytanie);
  18. $czymoznausuwac=false;
  19. while ($wiersz=mysql_fetch_array($rezultat)){
  20. echo "<tr>";
  21. echo "<td height="25">&nbsp;</td>";
  22. echo "<td class="rekordy">";
  23. echo $wiersz['dyscyplina'];
  24. echo "</td>";
  25. echo "<td class="rekordy">";
  26. echo $wiersz['kraj'];
  27. echo "</td>";
  28. echo "<td class="rekordy">";
  29. echo $wiersz['kategoria'];
  30. echo "</td>";
  31. echo "<td class="rekordy">";
  32. echo $wiersz['nazwa'];
  33. echo "</td>";
  34. echo "<td class="rekordy">";
  35. echo $wiersz['sciezka'];
  36. echo "</td>";
  37. echo "<td class="rekordy">
  38. <input type="checkbox" name="box[]" value="";
  39. echo $wiersz['idlink'];
  40. echo "" /></td>";
  41. echo "<td>&nbsp;</td>";
  42. echo "</tr>"; 
  43. $czymoznausuwac=true;
  44.  }
  45.  
  46. echo "<tr>";
  47. echo "<td colspan="5">&nbsp;</td>";
  48. echo "<td height="25" class="prawysub" colspan="2">";
  49.  if ($czymoznausuwac==true){
  50.  echo "<input type="submit" name="usunrek" value="Usuń" />";
  51.  };
  52. echo "</td>";
  53. echo "<td>&nbsp;</td>";
  54. echo "</tr>";
  55.  
  56. mysql_close($link);
  57. };
  58. ?>
maryaan
wyswietl tresc wykonywanych zapytan bo cos mi sie wydaje ze namieszales przy implode
Cienki1980
Sprawdź czy jak zamienisz to:
  1. <?php
  2. $zapytanie2='"DELETE FROM linki WHERE idlink IN("'.implode('","' , $_POST['box']).'")';
  3. ?>

na
  1. <?php
  2. $zapytanie2="DELETE FROM linki WHERE idlink IN(".implode("," , $_POST['box']).")";
  3. ?>

coś się poprawi.
przemilke
Dzieki cienki1980. Gra gitara guitar.gif

Ale dlaczego tak sie działo? Czy jest jakaś różnica w zapisie (widocznie jest, ale myślałem, ze tak tez bylo poprawnie) ?
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.