0

以下は、ユーザーがオプションを選択して [送信] をクリックするインデックス ページのフォームです。送信すると、データベースからデータを取得している「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>';



?>
4

2 に答える 2

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>
于 2013-06-18T08:37:47.000 に答える
0

同じページで -AJAXまたはaction=""コードを同じページで使用し、フォームが送信されるかどうかを確認します。

第 1オプション -

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

2番目のオプション -

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

// ここでは AJAX に jQuery を使用します。

2番目のオプションの使用法は魅力的ですが、JSが無効になっているとどうなるでしょうか。これらのことも念頭に置いてください.

ここで使用してconsole.logいるので、確認するにはブラウザコンソールを使用します。

于 2013-06-18T08:33:49.277 に答える