0

如果您查看 jsfiddle,您会注意到黄色和红色的模块。除了必须手动输入模块的 html/php 之外,我的所有代码都可以正常工作。

http://jsfiddle.net/W6zYA/1/

我的模块代码是:

 <?php $row = mysql_fetch_row($result); ?>
 <a href='#' data-reveal-id="<?php echo $row[0]; ?>" data-animation="none" >
 <div class="grid_3">
<p id="contexttitle">
 <?php  echo $row[1]; ?>
     <span style="float:right;"> <?php echo $row[3]; ?> </span>
    </p>
    <p id="accesssubmenu">Last Update: <?php echo $row[6]; ?> </p>
 </div>
 </a> 
 <div id="<?php echo $row[0]; ?>" class='reveal-modal'>                 
 <h1> <?php echo $row[1]; ?> </h1>
 <p> <?php echo $row[4]; ?> </p>
 <p4>Last Update:  <?php echo $row[6]; ?> </p4>
 <a class="close-reveal-modal">&#215;</a>
 </div>

我想要做的是让它基于 SQL 查询创建 X 数量的这些模块,我计算每个部分中的行数(红色、黄色、绿色)。

我尝试将 php 存储在 SQL 数据库中,经过研究发现这是不好的做法,即使使用 eval() 也不应该这样做,因为会有用户输入。我还阅读了诸如 Smarty 之类的 PHP 模板,但不确定这是否是我的正确解决方案。

如果有人能指出我正确的方向,我将不胜感激,我只是不确定从哪里开始/谷歌搜索什么。

4

3 回答 3

1

mysql_fetch_row 只获取一行。如果您有多行,则需要 mysql_fetch_assoc 或 mysql_fetch_array 并使用诸如 foreach 循环之类的东西来遍历结果。这将输出 html 的次数与 MySQL 查询中的结果一样多。

于 2013-10-15T20:34:16.260 回答
0

试试mysql_num_rows($result)这会给你查询返回的行数。我会尝试升级到 PDO 或 mysql,因为 mysql_* 函数将在 PHP 5.5 中被弃用

http://php.net/manual/en/function.mysql-num-rows.php

于 2013-10-15T20:38:49.237 回答
0

我假设,您从数据库中获得了多条记录?这样你就可以使用一个while循环来循环你的结果。

while ($row = mysql_fetch_row($result)) {
 // do you html code here.
}

这应该够了吧。

于 2013-10-15T20:39:19.323 回答