数据库仅从链接列表中吐出特定ID的行数据,而不是数据库

时间:2015-10-07 14:28:33

标签: php mysql

我有一个PHP页面,它从数据库中的表中吐出ID#和Last Name。

我希望能够点击ID#,让它转到新页面,并查看该特定ID#的行信息。

以下是我的print.php页面中的一些代码,其中列出了ID#和最后一个名称。

ID#= m_id

姓氏= m2_2

$db = new mysqli('localhost', 'username', 'password', 'name');

if($db->connect_errno > 0)
{ 
die('Unable to connect to database [' . $db->connect_error . ']'); 
}

$sql = "SELECT * FROM `test_gina` ORDER BY m_id DESC";

if(!$result = $db->query($sql)){
die('There was an error running the query [' . $db->error . ']');
}

while($row = $result->fetch_assoc()){

if($row['m_id'] =="x"){echo " ";}else{ echo '<a href="id.php">'; echo $row['m_id'];}echo '</a>';

if($row['m2_2'] =="x"){echo " ";}else{echo $row['m2_2'];}echo '<br>';

当它转到id.php时,它会显示数据库中表的所有行。

我不是那个在数据库中存在的,所以我知道我做错了,但我怎么做&#34;连接&#34; id.php的2个页面只显示该特定ID的信息#?

以下是我的id.php页面中的一些代码。

$db = new mysqli('localhost', 'username', 'password', 'name');

if($db->connect_errno > 0)
{ 
die('Unable to connect to database [' . $db->connect_error . ']'); 
}

$sql = "SELECT * FROM `test_gina` ORDER BY m_id DESC";

if(!$result = $db->query($sql)){
die('There was an error running the query [' . $db->error . ']');
}

while($row = $result->fetch_assoc()){

if($row['m_id'] =="x"){echo " ";}else{echo '<strong>ID #:</strong>'; echo $row['m_id'];}echo '</br>';
echo "";if($row['m_P'] =="x"){echo " ";}else
{
switch($row['m_P'])
{
case "35310":
echo "<strong>Persons living/Household:</strong> 1"; 
break;
}

任何帮助都会非常感激!!!

1 个答案:

答案 0 :(得分:0)

你应该考虑编写“干净”的代码。话虽如此,在你的“print.php”中替换

echo '<a href="id.php">'; echo $row['m_id'];}echo '</a>'

echo '<a href="id.php?id='. $row['m_id']. '">'. $row['m_id']. '</a>'

注意我正在使用连接,而不是多个echo语句。

简单地说,“?”以及href标记的<a>属性后面的内容就是所谓的查询字符串。

然后,在您的“id.php”文件中,您可以使用GET超级全局来获取查询字符串,如下所示:

$id = $_GET['id'];

您的查询字符串应如下所示:

$sql = "SELECT * FROM `test_gina` WHERE m_id = $id ORDER BY m_id DESC";