PHP中的HTML不起作用


HTML inside PHP not working

我已经尝试将HTML放入PHP有一段时间了,但我永远无法使其工作。相反,我不得不使用这个

<?php //code in here 
while($record = mysql_fetch_array($myData)){
?>
//HTML code
<?php
}
?>

它已经工作了一段时间,但现在我正在为页面实现搜索功能,我需要动态生成所有HTML,否则页面将显示两次。因此,我需要一些帮助。这是我目前掌握的新旧代码。

<?php 
$sql = "SELECT * FROM `LISTINGS` ORDER BY YA DESC $limit";
$myData = mysql_query($sql,$con);
while($record = mysql_fetch_array($myData)){
//this is what i have manage to get done    
echo '<div class="cards-row">';
    echo '<div class="card-row">';
        echo '<div class="card-row-inner">';
            echo '<div class="card-row-image" data-background-image="http://domains/$record["IMAGENAME"].jpg">';
            echo '</div>';
            echo '<div class="card-row-body">';
                echo '<h2 class="card-row-title">';
                    echo '<a href="http://domain/listing-detail.php?ID='; $record['ID']echo'">'
                    echo '</a>';
                echo '</h2>';
            echo '</div>';
        echo '</div>';
    echo '</div>';
echo '</div>';
?>

静态/动态代码

    <div class="card-row">
        <div class="card-row-inner">
            <div class="card-row-image" data-background-image="http://www.domain/<?php echo $record['IMAGENAME'];?>.jpg" width="150" height="180" "> 
            </div><!-- /.card-row-image --> 
            <div class="card-row-body">
                <h2 class="card-row-title">
                <a href="http://www.domain/listing-detail.php?ID=<?php echo $record['ID'];?>"> <?php custom_echo ($record['TITLE'], 80); ?><?php if($record['STREET']===' '){ echo "Not provided" ;}?>
                </a>
                </h2>
                <div class="card-row-content"><?php custom_echo ($record['DESCRIPTION'], 250); ?><?php if($record['STREET']===' '){ echo "Not provided" ;}?></div><!-- /.card-row-content -->
            </div><!-- /.card-row-body -->
            <div class="card-row-properties">
                <dl>
                        <dd></dd><dt><a href="<?php echo $record['WEBSITE'];?>">Visit Website</a></dt>
                        <dd></dd><dt><a href="http://www.domain/listing-detail.php?ID=<?php echo $record['ID'];?>">More Info</a></dt>                  
                        <dd>Added</dd><dt><?php echo $record['YA'];?>/<?php echo $record['MU'];?>/<?php echo $record['DU'];?></dt>
                        <dd>Viewed</dd><dt>Visited</dt>
                </dl>
            </div><!-- /.card-row-properties -->
        </div><!-- /.card-row-inner -->
    </div><!-- /.card-row -->
   </div><!-- /.cards-row -->
   <br/>
   <?php 
   }
   ?>

我的目标是将上面的所有代码放入

while($record = mysql_fetch_array($myData)){ 

虽然在可读性和可维护性方面这不是最好的方法,但我通常用PHP处理HTML的方式是回显它。

echo "<div style='"color:red'">test</div>";

如果我需要添加PHP内容,那么

$myVar = "test";
echo "<div style='"color:red'">" . $myVar . "</div>";

如果我已经有一些HTML代码想要转义,我可以使用Notepad++的replace all函数轻松地完成,将"替换为'"

第15行中有一个错误

echo '<a href="http://domain/listing-detail.php?ID='; $record['ID']echo'">'

更改为:

echo '<a href="http://domain/listing-detail.php?ID='.$record['ID'].'">';

此外,您是否将其保存在".php"扩展名中?。

在最后一个回声之后,您忘记了一个"}"。

最后,如果您使用PHP7,请删除您的mysql_函数并使用mysqli_或PDO。