使用PHP foreach - 如何为每行创建单独的div?

时间:2011-12-09 22:05:40

标签: php mysql database foreach html-table

我有一个查询,它从数据库表中选择所有信息并将其放入数组中。然后我使用PHP foreach语句以统一的方式显示所有内容。左表here是了解我正在谈论的内容。

我想要做的是使其中一个div(通常只是以相同的名称重复显示)为每个sumbission行创建一个唯一的名称。例如,而不是"响应" div只是被称为响应,它们是" response1"," response2",依此类推。有没有办法做到这一点? (以下代码)

非常感谢任何帮助。

我在这里调用查询中的信息:

<?php foreach($images as $image) { ?>

<table id="front_pgs">

<tr>
<td id="front_text">
<div id="imagetitle">
<?php echo $image['name'];?>
</div>
<div id="submission_info">  
submitted by <?php echo $image['submitter'];?>
</div>
<div id="ratingcontainer">    
<form id="ratingform">   
<input name="vote" type="button" onclick="getVote('<?php echo $image['filename'];?>')" value='Like' id="likebutton"/> 
<input name="dislike" type="button" value='Disike' id="dislikebutton"/> 
</form>


<div id="rate_count">
<div id="response">

<?php echo $image['rating'];?>

</div>
</div>
</div>
</td>
<td id="front_pg_img" valign="center" align="center">
<a onClick="switchImageUrl('<?php echo $image['filename']; ?>', '<?php echo $image['width']; ?>', '<?php echo $image['height']; ?>')"><img src="<?php echo $image['filename'];?>" id="front_pg_thumbnail"/></a>
</td>
</tr>
</table>

<?php } ?>

2 个答案:

答案 0 :(得分:2)

你可以通过我现在向你展示的两种方式来做到这一点 1-如果存在id值或任何唯一列

,则添加行ID
<div id="response<?php echo $image['id']; ?>">

<?php echo $image['rating'];?>

</div>

2-制作一个计数器

<?php 
$i= 1; 
foreach($images as $image) { ?>

<table id="front_pgs">

<tr>
<td id="front_text">
<div id="imagetitle">
<?php echo $image['name'];?>
</div>
<div id="submission_info">  
submitted by <?php echo $image['submitter'];?>
</div>
<div id="ratingcontainer">    
<form id="ratingform">   
<input name="vote" type="button" onclick="getVote('<?php echo $image['filename'];?>')" value='Like' id="likebutton"/> 
<input name="dislike" type="button" value='Disike' id="dislikebutton"/> 
</form>


<div id="rate_count">
<div id="response<?php echo $i; ?>">

<?php echo $image['rating'];?>

</div>
</div>
</div>
</td>
<td id="front_pg_img" valign="center" align="center">
<a onClick="switchImageUrl('<?php echo $image['filename']; ?>', '<?php echo $image['width']; ?>', '<?php echo $image['height']; ?>')"><img src="<?php echo $image['filename'];?>" id="front_pg_thumbnail"/></a>
</td>
</tr>
</table>

<?php 
$i++; //increment the $i each iteration 
} ?>

答案 1 :(得分:1)

<?php $i = 1; foreach($images as $image) { ?>

<table id="front_pgs">

<tr>
<td id="front_text">
<div id="imagetitle">
<?php echo $image['name'];?>
</div>
<div id="submission_info">  
submitted by <?php echo $image['submitter'];?>
</div>
<div id="ratingcontainer">    
<form id="ratingform">   
<input name="vote" type="button" onclick="getVote('<?php echo $image['filename'];?>')" value='Like' id="likebutton"/> 
<input name="dislike" type="button" value='Disike' id="dislikebutton"/> 
</form>


<div id="rate_count">
<div id="response<?php echo $i; ?>">

<?php echo $image['rating'];?>

</div>
</div>
</div>
</td>
<td id="front_pg_img" valign="center" align="center">
<a onClick="switchImageUrl('<?php echo $image['filename']; ?>', '<?php echo $image['width']; ?>', '<?php echo $image['height']; ?>')"><img src="<?php echo $image['filename'];?>" id="front_pg_thumbnail"/></a>
</td>
</tr>
</table>

<?php $i ++; } ?>

注意foreach之前的$ i = 1以及结束之前的$ i ++}。另外,在响应div id中回显$ i。