2016-08-04 17 views
0

私はHTMLページindex2.htmlを持っています。このページでは、私はPHPページを呼び出すために使用しているDIVを持っています。 PhpページにはDB接続パラメータがあり、DBから値を取得するためのSQLがあります。 しかし、PHPがHTMLから呼び出されると、PHPページにリダイレクトされています。私が望むのは、このストアドプロシージャを使用してデータベースからデータを取得することだけです。PHPを使ったhtmlでのDB接続

HTMLコードスニペット

</head> 

<body> 
    <div id="background"> 
     <div id="Layer0"><img src="images/Layer0.png"></div> 
     <div id="Layer2"><img src="images/Layer2.png"></div> 
     <div id="parceldeliveryservic"><img src="images/parceldeliveryservic.png"></div> 
     <div id="Layer10"> 
      <form action="insert4.php" method="post"> 
      <input type="image" src="images/Layer10.png"/> 
      </form> 
     </div> 

PHPコードスニペット:

<?php include("connect.php"); 
//$q = intval($_GET['q']); 
try { 

    $proc_rate ='rtPreston'; 
    $proc_price = 0.0; 
    $conn = new PDO("mysql:host=$servername;dbname=testdb", $username, $password); 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    //$sql = "GetPrice(?, ?)"; 
    $sql = "Call GetPrice(:input, @output_price)"; 
    $stmt = $conn->prepare($sql); 
    echo $proc_price; 
    $stmt->bindParam(':input',$proc_rate, PDO::PARAM_INT); 
    $stmt->execute(); 
    $stmt->closeCursor(); 
    $proc_price = $conn->query("SELECT @output_price AS output_price")->fetch(PDO::FETCH_ASSOC); 
    if ($proc_price) {   
     echo sprintf('Price for %s is %lf', $proc_rate, $proc_price['output_price']); 
    } 


    } catch(PDOException $e) 
    { 
    echo $sql . "<br>" . $e->getMessage(); 
    } 

//$conn = null; ?> 

あなたは私を呼び出すHTMLページに結果を表示するために何をすべきか教えてくださいできますか?

感謝

+0

HTMLは何でも "コール" することはできません。プログラミング言語ではありません。それは単なるマークアップです。 PHPコード出力をHTMLに埋め込むには、PHPスクリプトにフォームを送信するだけでなく、htmlでajaxリクエストを行う必要があります。 –

+0

jQueryのload関数を使用して、リモートコンテンツをdivにロードすることができます。 youre質問は本当に明確ではないとあなたはタグとしてjave javascriptをしていない...あなたが何を求めているかは100%javascriptです –

答えて

0

HTML

<div onclick="callPHP();">Click me!</div> 

Javascriptを

<script> 
function callPHP() { 
    if (window.XMLHttpRequest) { 
     // code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp = new XMLHttpRequest(); 
    } else { 
     // code for IE6, IE5 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    xmlhttp.onreadystatechange = function() { 
     if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      // xmlhttp.responseText contains the result of the PHP 
      alert(xmlhttp.responseText); 
     } 
    }; 

    // Call the PHP 
    xmlhttp.open("GET", "insert4.php", true); 
    xmlhttp.send(); 
} 
</script> 
+0

こんにちは私はそれを試みました。問題は、insert4.phpがonclickの代わりにhtml/phpのロード時に表示される 'echo'を持っていることです。 – Nash

+0

私が必要とするのは、divのクリックで、データベースからの値を読み込み、呼び出し元の画面または呼び出し元の画面のポップアップで値を表示することです。 – Nash

+0

divをクリックすると、そのPHPのAjaxリクエスト。 phpはその作業を行い、その結果を関数に渡します。 –

関連する問題