Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][AJAX][PHP]Usuwanie wybranego wiersza z bazy
poli25
post
Post #1





Grupa: Zarejestrowani
Postów: 239
Pomógł: 20
Dołączył: 19.02.2010

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


Witam borykam się z pewnym problemem mam tabele sklep i w niej 2 kolumny towar oraz cena. mam skrypt usuwanie.php

[PHP] pobierz, plaintext

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="skript.js"></script>
<?php
$polaczenie = mysql_connect('localhost', 'root','root');
$baza = mysql_select_db('kurs_ajax', $polaczenie);

$pokazprodukty = "SELECT * FROM sklep order by id desc";
$rezultat = mysql_query($pokazprodukty, $polaczenie);

echo "<form action='delete_towar.php' method='GET'>";
echo "<table>
<tr>
<th>Towar</th>
<th>Cena</th>

</tr>";
while($wiersz = mysql_fetch_assoc($rezultat))

{

$id=$wiersz['id'];
$towar=$wiersz['towar'];
$cena=$wiersz['cena'];

echo "<tr>
<td>$towar</td><td>$cena</td>
<td>
<input type='checkbox' id='usun_towar' value='$id'>
<input type='button' value='usun' id='usun'>
</td>
</tr>";
}
echo "</table>";
?>



no i efekt jest taki ze wyswietla mi z tabeli oprocz nazwy towaru oraz ceny przycisk usun i jak klikam na przycisk
ktory oznacza ostatni wiersz w tabeli to go usunie ale jak chce usunac np srodkowy wiersz to juz go nie usunie

kod delete_towar.php wyglada tak:

[PHP] pobierz, plaintext

<?php
$polaczenie = mysql_connect('localhost', 'root','root');
$baza = mysql_select_db('kurs_ajax', $polaczenie);

$id=$_GET['id'];

$delete=mysql_query("delete from sklep where id='$id'");
echo "Skasowanao towar nr: $id";

?>



funckja ajax jest tutaj skript.js

[HTML] pobierz, plaintext

$(document).ready(function(){
$("#usun").click(function(){
var id_towar=$("#usun_towar").val();
alert(id_towar);
var url="delete_towar.php?id=" + id_towar;
$.get(url);
});
});




nie wiem czemu nie moge usunąć wybranego wiersza z tabeli tylko ostatnio wpisany ;( Proszę o pomoc

Ten post edytował poli25 28.03.2012, 21:04:05
Go to the top of the page
+Quote Post
jasin
post
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 32
Dołączył: 21.08.2008
Skąd: Toruń

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


Zmień checkbox na:

  1. <input type='checkbox' id='usun_towar' name='delete_id' value='$id' />


a w pliku php:

  1. $id=$_GET['delete_id'];
  2.  
  3. $delete=mysql_query("delete from sklep where id='$id'");
  4. echo "Skasowanao towar nr: $id";
Go to the top of the page
+Quote Post
mortus
post
Post #3





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


W dokumencie HTML nie może być więcej niż jeden element o określonym identyfikatorze, a Ty generujesz w pętli wiele elementów/checkbox-ów o id usun_towar. Możesz użyć przycisku <button> zamiast checkbox-a i inputa <input type="button" /> i wtedy nie powinno być problemu:
  1. <!-- to generowane w pętli -->
  2. <button type="button" value="$id">Usuń towar</button>

a po stronie JS/jQuery:
[JAVASCRIPT] pobierz, plaintext
  1. // ...
  2. $('button[type="button"]').click(function() {
  3. var id_towaru = $(this).attr('value');
  4. // cała reszta, czyli wywołanie AJAX-owe
  5. })
  6. // ...;
[JAVASCRIPT] pobierz, plaintext

Oczywiście powyżej masz tylko fragmenty kodu.

@jasin: To niczego nie zmieni.

Ten post edytował mortus 28.03.2012, 21:18:09
Go to the top of the page
+Quote Post
poli25
post
Post #4





Grupa: Zarejestrowani
Postów: 239
Pomógł: 20
Dołączył: 19.02.2010

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


Bardzo dziekuję (IMG:style_emoticons/default/wink.gif) dopiero raczkuje w Jquery ale chciałem rozszerzyć przykład z ksiązki (IMG:style_emoticons/default/wink.gif) działa tak jak mialo działac.
Go to the top of the page
+Quote Post

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: 22.08.2025 - 15:40