Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][AJAX][PHP]Usuwanie wybranego wiersza z bazy
Forum PHP.pl > Forum > Przedszkole
poli25
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
jasin
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";
mortus
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.
poli25
Bardzo dziekuję wink.gif dopiero raczkuje w Jquery ale chciałem rozszerzyć przykład z ksiązki wink.gif działa tak jak mialo działac.
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.