Вложенные циклы foreach, повторяющие значения, объединенные в один div? - PullRequest
0 голосов
/ 11 ноября 2011

Это, вероятно, сложный вопрос, поскольку я начал учиться писать сценарии всего несколько недель назад, но как мне получить значения, отраженные в первом выражении foreach моего кода, для группировки в одном div (вместо созданияновый на каждом цикле)?По сути, я хочу отформатировать их как группу в одном контейнере или таблице независимо от изображений, отображаемых во втором элементе foreach.

$alpharray = array(); 
while ($row = mysqli_fetch_assoc($result)) {
    $alpharray[$row['letter']][] = $row; 
}

foreach (str_split($_POST['search_term']) as $alpha) {
    echo "<img class='clickable' img src='../Letterproject/images/{$alpharray[$alpha][0]['photoPath']}' width='100' height='140'></src></a>";
    echo '<div class="editable">';
    foreach ($alpharray[$alpha] as $tempvar) {
        echo "<a href ='findall.php'><img src='../Letterproject/images/{$tempvar['photoPath']}' width='70' height='110'></src></a>";
    }
    echo '</div>';
}

Для контекста приложение берет символы из формы и сопоставляет их как атрибуты сизображения в MySQL.Я передаю эти изображения в div и использую jquery, чтобы пользователь мог щелкнуть изображение, чтобы увидеть соответствующие редактируемые изображения.Прямо сейчас вывод из кода для записи формы, такой как THE, это Ttt Hhh Eee, но я действительно хочу кликабельный THE и затем редактируемый tt hh ee, если это имеет смысл.

Большое спасибо за идеи или критический взгляд начто я пытаюсь сделать с тем, что у меня есть.

1 Ответ

2 голосов
/ 11 ноября 2011

Используйте массивы для хранения ваших значений, а затем implode их для вывода. Вам не нужно использовать массивы, вы также можете использовать строки и объединять их.

Это должно работать - массив $first представляет собой список всех тегов изображения, в то время как массив $second представляет собой список всех элементов <div>.

$first = $second = array();
foreach( str_split( $_POST['search_term']) as $alpha)
{ 
    $first[] = "<img class='clickable' img src='../Letterproject/images/{$alpharray[$alpha][0]['photoPath']}' width='100' height='140'></src></a>";
    $editable = array( '<div class="editable">');
    foreach ($alpharray[$alpha] as $tempvar)
    {                                              
         $editable[] = "<a href ='findall.php'><img src='../Letterproject/images/{$tempvar['photoPath']}' width='70' height='110'></src></a>";                                                         
    }   
    $editable[] = '</div>';
    $second[] = implode( '', $editable);
}

echo implode( '', $first);
echo implode( '', $second);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...