---
title: "Tips till liten webshop"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/95237-tips-till-liten-webshop"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Melea"
published: "2004-01-19T18:52:24.000Z"
updated: "2004-01-20T19:43:14.000Z"
replies: 7
views: 467
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/95237-tips-till-liten-webshop"
---

# Tips till liten webshop

## #1 — Melea, 2004-01-19T18:52Z

Tjabba wF :h

Har en liten fråga ang. en webshop jag bygger just nu. Men har fastnat där jag ska lägga in alla produkter man vill beställa i databasen. Själv INSERT koden alltså... Såhär loopar jag ut alla produkter och så får man välja antalet också.

```php
<?
$SQL = mysql_query("SELECT * FROM products order by product_name") or die (mysql_error());
?>

<form action="forms/product.php" action="method">
<input type="hidden" name="query" value="buy">
<? while($objRS = mysql_fetch_array($SQL)) { ?>
<?=$objRS['product_name']?> - <?=$objRS['price']?> kr || Antal: <select name="<?=$objRS[id]?>">
<option>0</option><option>1</option><option>2</option><option>3</option><option>4</option><option>5</option><option>6</option>
</select><br>
<? } ?>
<input type="submit" value="Beställ">
</form>
```

Produkternas tabell ser ut såhär:

```
id
product_name
price
```

Har inte skapat någon tabell för var alla saker man ska köpa hamnar, tänkte att det får ingå i "tipset" :). Vore verkligen skoj om någon kunde hjälpa mig med detta eftersom det är till mitt lilla projektarbete i 3an.

Tack på förhand!

Permalänk: https://www.webforum.nu/p/95237

## #2 — Melea, 2004-01-19T20:46Z

Kommit en bit på vägen men pID (produktID:et) blir alltid den första produkten... det sparas alltså tre stycken punkter i databasen (antalet produkter) med samma värden.

```php
<?
$SQL = mysql_query("SELECT Count(id) AS iCount FROM products") or die (mysql_error());
$objN = mysql_fetch_array($SQL);

$SQL = mysql_query("SELECT * FROM products order by product_name") or die (mysql_error());
?>
<form action="forms/product.php" method="post">
<input type="hidden" name="nmr_of_products" value="<?=$objN['iCount']?>">
<input type="hidden" name="query" value="buy">
<? while($objRS = mysql_fetch_array($SQL)) { ?>
<input type="hidden" name="pID" value="<?=$objRS[id]?>"><?=$objRS['product_name']?> - <?=$objRS['price']?> kr || Antal: <select name="products">
<option>0</option><option>1</option><option>2</option><option>3</option><option>4</option><option>5</option><option>6</option>
</select><br>
<? } ?>
Bordsnummer: <input type="text" name="tbl_nmr" size="3"><br>
<input type="submit" value="Beställ">
</form>
```

Sen insertkoden ser ut såhär:

```php
for ($i = 1; $i<= $_POST['nmr_of_products']; $i++) {

$SQL = "INSERT INTO products_buy (pID, nmr_of_products, tbl_nmr) VALUES ($_POST[pID],'$_POST[products]','$_POST[tbl_nmr]')";
mysql_query($SQL) or die (mysql_error());

}
```

Varför funkar inte pID:et? Ser inte vad felet ligger...
Hjälp snälla! :e

Mvh

Permalänk: https://www.webforum.nu/p/1254964

## #3 — Webslave, 2004-01-19T22:56Z

Ska inte \<?=$objRS\[id\]?\> vara \<?=$objRS\['id'\]?\>?

\*trött... somnar nu\*

Permalänk: https://www.webforum.nu/p/1255062

## #4 — Melea, 2004-01-20T08:46Z

Nja, eftersom det är ett nummer så behövs det väl inga fnuttar?

Permalänk: https://www.webforum.nu/p/1255146

## #5 — Peeer, 2004-01-20T09:17Z

> **Melea skrev:**
>
> Nja, eftersom det är ett nummer så behövs det väl inga fnuttar?

Jopp, i sql-satser ska det inte vara några fnuttar, men i variabelnamn ska det vara det.

Permalänk: https://www.webforum.nu/p/1255160

## #6 — Melea, 2004-01-20T09:36Z

Hur som helst så låg inte felet där... den vill inte ta tre stycken unika poster utan kör tre stycken lika dana (första produktID:et och antalet produkter blir samma i alla tre poster(tre produkter).

Permalänk: https://www.webforum.nu/p/1255166

## #7 — jawbreaker, 2004-01-20T14:36Z

Först och främst, om du ska ha flera formelement med samma namn så måste de heta \[\] på slutet.

```
<input type="hidden" name="pID" ...>
```

blir istället

```
<input type="hidden" name="pID[]" ...>
```

Samma sak gäller för dina selectboxar "products".

Din insert borde bli något åt det här hållet:

```php
for ( $i = 0; $i < $_POST['nmr_of_products']; $i++ )
{
    $SQL = "INSERT INTO products_buy (pID, nmr_of_products, tbl_nmr) VALUES ({$_POST['pID'][$i]},'{$_POST['products'][$i]}','{$_POST[tbl_nmr]}')";
    mysql_query($SQL) or die (mysql_error());
}
```

Permalänk: https://www.webforum.nu/p/1255275

## #8 — Melea, 2004-01-20T19:43Z

**/Red** Löste det, tack så mycket ;)

Permalänk: https://www.webforum.nu/p/1255442

---

Tråden på webben: https://www.webforum.nu/amne/php/95237-tips-till-liten-webshop
