Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Usuwanie rekordów - zapytanie SQL, SQL+php
przemilke
post 29.01.2007, 20:45:58
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 3.01.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Cienki1980
post 29.01.2007, 20:52:23
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


powinno być
  1. DELETE FROM ....

a nie
  1. DELETE * FROM ....


--------------------
404
Go to the top of the page
+Quote Post
przemilke
post 29.01.2007, 21:21:19
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 3.01.2007

Ostrzeżenie: (0%)
-----


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. ?>


Ten post edytował przemilke 29.01.2007, 21:25:14
Go to the top of the page
+Quote Post
maryaan
post 29.01.2007, 21:28:50
Post #4





Grupa: Zarejestrowani
Postów: 380
Pomógł: 2
Dołączył: 5.01.2007

Ostrzeżenie: (0%)
-----


wyswietl tresc wykonywanych zapytan bo cos mi sie wydaje ze namieszales przy implode


--------------------
Wybierasz się do Zakopanego? Odwiedź Willę Pod Górami. Następnym razem na pewno do niej wrócisz :)
Go to the top of the page
+Quote Post
Cienki1980
post 29.01.2007, 21:34:10
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


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.


--------------------
404
Go to the top of the page
+Quote Post
przemilke
post 29.01.2007, 21:40:09
Post #6





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 3.01.2007

Ostrzeżenie: (0%)
-----


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) ?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 7.07.2025 - 21:18