Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我使用PHP时,一些HTML标记消失了_Php_Html_Mysql - Fatal编程技术网

当我使用PHP时,一些HTML标记消失了

当我使用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

我正在尝试从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());
    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);