Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> usuwanie rekordu z bazy danych., za pomocą PHP + AJAX
vojtasek
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 6.07.2009

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


Mam pliczek PHP w którym wykonuję operację pobierania z bazy danych. Pobieranie wykonuje się prawidłowo. Oto on dane.php:

  1. $hostname = 'localhost';
  2. $username = 'root';
  3. $password = 'root';
  4.  
  5. $dbname = 'fenster';
  6.  
  7. try {
  8. $dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
  9.  
  10. if($_POST['profil']) {
  11. $profil = $_POST['profil'];
  12. $farbe = $_POST['farbe'];
  13. $fenstertyp = $_POST['fenstertyp'];
  14. $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  15.  
  16. $sql = "INSERT INTO bestellen (profil, farbe, fenstertyp)
  17. VALUES (:profil, :farbe, :fenstertyp)";
  18.  
  19. $stmt = $dbh->prepare($sql);
  20.  
  21.  
  22. $stmt->bindParam(':profil', $profil, PDO::PARAM_STR);
  23. $stmt->bindParam(':farbe', $farbe, PDO::PARAM_STR);
  24. $stmt->bindParam(':fenstertyp', $fenstertyp, PDO::PARAM_STR);
  25.  
  26. if ($stmt->execute()) {
  27. populate_shoutbox();
  28. }
  29. }
  30. }
  31. catch(PDOException $e) {
  32. echo $e->getMessage();
  33. }
  34.  
  35. if($_POST['refresh']) {
  36. populate_shoutbox();
  37. }
  38.  
  39.  
  40. function populate_shoutbox() {
  41. global $dbh;
  42. $sql = "select * from bestellen";
  43. echo '<table width="100%" border="0" align="right" cellpadding="5" cellspacing="0">';
  44. foreach ($dbh->query($sql) as $row) {
  45. echo '<tr>';
  46. echo '<td>';
  47. echo '<b><font color="ff0000">Fenstertyp</font></b>:<br /><br /><p>', $row['fenstertyp'];
  48. echo '</td>';
  49. echo '<td>';
  50. echo '<b><font color="ff0000">Profil</font></b>: ', $row['profil'],'<br />';
  51. echo '<b><font color="ff0000">Farbe</font></b>: ', $row['farbe'],'<br />';
  52. echo '<b><font color="ff0000">Decorfarbe</font></b>: ', $row['farbe'],'<br />';
  53. echo '<b><font color="ff0000">Verglasung</font></b>: ', $row['farbe'],'<br />';
  54. echo '<b><font color="ff0000">termische</font></b>: ', $row['farbe'],'<br />';
  55. echo '<b><font color="ff0000">schallschutzverglasung</font></b>: ', $row['farbe'],'<br />';
  56. echo '<b><font color="ff0000">sicherheitsverglasung</font></b>: ', $row['farbe'],'<br />';
  57. echo '<b><font color="ff0000">ornament</font></b>: ', $row['farbe'],'<br />';
  58. echo '<b><font color="ff0000">Sprossen</font></b>: ', $row['farbe'],'<br />';
  59. echo '<b><font color="ff0000">Beschlag</font></b>: ', $row['farbe'],'<br />';
  60. echo '<b><font color="ff0000">Griffe</font></b>: ', $row['farbe'],'<br />';
  61. echo '<b><font color="ff0000">Aussenfensterbank</font></b>: ', $row['farbe'],'<br />';
  62. echo '<b><font color="ff0000">Rolladen</font></b>: ', $row['farbe'],'<br /><hr></hr><br />';
  63. echo '</td>';
  64. echo '<td>';
  65. echo '<a href="#" id='.$row['id'].'; class="usun">Delete</a>';
  66. echo '</td>';
  67. echo '<td>';
  68. echo '</td>';
  69. echo '</tr>';
  70. echo '<tr>';
  71. echo '';
  72. echo '</tr>';
  73. }
  74. echo '</table>';
  75. }
  76. if($_POST['id'])
  77. {
  78. $id=$_POST['id'];
  79. $id = mysql_escape_String($id);
  80. $sql = "delete from bestellen where id='$id'";
  81. mysql_query( $sql);
  82. }
  83. ?>


