2016-07-22 7 views
1

私は最近、ウェブサイトを作ろうとしています。私が作っているウェブサイトには、異なるレイアウトのアイテムを除いて基本的に同じ複数のページがあります。私は、すべてのアイテムに関する情報が保存されているデータベース(アイテムごとに特別なIDを含む)から取り出されたアイテムの名前と価格を持つことによって、これらのページをすべて同時に変更するのに苦労する時間を減らしたい。 。基本的な考え方は、アイテムのIDだけを指定しなければならず、データベース自体が情報を取得するということです。私はすでにHTMLとPHPの基本的なコーディングを行っていますが、PHPコードを関数にしてコマンド内で実行可能にする方法がわかりません。私はインポートする方法を知っておく必要があり、PHPスクリプトにHTMLデータを挿入するにはどうすればいいですか?

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = "testpw"; 
$dbname = "testdb"; 

$conn = new mysqli($servername, $username, $password, $dbname); 
if($conn->connect_error) { 
} 
$sql = "SELECT name, price FROM items WHERE id='(Get ID from HTML code here)'"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
while($row = $result->fetch_assoc()) { 
echo " " .$row["name"]. " " .$row["price"]. "<br>"; 
} 
} else { 
echo "0 results"; 
} 
$conn->close(); 

?> 

は、私はすでにこのコードは、私は(ここではHTMLコードからIDを取得します)置くIDの仕様を書き出すことを知っている:私は、以下のPHPコードが含まれますHTMLのIDをここに入力して、その関数をコードに入れることができます。ここで

はHTMLです:これは、現在、私のウェブサイトの構築に大きな道路ブロックであるとして

<div id="images"> 
<figure> 
<img class="image" id=(Item ID here) src="idk.png" width="225" height="190" alt=""> 
<figcaption><h3>Name: (PHP Function Here) </h3></figcaption> 
<figcaption><h5>Price: (PHP Function Here)/month</h5></figcaption> 
<figcaption><div id="tfbutton5"><form action="buy.html"><input type="submit" value="Rent" class="tfbutton5"></form></figcaption> 
</div> 
</figure> 
</div> 

任意のソリューションをいただければ幸いです。たとえそれが私が探していた答えではない場合でも。ありがとうございました。

+0

「$ sql =」SELECT name、price from WHERE id = '(HTMLコードからIDを取得)'; "PHPがHTMLを画面に送信する前にサーバー上で実行されます。これを行うには、フォーム、リンク、またはajaxリクエストを使用してサーバーに 'id'を送る必要があります。 http://programmers.stackexchange.com/questions/171203/what-are-the-differences-between-server-side-and-client-side-programming – CD001

+0

stupid /単純/危険な例 'query(" SELECT * name、 id = $ _GET [id] ")'という項目からの価格です。 IDをクエリパラメータとして渡し、クエリで使用します。もちろん、この種のことを試す前に[SQLインジェクション攻撃](http://bobby-tables.com)について学んでください。 –

+0

いくつかのjavascriptがあなたに求めていることをする必要があります。私はAngularJs、JavaScriptフレームワークを見てみることをお勧めします。しかし、この方法はあまりにも愚かなようです。ユーザーがあなたにそのデータを与えない限り、HTMLからデータを取得すべきではありません。 –

答えて

0

あなたが探しているのはテンプレートシステムです。 (PHP Function Here)に置き換えた値は、htmlの出力を開始して特定の変数に代入する前に評価する必要があります。これらの変数の値を{{ name }}{{ price }}に代わる

<h3>Name: {{ name }}</h3> 
<h3>Price: {{ price }}</h3> 

とテンプレートエンジン:次に、あなたのテンプレートにあなたのような何かを書くと思います。

あなたがあなた自身にそのようなソリューションの実装を開始する前に、たとえば小枝のために、既存のテンプレートエンジンをチェックアウト:http://twig.sensiolabs.org/

0

[OK]をキープ物事もう少しシンプル、はいあなたはAJAXを使用することができます、はいあなたはフレームワークを使用することができますが;しかし、あなたを得るためには、ビューページに単純なインクルードを使用し、必要なビットを出力して、必要なデータを出力することができます。

<?php include("your-db-php-file"); ?> 
    <div id="images"> 
    <figure> 
    <img class="image" id=(Item ID here) src="idk.png" width="225" height="190" alt=""> 
    <figcaption><h3>Name: <?php echo $nameVar; ?></h3></figcaption> 
    <figcaption><h5>Price: <?php echo $priceVar; ?>/month</h5></figcaption> 
    <figcaption><div id="tfbutton5"><form action="buy.html"><input type="submit" value="Rent" class="tfbutton5"></form></figcaption> 
    </div> 
    </figure> 
    </div> 

はい、私は、Marc Bが言及したことを強くお勧めします。PHPとMySQLのベストプラクティスをお読みください。

+0

はい、テンプレートを使用することもお勧めです。しかし、もう一度一度に取り組んでください。 – jasonlam604

関連する問題