Использование PHP foreach - как создать отдельные div для каждой строки? - PullRequest
0 голосов
/ 10 декабря 2011

У меня есть запрос, который выбирает всю информацию из таблицы базы данных и помещает ее в массив. Затем я использую оператор PHP foreach для отображения всего этого единообразно Это левый стол здесь , чтобы понять, о чем я говорю.

То, что я хочу сделать, - это сделать так, чтобы один из элементов div (он обычно просто появляется несколько раз под тем же именем) имел уникальное имя для каждой строки sumbission. Например, вместо div «response» все просто называются response, это «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 ]

2 голосов
/ 10 декабря 2011

Вы можете сделать это двумя способами, и я покажу вам: 1 - добавьте идентификатор строки, если он существует, к значению идентификатора или любому уникальному столбцу

<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 голос
/ 10 декабря 2011
<?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 ++; } ?>

Обратите внимание на $ i = 1 перед foreach и $ i ++ перед закрытием}. Кроме того, echo $ i в ответе div id.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...