• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:クリック時にSQLを流したい。)

クリック時にSQLを流したい

このQ&Aのポイント
  • phpを用いてDBから取得した情報を表示するプログラムがあります。URL部をクリックすると、DBにupdate文を流したいと考えています。
  • 以前のプログラムでは遷移先のページでupdateしていましたが、今回は遷移先のページに手を入れることができず困っています。
  • ご指導をお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • dell_OK
  • ベストアンサー率13% (766/5722)
回答No.1

このような方法でどうでしょうか。 URLがクリックされた時に、まず自分自身へ移動して、その際にURLを引き渡します。 自分自身へ移動してからURLをGETし、そのURLをキーにしてカウント処理を行い、その後、そのURLへ遷移します。 <?php if (isset($_GET["url"])){ //カウント処理 //(DB前処理) $sql = "UPDATE ITEM_LIST SET ITEM_COUNT=ITEM_COUNT+1 WHERE ITEM_URL='".$_GET["url"]."'"; $res = mysql_query($sql); //(DB後処理) //指定URLへ遷移 header("Location: ".$_GET["url"]); exit; }else{ //(DB前処理とループ) $Item .= "<table>"; $Item .= "<tr><td>".$row["ITEM_NM"]."</td></tr>"; $Item .= "<tr><td><a href=\"?url=".$row["ITEM_URL"]."\">".$row["ITEM_URL"]."</a></td></tr>"; $Item .= "</table>"; //(DB後処理) } ?> <html> <?=$Item?> </html>

yu-ki0326
質問者

お礼

回答ありがとうございます。 なるほど、そうような方法があったんですね!! さっそく実践してみたいのですが「URLを保持して自分自身へ移動」は どのように行うのでしょうか? <Form action="自分" method="GET">しか思いつかないのですが、 これだと<input type="submit" value="">でしかページ遷移させる方法が分かりません。。。 submit 以外で遷移させることは出来るのでしょうか? 素人で申し訳ありませんが宜しくお願い致します。

その他の回答 (1)

  • dell_OK
  • ベストアンサー率13% (766/5722)
回答No.2

自分のURLを省略しても動作したので省略したままで、先の回答にしましたが、この部分で処理されます。 $Item .= "<tr><td><a href=\"?url=".$row["ITEM_URL"]."\">".$row["ITEM_URL"]."</a></td></tr>"; これで表示されたリンクをクリックすれば、自然と自分を呼び出すと思います。 もしうまくいかない場合は ?url= の前に 自分のURL を追加してください。 $Item .= "<tr><td><a href=\"自分のURL?url=".$row["ITEM_URL"]."\">".$row["ITEM_URL"]."</a></td></tr>";

yu-ki0326
質問者

お礼

ありがとうございます! Locationを用いて無事完成することが出来ました! もし、またどうしても分からないことがあった時は宜しくお願いします。

関連するQ&A