2012-02-28 40 views
0

我一直有一個相當惱人的問題,關於捕獲SQL信息,然後將它放到PHP表單中(理論上它應該很容易)。把SQL信息放到HTML/PHP表格中

下面是SQL數據庫信息的代碼:

<? 
$select = "SELECT * FROM beer WHERE country_id = 3"; 
$data = mysql_query($select) or die("Unable to connect to database."); 

while($info = mysql_fetch_array($data)) { 
echo '<center>';  
echo '<h2>'.$info['name'].'</h2>'; 
echo '<table style="padding:0px;"><tr>'; 
echo '<tr><td><b>ABV%:</b></td><td width="570">'.$info['abv'].'</td></tr>'; 
echo '<tr><td><b>Bottle Size:</b></td><td width="570">'.$info['bottleSize'].'</td></tr>'; 
echo '<tr><td><b>Case Size:</b></td><td width="570">'.$info['caseSize'].'</td></tr>'; 
echo '<tr><td><b>Price:</b></td><td width="570">$'.$info['price'].'</td>'; 
echo '</tr></table>'; 
echo '</center>'; 
echo '<br/>'; 

echo '<a href="'.$info['id'].'.php"><img src="" border="0"></a><br><br>'; 

echo '<form name="cart" method="post" action="cart.php"> <table border="0"> <tr>'; 
echo '<td><input type="hidden" name="bname" value="'.$info['name'].'"><input type="hidden" name="price" value="'.$info['price'].'"></td>'; 
echo '<td><b>Quantity:</b></td>'; 
echo '<td><input type="text" name="qty" size="3"></td>'; 
echo '<td><input type="submit" value="Add to Cart" a href="cart.php?name=foo&price=bar" /a></td>'; 
echo '</tr></table></form>'; 
} 
?> 

我希望在提交值按下以某種方式傳輸價格,數量和名稱到一個基本的HTML表單(讓所有的用戶必須做的是添加名稱,地址,etcetc)。我完全沉迷於如何做到這一點。

如果任何人都可以提供幫助,將不勝感激。

+0

你要在數據庫中的每個條目或一個形式的所有項目的形式? – Michal 2012-02-28 20:49:16

+0

因此,您要爲顯示的每一行創建一個單獨的表單,並且您希望發生什麼?另外,爲什麼你有一個鏈接標籤與您的提交按鈕合併? – j08691 2012-02-28 20:50:49

+0

我已經有了一個表格/ PHP文件。我只是想以某種方式(如果可能的話)爲每個項目購買一個條目..如果這是有道理的?就像亞馬遜的結帳一樣。 – Noirdeathe 2012-02-28 20:56:29

回答

0

你寫的代碼?因爲它與這裏的代碼完全相同。

您需要在cart.php文件 中寫入HTML表單,並使用$_POST變量顯示價格,數量和名稱的值。

例如:

<form method='post'> 
<input type='text' name='price' value='<?=$_POST['price']?>'> 
<input type='text' name='quanitity' value='<?=$_POST['qty']?>'> 
+0

是的,我自己寫了所有的代碼(做TD和BR都不難)。也;這使得Hella更有意義,過去幾天我一直在嘗試做Sessions和$ _POST。 – Noirdeathe 2012-02-28 20:57:28

1

至於你提到亞馬遜結賬,這裏是一件事,你可能不明白。 Amazoin不使用表單來回移動服務器和瀏覽器之間的項目數據。
它在服務器時間存儲在會話中。所有你需要的是一些標識符放入隱藏的領域。

在PHP中使用一個會話你只需要兩件事情:

  1. 調用的任何輸出到瀏覽器在哪裏會話所需的各paghe之前session_start()功能。
  2. 使用`$ _SESSION變量。

就是這樣。

說,page1.php中

<? 
session_start(); 
$_SESSION['var'] = value; 

和page2.php

<? 
session_start(); 
echo $_SESSION['var']; 
+0

對,我需要會話嗎?這是一個難以解決的問題嗎? (我對PHP很新,這已經讓我把頭髮拉出來了!) – Noirdeathe 2012-02-28 21:14:01

+0

哦,不!在PHP中使用會話非常簡單。就像使用一個變量一樣簡單。讓我給我的答案添加一個例子。 – 2012-02-28 21:33:30

+0

非常感謝你:)我現在就給它一個鏡頭,看看會發生什麼! – Noirdeathe 2012-02-28 21:44:00