2016-03-29 105 views
1

我一直在试图将PHP放入PHP中一段时间​​,但我永远无法使它工作。相反,我不得不使用这个PHP内部的HTML不能正常工作

<?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)){ 
+1

请[停止使用'mysql_ *'功能](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)。 [这些扩展](http://php.net/manual/en/migration70.removed-exts-sapis.php)已在PHP 7中删除。了解[编写]​​(http://en.wikipedia.org/ wiki/Prepared_statement)语句[PDO](http://php.net/manual/en/pdo.prepared-statements.php)和[MySQLi](http://php.net/manual/en/mysqli.quickstart .prepared-statements.php)并考虑使用PDO,[这真的很简单](http://jayblanchard.net/demystifying_php_pdo.html)。 –

+1

[您的脚本存在SQL注入攻击风险。](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) –

+3

您的目标是将代码循环内?所以把它放在循环中。我真的不知道你有什么问题。你目前的产出和期望的产出是多少?第二和第三代码块如何组合在一起? – Mike

回答

0

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

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

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

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

如果我已经有了一些HTML代码,我想逃避,我可以很容易地做到这一点使用更换"记事本++的全部替换功能与\"

0

你要排队一个错误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” 结尾?

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

最后,删除你的mysql_函数,并使用mysqli_或PDO,如果你在PHP7上。

+0

是的,它是一个.php扩展名,而我的PHP版本是5.2,所以我不能使用所有这些新的花哨的东西 –

+0

感谢您的帮助 –

+1

在PHP 5.2中,您可以使用“所有这些新奇的东西”,不用担心。 – Asfo