Få fram värde från hidden-fält

Permalänk
Medlem

Få fram värde från hidden-fält

Hejsan,

Jag har följande kod:

<div id="main"> <div id="shopping_cart"> <form action="?page=quick_by" method="post"> <?php include("db.php"); $get_products = "SELECT * FROM products LIMIT 2"; $result_products = mysql_query($get_products) or die(mysql_error()); while($row_products = mysql_fetch_row($result_products)) { $id = $row_products[0]; //Get the flavors $get_flavors = "SELECT flavor FROM flavors WHERE product_id=$id LIMIT 2 "; $flavor_result = mysql_query($get_flavors) or die(mysql_error()); while($flavor_row = mysql_fetch_row($flavor_result)) { ?> <table border="0" cellspacing="0" cellpadding="0" width=""> <td class="shopping_cart"></td> <td class="shopping_cart">Produkt</td> <td class="shopping_cart">Smak</td> <td class="shopping_cart">Antal</td> <tr> <td><img src="admin/logged_in/product_images/thumb/<?= $row_products[1] ?>"></td> <td><?= $row_products[2] ?></td> <td><?= $flavor_row[0] ?></td> <td><input type="text" name="qty"><input type="hidden" name="product" value="<?= $row_products[0] ?>"></td></tr> <?php } } ?> <input type="submit" name="submit" value="vidare"> </form> </div> <?php if(isset($_POST['submit'])) { if(isset($_POST['qty'])) { if(isset($_POST['product'])) { foreach($_POST as $pd) { } } } } ?>

Det jag ivll är att få fram innehållet i hidden-fältet för varje produktantal man väljer.

Väljer man 2st av produkt X och 2st av produkt Z så vill jag få fram värdet på hidden fältet på X och Z. Dessa hidden-fält innehåller produkt-idn. Jag kan inte komma på hur jag ska loopa ut detta för att få fram det rätta värdet.

Någon som vill ge mig en hint?

Visa signatur
Permalänk

Jag har lite svårt att se från denna koden om det handlar om en produktdatabas som du plockar produkter för att visa kunden, eller om det är en kassakorg, där du visar vad kunden redan har valt.
Eftersom det senare inte riktigt behöver en databas, antar jag att det är det förra.

Då får du hitta ett sätt att hålla reda på vad personen klickar på ($variabelFörProduktnamn[$x] = $_POST['vadKundKlickadePå']; $x++;).
Loopa sedan genom arrayen och kör $totaltVärde += $variabelFörProduktnamnsPris[$x];

Det där borde hjälpa en bit på vägen, men det bör tilläggas att jag inte fått i mig morgonkaffet ännu

Visa signatur

Stationär: Processor: Intel i5 3.2GHz, RAM: 4Gb, Grafikkort: ATI Radeon HD 5850, OS: Windows 7 Proffessional x64
Laptop: ASUS K53E, Processor: Intel i5 2450M, RAM: 4Gb, Grafik: Integrerad Intel GMA HD, OS: Win7 Home Premium x64 och Xubuntu 10

Permalänk
Medlem
Skrivet av morphman86:

Jag har lite svårt att se från denna koden om det handlar om en produktdatabas som du plockar produkter för att visa kunden, eller om det är en kassakorg, där du visar vad kunden redan har valt.
Eftersom det senare inte riktigt behöver en databas, antar jag att det är det förra.

Då får du hitta ett sätt att hålla reda på vad personen klickar på ($variabelFörProduktnamn[$x] = $_POST['vadKundKlickadePå']; $x++;).
Loopa sedan genom arrayen och kör $totaltVärde += $variabelFörProduktnamnsPris[$x];

Det där borde hjälpa en bit på vägen, men det bör tilläggas att jag inte fått i mig morgonkaffet ännu

Jag ska förklara lite bättre. Tanken är att jag ska göra en slags snabborder där alla produkter ifrån databasen listas vertikalt med ett fält vid sidan om sig där man kan fylla i hur många utav varje produkt man vill ha.

När man trycker på nästa, så ska man komma vidare med adress osv.

Det jag vill nu är att fånga upp vilka produkter besökaren har valt. Detta hade jag tänkt att göra i form utav ett hidden-fält där jag lagrar varje produkt:id. Men jag får inte ut de produkt-idn som besökaren valde.

Visa signatur
Permalänk

Varför behöver du det?
Kolla upp isset och använd if(isset($_POST['produktensAntalRuta'])){kod för att ta emot order}.

Visa signatur

Stationär: Processor: Intel i5 3.2GHz, RAM: 4Gb, Grafikkort: ATI Radeon HD 5850, OS: Windows 7 Proffessional x64
Laptop: ASUS K53E, Processor: Intel i5 2450M, RAM: 4Gb, Grafik: Integrerad Intel GMA HD, OS: Win7 Home Premium x64 och Xubuntu 10

Permalänk
Medlem

Borde inte något i den här stilen fungera:

<input type="text" id="antal[#produktid#]"> (eller type="number" om man gillar HTML5)

foreach($_POST['antal'] as $produktid => $antal) { // Beställ $antal stycken av produkt $produktid }

Om $antal är 0 (eller tomma strängen, eller liknande) vill besökaren inte ha något.

Permalänk
Medlem
Skrivet av You:

Borde inte något i den här stilen fungera:

<input type="text" id="antal[#produktid#]"> (eller type="number" om man gillar HTML5)

foreach($_POST['antal'] as $produktid => $antal) { // Beställ $antal stycken av produkt $produktid }

Om $antal är 0 (eller tomma strängen, eller liknande) vill besökaren inte ha något.

Vad är antal[#produktid#] för något? Hur kan en sådan här lätt sak vara så svår?

Visa signatur