PHP Hyperlink /从SQL DB中获取单个记录

时间:2015-10-03 22:42:02

标签: php mysql sql

经过一遍又一遍的研究,(也许我不是在问正确的问题)我的智慧结束了。我想要做的是将数据库与页面连接起来。该页面只收集所有员工记录,然后将其列为超链接。这部分我想通了。但是,我无法获得生成我需要的链接。

此时,应该只列出THAT RECORD的所有属性。换句话说,当你点击'Mary Smith'时,一切都消失了,然后只出现了她的记录 - 显示名字,ID等......

?php
$db = new SQLite3('MicroUniversity.db3');
echo "<fieldset style='width: 450px'>";
echo "<h2>Listing Employees</h3>";
$results = $db->query('SELECT * from EMPLOYEE ORDER BY EMP_LNAME');
while ($row = $results->fetchArray()){
    $strName = $row['EMP_LNAME'].", ".$row['EMP_FNAME'] . "," . $row['EMP_NUM'];
    //$strLink = "<a href = 'person.php? = " . $row['EMP_NUM'] . "'>" . $strName . "</a>";
    $strLink = "<a href =?func=true" . $row['EMP_NUM'] . "'>" . $strName . "</a>";
    echo "<li>".$strLink."</li>";       
}
    echo"</fieldset>";
?>

1 个答案:

答案 0 :(得分:1)

如果您只想请求一个人,并且您需要生成每个可用人员的链接,您可能想要使用一些$ _GET参数重新加载页面。 (?)

SELECT * from EMPLOYEE ORDER BY EMP_LNAME

输出所有员工。

您可以在While(..){...}中添加一些过滤器,然后输出实际人物上的所有内容。

if($_GET['person'] == $row['EMP_NUM']){
 echo 'details ...';
 print_r($row);
}else{
 echo '<BR><a href="person.php?person='.$row['EMP_NUM'].'">Link for: '.$row['EMP_FNAME'].' '.$row['EMP_LNAME'].'</a>';
}

这可能是一个有效但不是最好的东西。然后,您可以改进它或启动另一个SQL-Query来输出详细信息。但是,由于您没有将任何未经过滤的$ _GET字符串放入SQL-String中,因此至少可以保存使用。

注意:我认为你的文件名是person.php。否则改变它!这不是任何风格,这就是你的工作:)