dalej operuje skryptem AJAX w pliku np. div.js
  1. $(function() {
  2. $(".usun").click(function() {
  3. var id = $(this).attr("id");
  4. var dataString = 'id='+ id ;
  5. var parent = $(this).parent();
  6.  
  7. $.ajax({
  8. type: "POST",
  9. url: "dane.php",
  10. data: dataString,
  11. cache: false,
  12.  
  13. success: function()
  14. {
  15. if(id % 2)
  16. {
  17. parent.fadeOut('slow', function() {$(this).remove();});
  18. }
  19. else
  20. {
  21. parent.slideUp('slow', function() {$(this).remove();});
  22. }
  23. }
  24. });
  25.  
  26. return false;
  27. });
  28. });



i nie chce mi usuwać tego ch...go rekordu...nie wiem co jest grane.... a ma to usuwać bez odświeżania strony dynamicznie...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
i nie chce mi usuwać tego ch...go rekordu
To nie rekord jest siurkowaty a Twój kod... i na przyszłość wysławiaj się poprawnie. Wykropkowanie przekleństwa tu nic nie pomaga.

Do łączenia z bazą używasz PDO ale zapytanie już wykonyjesz przez mysql_query...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
vojtasek
post
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 6.07.2009

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


zrobiłem tak

  1. if($_POST['id'])
  2. {
  3. $id = $_POST['id'];
  4. $stmt = $dbh->prepare("DELETE FROM bestellen WHERE id = '$id'");
  5. $stmt->execute();
  6.  
  7. }
  8.  


i nadal nic....

  1. echo "<a href=\"#?id=".$row['id']."\" class=\"usun\"><img src=\"images/kosz.png\" alt=\"delete\" /></a>";


nie Postuje mi id...

z taką funkcja w js

  1. $(function() {
  2. $(".usun").click(function() {
  3. var id = $(this).attr("id");
  4. var dataString = 'id='+ id ;
  5. var parent = $(this).parent();
  6.  
  7. $.ajax({
  8. type: "POST",
  9. url: "dane.php",
  10. data: dataString,
  11. cache: false,
  12.  
  13. success: function()
  14. {
  15. if(id % 2)
  16. {
  17. parent.fadeOut('slow', function() {$(this).remove();});
  18. }
  19. else
  20. {
  21. parent.slideUp('slow', function() {$(this).remove();});
  22. }
  23. }
  24. });
  25.  
  26. return false;
  27. });
  28. });
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A patrzyłes czy to:
var id = $(this).attr("id");
zwraca ci poprawne ID?

A patrzyłeś co wysyła AJAX?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
vojtasek
post
Post #5





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 6.07.2009

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


właśnie patrze...
Go to the top of the page
+Quote Post
luckyps
post
Post #6





Grupa: Zarejestrowani
Postów: 153
Pomógł: 41
Dołączył: 28.06.2011
Skąd: Częstochowa

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


A skad pobierasz ten atrybut ? w html, ktory napisales go nie ma...
  1. var id = $(this).attr("id");



nospor mnie ubiegl wink.gif

Ten post edytował luckyps 1.09.2011, 08:35:35
Go to the top of the page
+Quote Post
vojtasek
post
Post #7





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 6.07.2009

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


zgadza się jeśli zrobię tak w pliku index.html umieszcze...

  1. <div id="shout"><a href="dane.php" id="18" class="usun"><img src="images/kosz.png" alt="delete" onclick="return confirm('Sind Sie sicher, die Sie loschen mochten?')" /></a></div>


to rzeczywiście towar o id = 18 jest usuwany z bazy tak jak chcialem...

ale w div id= "shout" chce wyświetlać slelecta z bazy danych a nie sam koszyk usuwania...teraz to sie juz calkiem zamotalem

Ten post edytował vojtasek 1.09.2011, 09:59:58
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Przecież nikt ci nie broni tam tego selecta wstawić.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Aktualny czas: 21.08.2025 - 06:32