使用php的html连接数据库

使用php的html连接数据库

问题描述:

我有一个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 –

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将完成它的工作,它会将结果传递给你的函数。 –