2011-11-15 25 views
-1

私はかなり新しいPHPです。このショッピングカートは画像を表示しています。製品名と詳細をmysqlデータベースから取得します。そのためのコードは以下の通りです:PHPがあるページから別のページへ情報を取得する

何私がしたいことは、ユーザが選択した製品があることを別のページにユーザーを移すべき製品の写真/名前をクリックできるようにするためである
<table border="0" cellpadding="2px" width="600px"> 
    <? 
     $result=mysql_query("select * from products"); 
     while($row=mysql_fetch_array($result)){ 

    ?> 
    <tr> 
     <td><img src="<?=$row['picture']?>" /></td> 
     <td> <b><?=$row['name']?></b><br /> 
       <?=$row['description']?><br /> 
       Price:<big style="color:green"> 
        £<?=$row['price']?></big><br /><br /> 
       <input type="button" value="Add to Cart" onclick="addtocart(<?=$row['serial']?>)" /> 
     </td> 
    </tr> 
    <tr><td colspan="2"><hr size="1" /></td> 
    <? } ?> 
</table> 

表示されます。ところで

、私のMySQLのテーブルには、次のフィールドで構成されています

シリアル 名 説明 価格を 絵

どのように私はこれをやって行くべきですか?

<a href="product.php?product_id=<?=$row['serial']?><?=$row['name']?></a> 

その後product.phpページにこの挿入:そのコードの下

$id = $_GET['product_id']; 
$result=mysql_query("select * from products WHERE serial = '$id'"); 
$row=mysql_fetch_array($result); 

をあなたはなどなど、画像と価格のようなものを追加することができ、このようなリンクを作るU

+2

笑ピーターズ答えを使用することができますを行うことがちょうどリンクを作成し、店舗の商品ページURLにMySQLのテーブルに新しいフィールドが必要になりますか? ''?何か不足していますか? – Brad

+0

@ブラッド・ノープ/ + 1、あなたは絶対に何も見逃していません。 – jli

+0

リンクを作ってください?別のページへのハイパーリンクだけを意味しますか?どうやって?それは簡単ではありません... – Jahed

答えて

2

に感謝:)

製品のシリアルがURL(product_id)に保持され、$ _GET変数によって呼び出されます。 SO product_id = 1はシリアル番号1の製品をロードします。

この現在のページのURLを見ると、中央に番号8142009があります。 8142008に変更すると、前の質問が読み込まれます。この例はまったく同じ方法で動作します。

+0

感謝ピーター、私はあなたが言ったことに従っているが、残念ながらあなたは名前をクリックすることはできません。何か変わった奇妙な理由のためのリンクはありません。以下は、私のPHPコードです:​​
Jahed

+0

私の謝罪、タイプミスがあった、 –

+0

がすっごくくらいのuを感謝笑てhrefにherfからそれを変更..... – Jahed

0

これを行うには、POSTパラメータまたはGETパラメータを使用する必要があります。

私は実際に製品を表示するロジックを残しておきますが、ウェブアドレスを見ると、時にはhttp://www.example.com/index.php?foo=bar&stuff=noという形式になります。この場合、 "?"クエリ文字列と呼ばれ、変数の "&"区切りリストがあります。この場合、fooとstuffの2つの変数があり、barとnoの値をそれぞれ持っています。

これは、 "index.php"というスクリプトも呼び出します。 PHPは、$_GETと呼ばれるスーパーグローバル(つまりどこでも魔法のように利用できる変数)を公開しています。これは、GET変数名とその値の間のマッピングを含む配列です。この場合、配列("foo"=>"bar", "stuff"=>"no")になるので、$_GET['foo']$_GET['stuff']を使用して必要な値にアクセスできます。

POSTパラメータは、同じですが少し異なります。これらはHTMLフォーム(「メソッド」属性が「投稿」に設定されている)から送信されます。この場合、スーパーグローバル$_POSTは同じ方法で記入されますが、配列キーはHTMLの入力要素の名前であり、その値はそれぞれの要素の値ですので、<input type="hidden" name="foo" value="bar" />は "foo"というエントリを$_POSTに作成します"を値" bar "で置き換えます。

これから、になります。必要なものを適切に実装することができます。

+0

また、その他があります'$ _COOKIE'や' $ _SESSION'のような有用な超球体については、100%の問題には適用できないので、私はこれらの周りの読書をあなたに任せます。 – slugonamission

+0

ありがとうil have a read – Jahed

0

あなたはおそらく、次

<table border="0" cellpadding="2px" width="600px"> 
    <? 
     $result=mysql_query("select * from products"); 
     while($row=mysql_fetch_array($result)){ 

    ?> 
    <tr> 
     <td><a href="<?=$row['product_page']?>"><img src="<?=$row['picture']?>" /></a></td> 
     <td> <b><?=$row['name']?></b><br /> 
       <?=$row['description']?><br /> 
       Price:<big style="color:green"> 
        £<?=$row['price']?></big><br /><br /> 
       <input type="button" value="Add to Cart" onclick="addtocart(<?=$row['serial']?>)" /> 
     </td> 
    </tr> 
    <tr><td colspan="2"><hr size="1" /></td> 
    <? } ?> 
</table> 

またはあなたが簡単に

関連する問題