首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要使用表中的employee id从mysql数据库中获取数据。

问我需要使用表中的employee id从mysql数据库中获取数据。
EN

Stack Overflow用户
提问于 2017-12-28 04:34:08
回答 2查看 1.1K关注 0票数 2

我需要使用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发送时,它没有打印任何内容,也没有显示任何错误。

代码语言:javascript
复制
           <?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个数据。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-28 05:28:39

据我所知,在第二个查询之前,您的代码是正确的。在查询执行过程中,您将得到多条记录。所以你需要用循环来实现。

参见下面的示例代码:

代码语言:javascript
复制
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;

如果有帮助请告诉我。

票数 1
EN

Stack Overflow用户

发布于 2017-12-28 05:11:55

我会用‘内部连接’来达到你想要的目的:

代码语言:javascript
复制
$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);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48001621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档