Php 显示特定ID的数据
我已经尝试了一段时间,想知道如何根据ID显示数据库中特定行的数据 假设我希望链接为survivaloperations.net/page/mso?p=contracts&id= 其中id=是从数据库中提取数据的行的id 如何使用如上所示的链接从数据库中提取和显示数据 我试着用谷歌搜索它,但不知道用谷歌搜索什么才能找到相关的东西 欢迎提供任何帮助或参考链接 以下是我尝试过的:Php 显示特定ID的数据,php,html,mysql,Php,Html,Mysql,我已经尝试了一段时间,想知道如何根据ID显示数据库中特定行的数据 假设我希望链接为survivaloperations.net/page/mso?p=contracts&id= 其中id=是从数据库中提取数据的行的id 如何使用如上所示的链接从数据库中提取和显示数据 我试着用谷歌搜索它,但不知道用谷歌搜索什么才能找到相关的东西 欢迎提供任何帮助或参考链接 以下是我尝试过的: <?php if ($p == contracts) { $id = isset($_GET['id'])
<?php
if ($p == contracts) {
$id = isset($_GET['id']) ? (int)$_GET['id'] : 0; // if $_GET['id'] exists, return it as an integer, otherwise use a sentinel, id's usually start with 1, so 0 works
if ($id != 0):
// I assume this is a specific news item meaning you know it's ONE result
$query = 'SELECT * FROM contracts WHERE id=' . $id . ' LIMIT 1'; // so try to use limit 1, no need to add extra steps in the database lookup
endif;
mysql_select_db('survival_contracts');
$result = mysql_query($query);
//$result = mysql_query($query) or die(mysql_error());
// now loop through the results
while ($row = mysql_fetch_array($result)) {
// and use'em however you wish
echo("<div class='mso_body_wrap'>
<div id='mso_news_container'>
<div class='mso_news_wrap'>
<div class='mso_news_top'>$row2[contract_type]</div>
<div class='mso_news_poster'>
<div class='mso_poster_avatar'><img src='images/tank.jpg'></div>
<div class='mso_poster_info'>for <a
href='#'>$row2[unit]</a><br/>by: <a
href='http://www.survivaloperations.net/user/$row2[userid]-$row2[username]/'>$row2[username]</a>
</div>
</div>
<div class='mso_news_content'>
<div class='mso_news_body'>
Callsign: $row2[callsign]<br/>
Urgency: $row2[urgency]<br/>
Location: $row2[location]<br/>
Grid: $row2[grid]<br/>
Enemy Activity: $row2[enemy_activity]<br/>
Hours Since Lasrt Contact: $row2[contact_hours]<br/><br/>
Supplies Requested: $row2[supplies]<br/>
Comments: $row2[comments]
</div>
</div>
<div class='mso_news_bottom'></div>
</div>
</div>");
}
?>
Google for$\在PHP中获取变量,并查看使用PDO或mysqli的数据库连接 添加代码后: 不推荐使用mysql。尝试切换到mysqli或PDO,并查看上面的链接
$id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT) ? abs( (int) $_GET['id']) : 0;
if($id == 0) {
echo 'Invalid ID';
return;
} else {
$query = "SELECT * FROM `table` WHERE `id`=". $id;
$get = $db->prepare($query);
if($get) {
$get = $db->query($query);
$r = $get->fetch_array(MYSQLI_ASSOC);
var_dump($r);
} else {
echo 'Could not connect to the database';
return;
}
我混合了两种风格的MySQLi,这并不是真正的标准,但对于这个例子来说应该足够了
确保您有数据库连接我用我的原始代码计算出来:
if ($p == contracts)
{
$cid = $_GET['id']; // if $_GET['id'] exists, return it as an integer, otherwise use a sentinel, id's usually start with 1, so 0 works
$query = 'SELECT * FROM contracts WHERE id='. $cid .' LIMIT 1'; // so try to use limit 1, no need to add extra steps in the database lookup
mysql_select_db('survival_contracts');
$result = mysql_query($query);
//$result = mysql_query($query) or die(mysql_error());
// now loop through the results
while($row = mysql_fetch_array($result)){
// and use'em however you wish
echo ("<div class='mso_body_wrap'>
<div id='mso_news_container'>
<div class='mso_news_wrap'>
<div class='mso_news_top'>$row[contract_type]</div>
<div class='mso_news_poster'>
<div class='mso_poster_avatar'><img src='images/tank.jpg'></div>
<div class='mso_poster_info'>for <a href='#'>$row[unit]</a><br />by: <a href='http://www.survivaloperations.net/user/$row[userid]-$row[username]/'>$row[username]</a></div>
</div>
<div class='mso_news_content'>
<div class='mso_news_body'>
Callsign: $row[callsign]<br />
Urgency: $row[urgency]<br />
Location: $row[location]<br />
Grid: $row[grid]<br />
Enemy Activity: $row[enemy_activity]<br />
Hours Since Lasrt Contact: $row[contact_hours]<br /><br />
Supplies Requested: $row[supplies]<br />
Comments: $row[comments]
</div>
</div>
<div class='mso_news_bottom'></div>
</div>
</div>");
}
$row2应为$row
诸如此类
$row[contract_type]
最好是
$row['contract_type']
按照之前海报的建议,尝试移动到mysqli或PDO,您至少必须尝试一些东西,然后将其发布到此处进行修改,否则这只是一个代码请求。检查一下PHP和MySql部分:大约47900000个结果0.44秒请注意:MySql不推荐使用。最好使用mysqli或PDO。