php在同一页面上显示查询结果

时间:2013-06-18 08:29:35

标签: php mysql sql

下面是我的索引页面中的一个表单,用户将在其中选择一个选项并单击“提交”。在提交时,它将发布在“display.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>';



?>

2 个答案:

答案 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>

答案 1 :(得分: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 for AJAX。

第二种选择使用是性感的,但是如果JS禁用了,那么你也应该记住这些事情。

我在这里使用console.log,所以要检查它是否使用浏览器控制台。