我需要使用employee id从表中获取数据,
有两张桌子
1.包含id、姓名、密码、电子邮件、ScheduleDate等内容的“ScheduleDate”!
2.包含id、ScheduleDate、启动时间、结束时间、小时、员工的“获取”。
如果我给出名称和密码,它从"user_info“获取特定用户的id,它应该将id作为employee id发送到表" fetch”,并从该employee id中获取数据。
User_info数据库

取库

例如,如果我在user_info中将输入作为name :rajesh密码:1995,它应该接受这个用户的id,并将id作为employee id作为15发送到"fetch“表。
当我试图将id作为员工id发送时,它没有打印任何内容,也没有显示任何错误。
<?php
require "init.php";
$name = "surya";
$password = "1995";
$Sql = "SELECT * FROM `user_info`
WHERE `name`='".$name."' AND
`password`='".$password."';";
$result = mysqli_query($con, $Sql);
$retrive = array();
while($row = mysqli_fetch_array($result))
{
$user_id = $row['id'];
$sql = "SELECT id, ScheduleDate, StartTime,Endtime, Hours,Employeeid
FROM empdet WHERE Employeeid ='".$user_id."' ";
$result = $con->query($sql);
if ($result->num_rows > 0)
{
// output data of each row
while($row = $result->fetch_assoc())
{
$id=$row["id"].
$date=$row["ScheduleDate"];
$start=$row["StartTime"];
$end=$row["Endtime"];
$hour=$row["Hours"];
$Employeeid=$row["Employeeid"];
list($year,$month,$day) = split("-",$date);
$data[] = array("year"=>$year,
"month"=>$month,
"day"=>$day,
"StartTime"=>$start,
"Endtime"=>$end,
"Hours"=>$hour );
}
$response = $data;
} else
{
echo "0 results";
}
}
echo json_encode(array("user_data"=> $response));
?>我需要使用employee id 15从" fetch“表中获取所有的3个数据。
发布于 2017-12-28 05:28:39
据我所知,在第二个查询之前,您的代码是正确的。在查询执行过程中,您将得到多条记录。所以你需要用循环来实现。
参见下面的示例代码:
while ($rows = $result->fetch_assoc()) {
$date=$rows["ScheduleDate"];
$start=$rows["StartTime"];
$end=$rows["Endtime"];
$hour=$rows["Hours"];
list($year,$month,$day) = split("-",$date);
$data[] = array("year"=>$year,
"month"=>$month,
"day"=>$day,
"StartTime"=>$start,
"Endtime"=>$end,
"Hours"=>$hour );
}
$response = $data;如果有帮助请告诉我。
发布于 2017-12-28 05:11:55
我会用‘内部连接’来达到你想要的目的:
$sql = "SELECT fetch.ScheduleDate, fetch.StartTime, fetch.Endtime, fetch.Hours"
." FROM fetch INNER JOIN user_info ON fetch.id = user_info.id"
." WHERE user_info.name = ? AND user_info.password = ? ";
//Prepare statement
$stmt = $mysqli_prepare($con, $sql);
//Bind parameter (id)
mysqli_stmt_bind_param($stmt, ss, $name, $password);
//Execute statement
mysqli_stmt_execute($stmt);
//Bind results
mysqli_stmt_bind_result($stmt, $date, $start, $end, $hour);
//Fetch values (puts the values into the variables)
mysqli_stmt_fetch($stmt);https://stackoverflow.com/questions/48001621
复制相似问题