2016-04-23 52 views
2

我目前正在構建一個網站作爲我的課程的一部分。該網站是一個電子商務網站。我將產品存儲在一個SQL數據庫中,然後使用php腳本將每一行回顯到一個表中。我已經設法做到了這一點,但是,現在我希望在每個產品上添加一個按鈕,其中包含將所選產品添加到購物車的href。唯一的問題是,構建購物車陣列我需要ID,並在循環中設置ID,您必須連接一個整數,並且我不知道如何在腳本中執行此操作,這是我目前擁有的,任何幫助將非常感激。在html ID標記中使用基於sql id的整數連接

while ($row = mysqli_fetch_assoc($result)){ 
echo "<tr>"; 
echo "<td><br>".$row['Name']."</td><br>"; 
echo "<br>"; 
echo "<td><img src=".$row['Image']."height='200' width = '200'"."</td><br>"; 
echo "<br>"; 
echo "<td>Price: £".$row['Price']."</td><br>"; 
echo "<button type='button'><a href='test.php' id=>Buy</a></button>"; 
echo "</tr>"; 

}

在此先感謝,我希望我已經給了足夠的細節。

回答

1

有幾種方法可以解決這個問題。

$id = 123; // as an example. Use the appropriate variable for this. 

echo "<button type='button'><a href='test.php' id=$id>Buy</a></button>"; 

echo "<br>"; 

echo "<button type='button'><a href='test.php' id=\"$id\">Buy</a></button>"; 

其中在HTML源透露:

<button type='button'><a href='test.php' id=123>Buy</a></button><br><button type='button'> 

<a href='test.php' id="123">Buy</a></button> 

取決於如果你想讓他們引用或不是,如果是這樣的一個問題是關於什麼的。

或者:

echo "<button type='button'><a href='test.php' id='".$id."'>Buy</a></button>"; 

與HTML源透露:

<button type='button'><a href='test.php' id='123'>Buy</a></button> 

然後你可以用GET數組提取數據。

即:

$var = $_GET['id']; 

則:

echo "<button type='button'><a href='test.php?id=".$id."'>Buy</a></button>"; 

HTML源代碼:

<button type='button'><a href='test.php?id=123'>Buy</a></button> 

在你while循環,你可以一個變量分配給ID。

即:

$id = $row['id']; 

我必須指出,使用單引號可能會產生不良影響,如果您的數據包含單引號,所以最好使用雙引號。

即:(和轉義雙引號)在HTML源

echo "<button type=\"button\"><a href=\"test.php?id=".$id."\">Buy</a></button>"; 

生產這樣的:

<button type="button"><a href="test.php?id=123">Buy</a></button> 

我有這個上週第一手經驗實際上,在HTML源透露了畸形的警告帶有數據的HTML標記,如Mark's Bar & Grill


while ($row = mysqli_fetch_assoc($result)){ 

    $id = $row['id']; // assuming you have a row for id. 

    // all your other code 

    echo "<button type='button'><a href='test.php?id=".$id."'>Buy</a></button>"; 

} 

例如:

$name = "Bob's Bar & Grill"; 

echo "<button type='button'><a href='test.php' name='".$name."'>Buy</a></button>"; 

將產生在HTML源的No space between attributes警告。

從HTML源代碼:

<button type='button'><a href='test.php' name='Bob's Bar & Grill'>Buy</a></button> 

,如果用CSS規則中可能有不利影響。


這將涉及到其他行的名稱$row['Name']

  • 小心一點。
+0

感謝很多關於這一點,這已經整理了我的代碼,因爲我在另一個使用$ _GET [「身份證」] PHP腳本。 – dannstuff

+0

@dannstuff不客氣,很高興我能幫上忙。你確實看到我關於使用單引號的說明嗎?上週我自己有一個問題,需要使用雙引號。第一次爲我想的所有事情;-)生活和學習作爲我過去常說的話。 *乾杯* –

0

不要擔心它是一個整數。就像使用字符串一樣,使用從數據庫返回的值。它將從int轉換爲字符串。另外請注意,您正在創建字符串的連接並不是真的需要。由於PHP變量以$開頭,你可以只寫他們內聯這樣的:

echo "<button type='button'><a href=\"test.php\" id=\"$row['id']\">Buy</a></button>";