Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Problem z pętlą while, nie przekazuje formularz konkretnego id wiersza
krysob
post 23.02.2013, 00:57:38
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 4.12.2011

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


Witajcie, mam problem z petlą while, wyswietlam tabelkę z możliwością edytowania konkretnego wiersza, po wpisaniu wartosci i kliknięciu przycisku powinien wysyłać id wybranego wiesza w tabeli (który ma uaktualnić). Zaś wysyła w każdym wierszu ostatni id wiersza w tabeli, to jakiś musi być głupi bląd ale ja nie mogę sobie z nim poradzić więc proszę o pomoc.

Z góry dziękuje za każdą podpowiedz

CODE
<?php
include 'config.php';
db_connect();

check_login();

$pagetitle = 'Koszyk';
require_once ('templates/userheader.html');

if (isset($_POST['changepieces'])) {
$cart_id = $_POST['cart_id'];
$product_pieces = $_POST['product_pieces'];
echo '<p>Zmieniles ilosc wybranego produktu w koszyku !</p>';
mysql_query("UPDATE `carts` SET product_pieces = '{$_POST['product_pieces']}' WHERE cart_id = '{$_POST['cart_id']}'") or die("blad");
}
echo '<table align="center" border="1" width="500px">
<h2>Twój koszyk</h2>
<tr>
<th>Nazwa</th>
<th>Cena</th>
<th>Ilosc</th>
<th>Zmien</th>
</tr>';

$result = mysql_query("SELECT * FROM `carts` WHERE `user_id` = '{$_SESSION['user_id']}'");
while($row = mysql_fetch_assoc($result)) {
echo '<tr>
<td><b>'.$row['product_name'].'</b></td>
<td>'.$row['product_price'].'zł</td>
<td>'.$row['product_pieces'].'szt</td>
<td><form method="post" action="'.$_SERVER['PHP_SELF'].'">
<input type="text" id="product_pieces" name="product_pieces" size="2" value="" />
<input type="hidden" id="cart_id" name="cart_id" value="'.$row['cart_id'].'" />
<input type="submit" value="Zmien ilosc" name="changepieces" /></td>
</tr> ';
}
db_close();
?>
Go to the top of the page
+Quote Post
_Borys_
post 23.02.2013, 01:12:30
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

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


Coś takiego powinno być
  1. <input type="text" id="product_pieces" name="product_pieces[]" size="2" value="" />
  2. <input type="hidden" id="cart_id" name="cart_id[]" value="'.$row['cart_id'].'" />

Wtedy masz w tablicy wszystko co wpisałeś i musisz zmienić zapytanie zmiany do bazy, albo w pętli albo inaczej.
Go to the top of the page
+Quote Post
krysob
post 23.02.2013, 21:30:24
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 4.12.2011

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


Chyba z tym sobie nie poradze, próbuje zmienić cos w zapytaniu i nic nie działa jak powinno

CODE
if (isset($_POST['changepieces'])) {
$cart_id = cart_id[$_POST('cart_id')];
$product_pieces = $_POST['product_pieces'];
echo '<p>Zmieniles ilosc wybranego produktu w koszyku !</p>';
mysql_query("UPDATE `carts` SET product_pieces = '{$_POST['product_pieces']}' WHERE cart_id = '{$cart_id}'") or die("blad");
}


wyrzuca błąd, z góry dziękuje za podpowiedz.
Go to the top of the page
+Quote Post
nospor
post 23.02.2013, 22:12:13
Post #4





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




Wyswietlaj blad zapytania a nie nic nie mowiacy napis blad....
mysql_query("UPDATE `carts` SET product_pieces = '{$_POST['product_pieces']}' WHERE cart_id = '{$cart_id}'") or die(mysql_error());


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

"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 Wersja Lo-Fi Aktualny czas: 15.07.2025 - 16:54