2015-05-16 4 views
2

У меня вопрос: я использовал следующие запросы, чтобы получить мои массивы из базы данных:для каждого цикла после QueryFetchArrayAll

$news = $db->QueryFetchArrayAll("SELECT login,id FROM `users` ORDER BY id DESC LIMIT 9"); 

$imgs = $db->QueryFetchArrayAll("SELECT usrpic,id FROM `users` ORDER BY id DESC LIMIT 9"); 

Теперь мне нужно $news['login'] и $imgs['usrpic'] в одном для каждого цикла.

Например:

foreach($news as $new, $imgs as $img){ 
    <img style="border: 1px solid #8C0E0E;"src="'.$img['usrpic'].'" width="20" height="20" border="0" /> 
    <img style="border: 1px solid #8C0E0E;"src="'.$new['login'].'" width="20" height="20" border="0" /> 
} 

Может кто-нибудь помочь мне, как я могу это сделать?

ответ

0

Вы можете использовать функцию next(): http://php.net/manual/en/function.next.php
, но не забудьте убедиться, что новости и IMG имеют одинаковый размер:

if(count($news) == count($imgs)) { 
    foreach($news as $new) { 
     $img = next($imgs); 
     <img style="border: 1px solid #8C0E0E;"src="'.$img['usrpic'].'" width="20" height="20" border="0" /> 
     <img style="border: 1px solid #8C0E0E;"src="'.$new['login'].'" width="20" height="20" border="0" /> 
    } 
} 
0

Если те фактические запросы, вы должны объединить их в один:

$users = $db->QueryFetchArrayAll("SELECT id, login, usrpic FROM `users` ORDER BY id DESC LIMIT 9"); 

Затем итерации результирующего массива и вывода изображения:

foreach ($users as $user) { 
    echo "<img src='{$user['usrpic']}' ... />"; 
    echo "<img src='{$user['login']}' ... />"; 
} 

В противном случае (сохраняя свои первоначальные запросы), вы должны убедиться, что $news и $imgs имеют одинаковую длину, а затем перебирать один из них:

$size = count($imgs); 
for ($i = 0; $i < $size; $i++) { 
    $img = $imgs[$i]; 
    $new = $news[$i]; 
    echo "<img src='{$img['usrpic']}' ... />"; 
    echo "<img src='{$new['login']}' ... />"; 
}