【问题标题】:php display query results on same pagephp在同一页面上显示查询结果
【发布时间】:2013-06-18 08:29:35
【问题描述】:

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



?>

【问题讨论】:

  • 您希望 PHP 代码在单独的文件中,html 代码在 index.php 中??

标签: php mysql sql


【解决方案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>

【讨论】:

  • 但我想将显示代码保存在单独的文件中,而不是将所有代码都放在我的索引页中
【解决方案2】:

在同一页面上使用 - 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,所以使用浏览器控制台检查它。

【讨论】:

    猜你喜欢
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 2015-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 2018-01-15
    相关资源
    最近更新 更多