2013-06-18 235 views
0

下面是我的索引頁面中的一個表單,用戶將在其中選擇一個選項並單擊提交。提交時,它會發布在「display.php」文件中,我從數據庫中獲取數據。php在同一頁上顯示查詢結果

索引頁代碼:

<form action="display.php" method="post"> 
<select name="mnth"> 
<option value="Jan">January</option> 
<option value="Feb">February</option> 
<option value="Mar">March</option> 
<option value="Apr">April</option> 
<option value="May">May</option> 
<option value="Jun">June</option> 
<option value="Jul">July</option> 
<option value="Aug">August</option> 
<option value="Sep">September</option> 
<option value="Oct">October</option> 
<option value="Nov">November</option> 
<option value="Dec">December</option> 
</select> 
<input id="abc" type="submit" name="Display"></input> 
</form> 

的Display.php的文件包含以下PHP代碼從表取出數據並將其顯示在以不同的白頁表格形式。 但希望在我的索引頁面中顯示此表。我怎麼做?

<?php 

$empid=$_COOKIE["empid"]; 
$deptt=$_COOKIE["deptt"]; 
$password=$_COOKIE["password"]; 

$month=$_POST["mnth"]; 



$empid=mysql_real_escape_string($empid); 
date_default_timezone_set('Asia/Kolkata'); 


$con=mysql_connect("localhost","root","",""); 
if(!$con) 
{ 
die("Error in connection"); 
} 

$db=mysql_select_db("swan",$con); 

if(!$db) 
{ 
echo mysql_errno($con); 
} 

$query_login="SELECT * FROM `".$empid."_login` WHERE month='$month' "; 
$query_logout="SELECT * FROM `".$empid."_logout` WHERE month='$month' "; 
$query_hrs="SELECT * FROM `".$empid."_hrs` WHERE month='$month' "; 
$result1=mysql_query($query_login,$con); 
$result2=mysql_query($query_logout,$con); 
$result3=mysql_query($query_hrs,$con); 
$value1=mysql_fetch_array($result1); 
$value2=mysql_fetch_array($result2); 
$value3=mysql_fetch_array($result3); 




$day=date('d'); 

echo '<table id="displayTable" border="1px"> <th>Date</th><th>Login_Time</th> 
     <th>Logout_time</th><th>Hours</th>'; 


for($i=0;$i<31;$i++) 
{ 
echo '<tr><td>'.($i+1).'</td><td>'.$value1[($i+1)].'</td><td>'.$value2[($i+1)].'</td> 
<td>'.$value3[($i+1)].'</td></tr>'; 

} 

echo '</table>'; 



?> 
+0

要在seprate文件和HTML代碼中的index.php的PHP代碼? – 2013-06-18 08:44:07

回答

0

在同一頁上使用 - AJAXaction=""和代碼相同的頁面,並檢查表單提交與否。

選項 -

if (!empty($_POST)) 
{ 
// Do form processing, taking care of sql injections 
} 
else 
{ 
// Show Form 
} 

第二選項 -

$.ajax({ 
     type: "POST", 
     url: "yourURL",// your display.php 
     data: formData, 
     processData: false, 
     contentType: false, 
     error: function(jqXHR, textStatus, errorMessage) { 
      console.log(errorMessage); // Optional 
     }, 
     success: function(data) {console.log(data)} 
    }); 

//使用jQuery的AJAX在這裏。

第二個選項的用法很性感,不過嘿,如果JS禁用了,那麼請記住這些東西。

我在這裏使用console.log,所以要檢查它使用瀏覽器控制檯。

+0

我試過第二個選項,但它仍然在另一個頁面顯示錶... –

1

你可以使用if $_POST所以它會是這個樣子:

<?php 
if($_POST) 
{ 
// code from display.php 
} 
?> 
<form action="index.php" method="post"> 
<select name="mnth"> 
<option value="Jan">January</option> 
<option value="Feb">February</option> 
<option value="Mar">March</option> 
<option value="Apr">April</option> 
<option value="May">May</option> 
<option value="Jun">June</option> 
<option value="Jul">July</option> 
<option value="Aug">August</option> 
<option value="Sep">September</option> 
<option value="Oct">October</option> 
<option value="Nov">November</option> 
<option value="Dec">December</option> 
</select> 
<input id="abc" type="submit" name="Display"></input> 
</form> 
+0

但我想保持顯示代碼在一個單獨的文件,而不是把所有的代碼放在我的索引頁 –