2016-08-04 96 views
0

我有一個HTML頁面index2.html。在這個頁面中,我有一個DIV,我用它來調用一個PHP頁面。 Php頁面具有數據庫連接參數,一個用於從數據庫中獲取值的SQL。 但是,當從HTML調用PHP時,我將重定向到PHP頁面。我只想使用這個存儲過程從數據庫中獲取數據。使用php的html連接數據庫

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中,那麼html將不得不做一個ajax請求,而不僅僅是提交一個表單到php腳本。 –

+0

你可以使用jQuery的加載函數將遠程內容加載到div中。你問題是不是真正清楚,但你甚至沒有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有一個'回聲',它顯示在加載的html/php而不是onclick上。 – Nash

+0

我只需要點擊一個div,從數據庫中讀取數值並在呼叫屏幕上或在呼叫屏幕上彈出一個顯示值, – Nash

+0

然後,當您單擊div時,您需要調用一個函數該PHP的Ajax請求。然後PHP將完成它的工作,它會將結果傳遞給你的函數。 –