当我使用PHP时,一些HTML标记消失了
我正在尝试从mysql数据库生成动态内容填充 以下是我的php代码:当我使用PHP时,一些HTML标记消失了,php,html,mysql,Php,Html,Mysql,我正在尝试从mysql数据库生成动态内容填充 以下是我的php代码: <?php include 'header.php'; error_reporting(1); $user = "root"; $pass = ""; $dbName = "haimi"; mysql_connect('localhost', $user, $pass) or die("Could not connect: " . mysql_error
<?php
include 'header.php';
error_reporting(1);
$user = "root";
$pass = "";
$dbName = "haimi";
mysql_connect('localhost', $user, $pass) or
die("Could not connect: " . mysql_error());
mysql_select_db($dbName);
$sql = "SELECT * FROM Projects ";
$result = mysql_query($sql);
?>
<?php
while ($line = mysql_fetch_array($result)) {
?>
<li class="filter" data-filter=".cat<?php echo $line['Category'];?>"><?php echo $line['Category'];?></li>
<?php
}
?>
div中的It数据不会出现。您会因为这样快速编写代码而变老;)
这个怎么样:
while ($line = mysql_fetch_array($result)) {
$category = $line['Category'];
echo <<< LOB
<li class="filter" data-filter="$category">$category</li>
LOB;
}
while($line=mysql\u fetch\u数组($result)){
$category=$line['category'];
echo您正在进行一次呼叫,但尝试循环两次。为此,您需要将指针重置回起始位置:
//Add this after the first loop, but before the second
mysql_data_seek( $result, 0 );
按照现在的方式,它是while($line=mysql\u fetch\u array($result))
,但是第二个循环从未进入,因为它已经到达了结尾。因为循环结束了,它从未显示内容
重要提示
mysql_*函数已被弃用,并在PHP 5.5中被删除。您应该使用或。它们对mysql注入有更好的保护(请参阅)。您在这里有一些HTML错误:
<a href="images/projects/".<?php echo $line['ProjectImage1']; ?>
就像马修先生说的
我只打了一个电话,我试着循环两次
在while循环之前使用此代码解决的问题:
$result = mysql_query($sql);
$line数组是否已填充?@user2547783是否为否?请打印数据库结果行变量的样本数据是的,它是填充数据我想用特定内容填充div,但您在编写代码时确实遇到了问题,这非常混乱,可能会导致错误,就像您现在遇到的一样。我的答案是关于这一点的。我确实做到了你的方式(最佳方式):)但我有同样的结果,谢谢你对我的代码的建议。我是初学者:(谢谢你马修先生@Matthew Johnson
<a
href="images/projects/<?php echo $line['ProjectImage1']; ?>"
data-lightbox="project"
data-title="Central Hospital (building)"
>
<img
src="images/projects/<?php echo $line['ProjectImage1']; ?>"
alt="<?php echo $line['ProjectTitle']; ?>"
class="projectImg"
>
</a>
$result = mysql_query($sql);