вывод картинков в таблицу

Zefvs

Местный житель
Регистрация
11 Авг 2009
Сообщения
230
Реакции
20
Помогите написать скрипт. Суть:
есть цикл который выводит n-ое количество фотограций в цикле.
необходимо выводить фотографии в таблицу таким образом чтобы количество фотографий в строке было постоянным.
например как вконтакте, когда в разделе друзья выводится в строку 3 фотки, а строк уже столько сколько необходимо.

например, есть 8 фоток и они должны быть в ячейках как показано на рисунке
tableimgJP_2422006_1838674.jpg
 
PHP:
$n = 30;
$y = 3;
echo '<table>';
for($i=1;$i<=$n;$i++){
if($i % $y == 1) echo '<tr>';
echo '<td>'.$i.'</td>';
if($i % $y == 0) echo '</tr>';
}
echo '</table>';
 
Помогите написать скрипт. Суть:
есть цикл который выводит n-ое количество фотограций в цикле.
необходимо выводить фотографии в таблицу таким образом чтобы количество фотографий в строке было постоянным.
например как вконтакте, когда в разделе друзья выводится в строку 3 фотки, а строк уже столько сколько необходимо.
например, есть 8 фоток и они должны быть в ячейках как показано на рисунке
Как-то так
PHP:
$photo = array("1","2","3","4","5","6","7","8");
echo '<table border ="1"><tr>';
for($i=0;$i<count($photo);$i++) 
{
   $a = $a+1;	
   echo '<td>'.$photo[$i].'</td>';
   if ($a==3) {$a = 0; echo '</tr><tr>';}
}
echo '</tr></table>';
 
скрипт который выводит ники пользователей в столбик
PHP:
			<?php
require_once("inc_common.php");
include($engine_path."users_get_list.php");
include($engine_path."messages_get_list.php");
set_variable("design");
set_variable("c_design");
set_variable("room");
if ($c_design!="" and $design=="") $design = $c_design;
if (!in_array($design, $designes)) $design = $default_design;
include($ld_engine_path."rooms_get_list.php");
if (!in_array($room, $room_ids))
        $room = intval($room_ids[0]);
$room = intval($room_ids[0]);
$out_users = "";
$users_in_room = 0;
for ($i=0; $i<count($users); $i++) {
        $data = explode("\t", $users[$i]);
        if ($data[10] == $room) {
                if(intval(trim($data[USER_INVISIBLE])) != 1) {
              $out_users .= "<a href=fullinfo.php?user_id=".$data[5].">".(( strstr( $data[15], "font" ) ) ? $data[15] : $data[0])."</a> <br>";
                        $users_in_room++;
        }
        }
}
if(count($users) == 0 or $users_in_room == 0) {$out_users_header =  "$w_nobody_in\n";}
        else {
                $out_users_header = (count($room_ids)>1)? $w_in_room:$w_in_chat;
                $out_users_header .= ": <b>$users_in_room</b> ".w_people($users_in_room).".\n";
        }
?>

суть в том, чтобы эти ники выводились по 3 в строке (по аналогии с картинками, вывод картинок прикрутить будет не проблама по такому же принципу)
 
PHP:
<?php
require_once("inc_common.php");
include($engine_path."users_get_list.php");
include($engine_path."messages_get_list.php");

set_variable("design");
set_variable("c_design");
set_variable("room");

if ($c_design!="" and $design=="") $design = $c_design;
if (!in_array($design, $designes)) $design = $default_design;
include($ld_engine_path."rooms_get_list.php");

if (!in_array($room, $room_ids)) $room = intval($room_ids[0]);

$room = intval($room_ids[0]);
$out_users = "";
$users_in_room = 0;

$out_users .= '<table>';
for($i=1;$i<=count($users);$i++){
    $data = explode("\t", $users[$i]);
    if ($data[10] == $room) {
        if(intval(trim($data[USER_INVISIBLE])) != 1) {
            if($i % $y == 1) $out_users .= '<tr>';
            $out_users .= '<td><a href=fullinfo.php?user_id='.$data[5].'>'.(( strstr( $data[15], "font" ) ) ? $data[15] : $data[0]).'</a></td>';
            if($i % $y == 0) $out_users .= '</tr>';
            $users_in_room++;
        }
    }
}
$out_users .= '</table>'; 

if(count($users) == 0 or $users_in_room == 0) {
    $out_users_header =  "$w_nobody_in\n";
}else {
    $out_users_header = (count($room_ids)>1)? $w_in_room:$w_in_chat;
    $out_users_header .= ": <b>$users_in_room</b> ".w_people($users_in_room).".\n";
}
?>
Если я всё верно понял, то будет так
 
PHP:
<?php
require_once("inc_common.php");
include($engine_path."users_get_list.php");
include($engine_path."messages_get_list.php");
set_variable("design");
set_variable("c_design");
set_variable("room");
if ($c_design!="" and $design=="") $design = $c_design;
if (!in_array($design, $designes)) $design = $default_design;
include($ld_engine_path."rooms_get_list.php");
if (!in_array($room, $room_ids)) $room = intval($room_ids[0]);
$room = intval($room_ids[0]);
$out_users = "";
$users_in_room = 0;
$out_users .= '<table>';
for($i=1;$i<=count($users);$i++){
    $data = explode("\t", $users[$i]);
    if ($data[10] == $room) {
        if(intval(trim($data[USER_INVISIBLE])) != 1) {
            if($i % $y == 1) $out_users .= '<tr>';
            $out_users .= '<td><a href=fullinfo.php?user_id='.$data[5].'>'.(( strstr( $data[15], "font" ) ) ? $data[15] : $data[0]).'</a></td>';
            if($i % $y == 0) $out_users .= '</tr>';
            $users_in_room++;
        }
    }
}
$out_users .= '</table>'; 
if(count($users) == 0 or $users_in_room == 0) {
    $out_users_header =  "$w_nobody_in\n";
}else {
    $out_users_header = (count($room_ids)>1)? $w_in_room:$w_in_chat;
    $out_users_header .= ": <b>$users_in_room</b> ".w_people($users_in_room).".\n";
}
?>
Если я всё верно понял, то будет так
к сожалению не работает, во-первых в цикл не попадает первый пользователь, потому что цикл начинается с 1, а во-вторых остальные выводятся в столбик

в стоблик потому что забыл обьявить переменную $y = 3;
 
Измени
перед циклом for() добавь $y = 3;
и это
PHP:
$data = explode("\t", $users[$i]);
на это
PHP:
$data = explode("\t", $users[($i-1)]);
 
Назад
Сверху