PHP 超链接/从 SQL DB 中获取单个记录

标签 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>";
?>

最佳答案

当您只想请求一个人时,您可能希望使用一些 $_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 查询来输出详细信息。但是由于您没有将任何未过滤的 $_GET 字符串放入您的 SQL 字符串中,这至少可以节省使用时间。

注意:我认为您的文件名为 person.php。不然换!这不是任何风格,那是你的工作:)

关于PHP 超链接/从 SQL DB 中获取单个记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32928241/

相关文章:

php - 如何在原始 Laravel 查询中使用闭包中的多个占位符 (?)

mysql - proxy放在mysql前面,用于去除冗余

sql - 使用动态创建的字符串向用户授予角色

php - 从 PSQL 结果集递归构建 XML(使用 PHP)

php - 如何做另一个 Action ,但仍然在 cakephp 的浏览器中显示相同的 url

mysql - Symfony - 代币

sql - TSQL - 基于表行和单元格值创建 View

PHP 检查时间戳是否大于现在的 24 小时

php - PHP-MYSQL SELECT 查询时间长

sql - 使用 SQLite 的新 WITH RECURSIVE CTE 子句