2016-04-23 9 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

これについてはいくつかの方法があります。それが問題が何であるかだ場合は、それらを引用したりしませたい場合によっては

<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> 

:HTMLのソースが明らかに

$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ソースの顕現と

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> 

次にあなたがGETアレイにデータを引き出すことができます。

すなわち:

$var = $_GET['id']; 

その後:

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

HTMLソース:あなたのwhileループでは

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

、あなたは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ソースが不正に関する警告を明らかにしたところ、私は、実際にこの最後の週の最初の手の経験を持っていましたMark's Bar & Grillなどのデータを含むHTMLマークアップ。例えば


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

感謝を:PHPの変数は$で始まるので、あなただけのようにインラインそれらを書くことができますPHPスクリプト。 – dannstuff

+0

@dannstuffお元気です、私は助けになることができてうれしいです。あなたは一重引用符の使用について私の注意を見ましたか?私は先週自分自身で問題があり、二重引用符を使用することに頼る必要がありました。私が推測するすべてのもののための初めての時間;-)生きて、私の 'ol pappyが言ったように学ぶ。 *乾杯* –

0

整数であることを心配しないでください。あなたは文字列のためにやっているように、dbからリターンされた値を使用してください。 intからstringに変換されます。また、文字列を作成するために行っている連結は本当に必要ではないことにも注意してください。私は別の$ _GET [「ID」]を使用していて、多くはこのために、これは私のためのコードをソートしてい

echo "<button type='button'><a href=\"test.php\" id=\"$row['id']\">Buy</a></button>"; 
関連する問題