gpt4 book ai didi

php - 如何从 MySQL 显示特定 ID - 新手

转载 作者:行者123 更新时间:2023-11-29 13:55:56 25 4
gpt4 key购买 nike

我开发了一个 PHP 页面,显示 MySQL 表中的所有项目。现在我想在用户单击此页面上的某个项目时显示特定项目。如何获取此特定 ID 以及如何配置 <a href="">链接?

更新问题:

这是 cars.php 页面的标题(包含所有结果):

<?

require("admin/db/connect.php");

$sql = "SELECT * FROM tb_carros";

$limite = mysql_query("$sql");

$dados = array();
while ($sql = mysql_fetch_array($limite) ) {
$dados[] = $sql;
}

?>

和 HTML:

    <?php foreach ($dados as $row): ?>

<div id="containerResumo">

<a href="#"> <!-- this is the key problem -->

<div class="dadosResumo">
<?=$row['carro']?><br /><br />
Ano: <?=$row['ano']?><br /><br />
Câmbio: <?=$row['cambio']?><br /><br />
R$ <?=$row['valor']?>
</div><!-- END of dadosItem -->
</a>

</div><!-- END of containerResumo -->

<?php endforeach ?>

现在,当用户单击某个项目时,我想打开页面 carro_item.php,其中加载了该项目的数据。

数据库中的引用 ID 是 id_carro

我尝试了多种类型的代码,但没有成功。即使我在浏览器上输入完整的网址,数据也不会加载:

http://adrianomachado.com/testesClientes/carro_item.php?id_carro=1

这是 carro_item.php 的 PHP:

<?

require("admin/db/connect.php");

$id = (int)$_GET['id_carro'];

$sql = "SELECT * FROM tb_carros WHERE id = $id";

?>

和 HTML:

            <div class="dadosItem">
R$ <?php $valor ?><br /><br />
Ano: <?php $ano ?><br /><br />
Kilometragem: <?php $km ?><br /><br />
Cor: <?php $cor ?><br /><br />
Portas: <?php $portas ?><br /><br />
Combustível: <?php $combustivel ?><br /><br />
Câmbio: <?php $cambio ?><br /><br />
Final da placa: <?php $final_placa ?><br /><br />
Carroceria: <?php $carroceria ?>
</div><!-- END of dadosItem -->

有什么帮助吗?

更新02:

这是 carro_item 中的查询:

<?

require("admin/db/connect.php");

$sql = "SELECT * FROM tb_carros";

$limite = mysql_query("$sql");

$dados = array();
while ($sql = mysql_fetch_array($limite) ) {
$dados[] = $sql;
}


?>

但是,显然它会返回所有结果,例如 cars.php 页面。问题是如何将结果过滤为与用户单击的链接 ID 相同的结果?

我不知道如何编写 $sql = "SELECT * FROM tb_carros"; 的代码行来做到这一点。

最佳答案

您可以使用$_GET variables .

如果链接在页面上的格式如下:

<a href="mypage.php?id=5">

然后在您的 PHP 页面中,您将能够通过全局 $_GET 数组访问该值。

$id = mysqli_real_escape_string($_GET['id']); // $id will have the value passed to it by the link

小心不要让自己对 SQL Injection 敞开心扉。尽管可以通过清理参数或使用参数化查询来实现。

引用文献

编辑:

要创建以正确方式格式化的链接,您首先要检索所需的所有 ID 并将它们存储在数组中。我将使用 $ids 作为示例。

$ids = array(1, 50, 25, 62, ...); // This was populated from the database

// Loop through all ids and output link code for each one
foreach ($ids as $link_id) {
echo '<a href="mypage.php?id=' . $link_id . '">Click me</a>';
}

编辑2:

cars.php 中,链接格式如下:

<a href="/testesClientes/carro_item.php?id_carro=<?= $row['id'] ?>">

编辑3:

你的carro_item.php应该看起来像这样:

<?php

require("admin/db/connect.php");

$id = (int)$_GET['id_carro'];

$sql = "SELECT * FROM tb_carros WHERE id = $id";

$result = mysql_query($sql);

$row = mysql_fetch_array($result);

// ...
?>

<!-- And your HTML should look something like this -->
<!-- ... -->

<div class="dadosItem">
R$ <?= $valor ?><br /><br />
Ano: <?= $row['ano'] ?><br /><br />
Kilometragem: <?= $row['km'] ?><br /><br />
Cor: <?= $row['cor'] ?><br /><br />
Portas: <?= $row['portas'] ?><br /><br />
Combustível: <?= $row['combustivel'] ?><br /><br />
Câmbio: <?= $row['cambio'] ?><br /><br />
Final da placa: <?= $row['final_placa'] ?><br /><br />
Carroceria: <?= $row['carroceria'] ?>
</div><!-- END of dadosItem -->

<!-- ... -->

此外,您应该避免使用 mysql_* 形式的函数,因为它们已被弃用。请参阅Why shouldn't I use mysql_* functions in PHP?了解更多信息。

关于php - 如何从 MySQL 显示特定 ID - 新手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15868157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com