Помогите с циклом foreach - PullRequest
       13

Помогите с циклом foreach

0 голосов
/ 22 января 2011

На моем веб-сайте я пытаюсь отобразить всех кандидатов на вакансии, которые опубликовал пользователь, в основном я хочу, чтобы результаты также были похожи,

Название работы 1
Имя заявителя 1
Имя заявителя 2
Имя заявителя 3

Название работы 2
Имя заявителя 4 Имя приложения 5

По сути, я хочу, чтобы приложения собирались по заданиямони подали заявку, однако результат, который я сейчас получаю,

Должность 1
Имя приложения 1

Должность 1
Имя кандидата 2

Код, который я использую для этого цикла foreach, выглядит следующим образом

<?php foreach($applications as $a) : ?>
        <h3><?php echo $a['jobtitle']; ?></h3>
    <li>
        <img src="/media/uploads/candidates/<?php echo preg_replace('/(.gif|.jpg|.png)/', '_thumb$1', $a['profile_image']);?>" width="90" height="60"/>
        <p><?php echo $a['name']; ?></p>
    </li>
    <?php endforeach; ?>

Ответы [ 3 ]

0 голосов
/ 22 января 2011

Нам нужна структура данных для правильного ответа, но я предполагаю, что вам нужен вложенный foreach ...

<? foreach($jobs as $j): ?>

# list jobs

    <? foreach($applicants as $a): ?>
        <? if ($j['jobtitle'] == $a['jobtitle']): ?>

        # list applicants

        <? endif; ?>
    <? endforeach; ?>    

<? endforeach; ?>
0 голосов
/ 23 января 2011

Рекомендую вытащить заголовок работы и кандидатов из базы данных и сохранить их в многомерном массиве.

$jobs[$jobtitle][] = $applicant_name;

Затем перебираем этот массив на ваш взгляд. Я пропустил код вашего изображения для ясности.

foreach($jobs as $title=>applicants){
    echo $title;
    foreach($applicants as $name){
        echo $name;
    }
}
0 голосов
/ 22 января 2011

Ну, вы получаете это, потому что вы выводите только

$a['jobtitle']

и

$a['name']

Где хранятся другие имена? Что-то вроде этого, вероятно, то, что вам нужно, хотя это не сработает, если вы скопируете / вставите его, так как кажется, что $ Applications [x] ['name'] не является массивом:

<?php foreach($applications as $a) : ?>
        <h3><?php echo $a['jobtitle']; ?></h3>
    <li>
        <img src="/media/uploads/candidates/<?php echo preg_replace('/(.gif|.jpg|.png)/', '_thumb$1', $a['profile_image']);?>" width="90" height="60"/>
        <?php foreach($a['name'] as $name)?>
        <p><?php echo $name; ?></p>
        <?php endforeach; ?>
    </li>
    <?php endforeach; ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...