Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php+mysql] kasowanie wszystkich rekordów mysql
klapaucius
post
Post #1





Grupa: Zarejestrowani
Postów: 223
Pomógł: 3
Dołączył: 4.07.2009
Skąd: Kraków

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


Witam ponownie. Na mojej stronei stworzylem system prywatnych wiadomosci. Wszystko by bylo ok, gdyby nie to, ze dalem opcje przy kazdej wiadomosci "usun wiadomosc". I jesli na to klikne to usuwa mi wszystkie wiadomosci, ktore sie otrzymalo. To samo się dzieje jesli dam opcje "przeczytana", to wszystkim wiadomosciom daje wartosc "przeczytana". Niem ma bladego pojecia co tam moze byc zle. Tutaj daje kod:
  1. <?php
  2. include("baza.php");
  3. include("gora.php");
  4. $przeczytana = 1;
  5. $q = mysql_query("SELECT login, od, temat, tresc, przeczytana, date, id FROM wiadomosci WHERE login='$user'");
  6. ?>
  7. <b><center>Wiadomości:</center></b>
  8. <br>
  9. <a href="wiadomosci.php">:: Nowa wiadomość</a><br>
  10. :: Kasuj wszystkie wiadomości<br><hr>
  11.  
  12. <?php
  13. while($r = mysql_fetch_array($q)) {
  14. ?>
  15. <table width=100%>
  16. <tr bgcolor=#e6e6e6>
  17. <td><?php echo $r[2] ?></td>
  18. <td><?php echo $r[5] ?></td>
  19. <td><?php echo "<a href=\"profil.php?user=" . $r[1] . "\">"  . $r[1] . "</a>" ?></td>
  20. </tr>
  21. </table>
  22. <table width=100%>
  23. <tr bgcolor=#6e6e6e>
  24. <td>
  25. <?php echo $r[3] ?><br><br>
  26. </td>
  27. </tr>
  28. <tr bgcolor=#e6e6e6>
  29.  
  30. <form action="wiadomosci2.php" method="post">
  31.       <td><button style="border: 0px; background-color: #e6e6e6;" type="submit" name="przeczytana">przeczytana</button><button style="border: 0px; background-color: #e6e6e6;" type="submit" name="kasuj">kasuj</button></td>
  32. </form>
  33. </tr>
  34. </table>
  35. <hr>
  36. <?php
  37. if(isSet($_POST['kasuj'])){ #//tutaj jest ta nieszczesliwa funkja "kasuj" ///
  38.          mysql_fetch_array(mysql_query("DELETE FROM `wiadomosci` WHERE `id`='".$r[6]."'") or die (mysql_error()));
  39.          header("Location: wiadomosci2.php");
  40. }
  41. if(isSet($_POST['przeczytana'])){
  42.          mysql_fetch_array(mysql_query("UPDATE wiadomosci SET przeczytana='".$przeczytana."' WHERE id='".$r[6]."'") or die (mysql_error()));
  43. }
  44. }
  45. include("dol.php");
  46. ?>

Bardzo prosze o pomoc! Pozdrawiam!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kfc4
post
Post #2





Grupa: Zarejestrowani
Postów: 195
Pomógł: 18
Dołączył: 7.10.2007

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


Nie wiesz jak przesłać, którą wiadomość ma usunąć? Masz poważne braki widzę, ale już wyjaśniam:
- Podczas wyświetlania, dodaj sobie gdzieś pod wiadomością taki link:
  1. <?php
  2. // coś tam
  3. while (...) {
  4.  // Wyświetl tą wiadomość
  5.  echo '<a href="skrypt.php?usun='.$r[6].'">Usuń</a>'; // Gdzie skrypt.php jest tym Twoim skryptem.
  6.  // I coś tam dalej
  7. }
  8. ?>

Dalej już poza pętlą dajesz(lub przed pętlą, tak będzie nawet lepiej):
  1. <?php
  2. if (isset($_GET['usun'] && is_numeric($_GET['usun']) {
  3.  zapytanie("delete from wiadomosci where id =".$_GET['usun']); // Wykonujesz zapytanie usuwające wiadomość o ID = $_GET['usun']
  4. }
  5. ?>

Oczywiście jeżeli przesyłasz już coś zmienną GET to musisz napisać nie ?usun= tylko &usun=.
Zrozumiałeś? I pamiętaj o wcięciach w kodzie! Bo taki pisany jak leci, w notatniku źle się czyta (najlepsze wcięcia są IMHO ta 2 spacje albo tabulator).
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 14:38