如果你看看jsfiddle,你会注意到黄色和红色的模块。我的所有代码都工作,除了我必须手动输入模块的html / php。
我的模块代码是:
<?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">×</a>
</div>
我想要做的是让它根据SQL查询创建X个这样的模块,我计算每个部分的行数(红色,黄色,绿色)。
我试图将php存储在SQL数据库中,经过研究发现这是不好的做法,即使使用eval()也不应该这样做,因为会有用户输入。我也读过像Smarty这样的PHP模板,但不确定这是否适合我。
如果有人能指出我正确的方向,我会非常感激,我不知道从哪里开始/谷歌会是什么。
答案 0 :(得分:1)
mysql_fetch_row只获取一行。如果你有多行,你需要mysql_fetch_assoc或mysql_fetch_array,并使用类似foreach循环的东西来遍历结果。这将输出html与MySQL查询中的结果一样多次。
答案 1 :(得分:0)
尝试mysql_num_rows($result)
,它将为您提供查询返回的行数。我会尝试升级到PDO或mysql,因为mysql_ *函数将在PHP 5.5中弃用
答案 2 :(得分:0)
我假设你从你的数据库中获得了多条记录?这样你就可以使用while循环来循环你的结果。
while ($row = mysql_fetch_row($result)) {
// do you html code here.
}
这应该可以解决问题。