简体   繁体   English

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

[英]php display query results on same page

Below is a form in my index page where user will select an option and click submit. 以下是我的索引页面中的表单,用户将在其中选择一个选项,然后单击提交。 On submitting it'll be posted in "display.php" file where i'm fetching data from database. 提交时,它将发布在“ display.php”文件中,我正在其中从数据库中获取数据。

index page code: 索引页代码:

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

The display.php file contains the following php code which fetches data from table and displays it in a tabular form in a different white page. display.php文件包含以下php代码,该代码从表中获取数据并以表格形式在其他白页中显示。 But want to display this table in my index page instead. 但是要改为在我的索引页面中显示此表。 How do i do that? 我怎么做?

<?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>';



?>

You could use if $_POST so it would look something like this: 您可以使用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>

On Same page use - AJAX or action="" and code on same page and check if form submit or not. 在同一页面上使用AJAXaction=""并在同一页面上编码,然后检查表单是否提交。

1st Option - 第一种选择-

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

2nd Option - 第二种选择-

    $.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)} 
    });

//using jQuery for AJAX here. //在此处使用jQuery for AJAX。

2nd option usage is sexy, but hey what if JS disabled, so keep these things in your mind as well. 第二个选项的用法很性感,但是如果禁用了JS,该怎么办,所以也请记住这些。

I am using console.log here, so to check it use browser console. 我在这里使用console.log ,因此要使用浏览器控制台进行检查。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM