Цикл Foreach не повторяет конкретную строку в моем коде - PullRequest
0 голосов
/ 18 января 2011

У меня есть для каждого цикла на странице входящих сообщений моего сайта:

<table width="40%" border="0">
  <tr><p id="links">
    <a href="#" id="all" class="pseudo">all</a>,
    <a href="#" id="none" class="pseudo active">none</a>,
    <a href="#" id="read" class="pseudo">read</a>,    
    <a href="#" id="unread" class="pseudo">unread</a>,
    <a href="#" id="replied" class="pseudo">replied</a>,
    <a href="#" id="fav" class="pseudo">favourite</a>
</p>
    <td width="5%"></td>
    <td width="5%"></td>
    <td width="22%"></td>
    <td width="19%"></td>
    <td width="60%"></td>
    <td width="17%"></td>
  </tr>

 <?php foreach ($query as $row):  ?>
  <tr>
    <?php switch($row['status']){
        case 0: $status = "unread"; break;            
        case 1: $status = "read"; break;
        case 2: $status = "replied"; break;
        case 3: $status = "fav"; break;
        default: $status = '';           
    }?>

    <td width="5%"><input name="message" id="messages" type="checkbox" value="" class="<?php echo $status; ?>"/></td>
    <td width="5%"><input name="sunny" id="sunny" type="checkbox" value="" class="" checked="checked" /></td>
    <td><?php echo $status; ?></td>
    <td><?php echo $row['from_user']; ?></td>
    <td><div id="test"><a href="<?php echo site_url("messages/read_message/".$row['id']); ?>"><?php echo $row['subject'] . " " . $row['message']; ?></a></a></div></td>
    <td><?php if ($row['date_sent'] == date('Y-m-d')) { echo $row['time_sent']; } else echo $row['date_sent']; ?></td>
  </tr>
<?php endforeach; ?> 
</table>

Эта строка не повторяется на моей странице просмотра:

<td width="5%"><input name="sunny" id="sunny" type="checkbox" value="" class="" checked="checked" /></td>

По сути, это замена изображения для флажка, который изменяется при нажатии на отмеченное изображение или неотмеченное изображение.

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

Цель этого флажка в том, чтобы пользователи могли легко распознать, какие сообщения в их почтовых ящиках они выбрали для избранных.

Как бы я решил это?! [Alt text] [1]

1 Ответ

4 голосов
/ 18 января 2011

Выходной HTML наверняка правильно повторяется.Я предполагаю, что вы меняете внешний вид флажка, используя Javascript или CSS, основываясь на id флажка.Каждый флажок имеет id="sunny", что неверно.Идентификатор должен быть уникальным на странице.Я полагаю, именно поэтому ваш CSS / Javascript влияет только на первый флажок.

Используйте class, если у вас есть более одного элемента, к которому вы хотите применить что-то.

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