我有content.php页面,当我点击"更多"它必须给我与id号
相同的内容<a class="btn text_3 color_3" href="contentdesc.php?contentid=<?=$content["id"]?>">more</a>
问题是当我点击更多时,它会将我引导至contentdesc.php并通过此查询向我提供表格中的最后一行:
<?php
$select="SELECT * FROM content WHERE id HAVING COUNT(*) > 1";
$query=mysql_query($select);
while($row=mysql_fetch_assoc($query)) {
?>
<div class="grid_12">
<div class="box3">
<h3 class="text_4 equal" data-mh="3"><?=$row['name']?></h3>
<div class="divider"></div>
<p class="text_8 color_6"><?=$row['description']?></p>
</div>
</div>
<?php } ?>
请允许任何人帮助我将内容作为相同的ID号码添加到行中吗?
答案 0 :(得分:0)
contentdesc.php
页面中的SQL查询有点奇怪。
SELECT * FROM content WHERE id HAVING COUNT(*) > 1
这是什么意思?
SELECT *
返回所有列FROM content
来自此表WHERE id
其中id
列的值计算结果为true。也就是说,对于具有非零id的每一行。 (可能不是你想要的。)HAVING COUNT(*) > 1
如果表格有两行或更多行。 (可能不是你想要的)。这可能不正确。您可能需要使用此SQL语句:
SELECT name, description FROM content WHERE id=DESIRED_ID_VALUE;
在php中,它看起来像这样。
$select="SELECT name, description FROM content WHERE id=" .
intval($_REQUEST["contentid"]) . ";";
第一个代码行中的超链接会生成一个如下所示的网址。
contentdesc.php?contentid=123
$_REQUEST["contentid"]
的值来自contentid
parameter on the URL. intval()
turns the value into an integer,avoid sql injection。
警告即可。您正在使用的mysql_
来电是过时和不安全。请考虑改为使用mysqli_
或PDO
。