[英]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. 在同一页面上使用AJAX
或action=""
并在同一页面上编码,然后检查表单是否提交。
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.