PHP根据ID从数据库中获取数据

PHP根据ID从数据库中获取数据,php,database,Php,Database,我无法找出问题所在。mymcreport.php将显示我之前从数据库输入的所有数据。我只想在McReport.php中显示使用makemc.php中Id的数据。请帮我找出解决这个问题的方法。多谢各位 //makemc.php database if(isset($_POST['btnSubmit'])){ $AddMCQ = "INSERT INTO tblmc(Id,Name,FromDate,ToDate,Reason) VALUES('".$_POST['txtNo']."','".str

我无法找出问题所在。mymcreport.php将显示我之前从数据库输入的所有数据。我只想在McReport.php中显示使用makemc.php中Id的数据。请帮我找出解决这个问题的方法。多谢各位

//makemc.php database
if(isset($_POST['btnSubmit'])){
$AddMCQ = "INSERT INTO tblmc(Id,Name,FromDate,ToDate,Reason) VALUES('".$_POST['txtNo']."','".strtoupper($_POST['txtName'])."','".$_POST['txtFrom']."','".$_POST['txtTo']."','".strtoupper($_POST['txtReason'])."')";
$AddMCResult = mysql_query($AddMCQ,$link);

if($AddMCResult)
{
  echo "<script language=\"JavaScript\">\n";
  echo "alert('Record Added.');\n";
  echo "window.location='McReport.php'";
  echo "</script>";
}

//McReport.php
<?php 
include("database.php"); 
$data = mysql_query("SELECT * FROM tblmc") 
or die(mysql_error()); 

echo "<p align='center'><b>Dr. Ting EE Medical Clinic</b></p>";
echo "<p align='center'><font size='2'>MEDICAL CERTIFICATE</font></p>"; 

while($row= mysql_fetch_array( $data )) 
{
$old_from_date = $row['FromDate'];
$old_from_date_timestamp = strtotime($old_from_date);
$new_from_date = date('d/m/Y', $old_from_date_timestamp);

$old_to_date = $row['ToDate'];
$old_to_date_timestamp = strtotime($old_to_date);
$new_to_date = date('d/m/Y', $old_to_date_timestamp);

echo "<p align='center'>THIS IS TO CERTIFY THAT <u>".$row['Name']."</u> IS RECEIVING   MEDICAL</p>";
echo "<p align='center'>TREATMENT AND FOR THE PERIOD <u>".$new_from_date."</u> TO <u>".$new_to_date."</u> INCLUSIVE</p>"; 
echo "<p align='center'>HE WILL BE UNFIT TO CONTINUE HIS USUAL OCCUPATION</p>"; 
} 
?>
//makemc.php数据库
如果(isset($_POST['btnSubmit'])){
$AddMCQ=“插入tblmc(Id、名称、FromDate、ToDate、Reason)值(“$\u POST['txtNo']。”、“.”。strtoupper($\u POST['txtName'])。”、“$\u POST['txtFrom']。”、“$\u POST['txtTo']。”、“.”strtoupper($\u POST['txtReason']))。“)”);
$AddMCResult=mysql\u查询($AddMCQ,$link);
如果($AddMCResult)
{
回音“\n”;
echo“警报('添加记录');\n”;
echo“window.location='McReport.php';
回声“;
}
//McReport.php

必须使用WHERE子句

SELECT * FROM tblmc WHERE Id='$id'    
您需要将makemc.php中的id$\u POST['txtNo']传递给McReport.php(我使用了$id

编辑::

makemc.php

if(session_id() == '') {     
    session_start();    
}     
$_SESSION['id'] = $_POST['txtNo'];    
$id = $_SESSION['id'];
$data = mysql_query("SELECT * FROM tblmc WHERE Id='$id'") or die(mysql_error());
McReport.php

if(session_id() == '') {     
    session_start();    
}     
$_SESSION['id'] = $_POST['txtNo'];    
$id = $_SESSION['id'];
$data = mysql_query("SELECT * FROM tblmc WHERE Id='$id'") or die(mysql_error());

在定义它/从数据库检索数据之前,您正在使用
$row

...

include("database.php"); 
$data = mysql_query("SELECT * FROM tblmc") 
or die(mysql_error()); 

$row = mysql_fetch_array($data); // get the first row from the database

$old_from_date = $row['FromDate'];
...
这仅在实际获得1(一)行时有效。查询似乎检索整个表,因此您可以通过
WHERE
子句进行限制,或者将其放入循环:

...

include("database.php"); 
$data = mysql_query("SELECT * FROM tblmc") 
or die(mysql_error()); 

$row = false;
do {

   $row = mysql_fetch_array($data); // get the first row from the database

   $old_from_date = $row['FromDate'];
   ... // your code here

} while ( $row !== false );

因此,在makemc.php上必须放置$id=$\u POST['txtNo'];?是的,但您需要将此$id传递给McReport.php。最简单的方法可能是会话。确保您已在makemc.php中使用
if(SESSION_id()=''{SESSION SESSION_start();}
分配$\u会话['id']
$\u SESSION id'=$\u POST['txtNo']
并在McReport.php中使用此查询
$id=$\u SESSION['id'];$data=mysql\u查询(“从tblmc中选择*,其中id='$id'))或die(mysql\u error());