[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP: Вывод информации в несколько колонок
Страницы: 1, 2, 3
twin
Цитата
Не совсем так. Если пишешь на смарти, то твой шаблон содержит только два языка - смарти и html.

Ну да. А php делает добрый дядя. Только ты на одной смарти далеко не уедешь, все равно придется что то добавлять, менять, затачивать. Верстальщик может и не станет изучать php, ему хватит двух языков. А программисту придется учить все три. Да и если поуму сделать, то в моем случае верстальщику вообще кроме html ничего не надо. Так что 2:1 соотношение.
Покажи среднестатистическому верстальщику смартовский шаблон, он глаза круглые сделает. А на вставки php, оформленные в виде тегов и внимания не обратит. Если мельком.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Guest
smile.gif
UnWind
Спасибо всем)))
Мне пригодилось)))

_____________
Искусство программирования - заставить компьютер делать всё то, что Вам делать лень!
Ich
Спасибо. Но тут я смотрю выводится по столбиками в строку, то есть

тип1 тип2 тип3
тип4 тип5 тип6
тип7 тип8 тип9 и т.д.

А как сделать так:
тип1 тип5 тип9
тип2 тип6 тип10
тип3 тип7 тип11
тип4 тип8 тип12 и т.д.

До меня не доходит))) Не подскажите?
j0hndoe
Спасибо Joker.
Отлично, респект за материал happy.gif
Joker
Седне для сайта делал тоже самое ток на дивах хоть и не люблю их но вроде симтичнее получилось..

PHP
$res = mysql_query("SELECT `title` FROM `table`");
$cols = 7;
$razm = intval(100/$cols);
$razm .= "%";
ob_start();
while ($row = mysql_fetch_assoc($res))
{
    include("file1.html");
}
$result = ob_get_contents();
ob_end_clean();
ob_start();
include(
"file2.html");
$table = ob_get_contents();
ob_end_clean();


HTML файлы:

file1.html

HTML
<div style="float:left; width:<?php echo $razm; ?>;"><?php echo $row['title']; ?></div>


file2.html

HTML
<div style="width:100%;"><?php echo $result; ?></div>



В file2.html у div'a желательно указывать размер.
glock18
1. Такой вариант рискует "поехать". И поедет, если контент блоков имеет объем достаточно сильно меняющийся в размерах. Попробуй в ячейках 3n+1, где n - натуральное, количество текста увеличить до двух-трех строк. а количество строк ячеек сделать хотя бы 3-5.

2. файлы, которые подключаются (file1, file2) обращаются к переменным, которые обязательно должны быть определены этом контексте. при этом обращение $row['title'] никак нельзя назвать проявлением гибкости. лучше либо убрать эти инклюды и просто поставить там этот хтмл, либо вместо инклюдов вставить вызовы функций с передачей нужных параметров.
Joker
По поводу "поехать" да я чот не подумал про большие размеры содержания, я для менюшки делал....
а про файлов непонел чот...
glock18
Цитата
а про файлов непонел чот...


ну смысл тот, что файлы у тебя получаются очень зависимы от того, какие переменные объявлены в данной области видимости.
file1 нет смысл инклюдить, если у тебя при этом не определены $razm и $row['title']. Лучше передавать их параметрами, либо изолировать файл от использования неизвестно откуда взявшихся переменных.

Выделение в файл претендует на использование кода во многих местах, а здесь если я вставлю инклюд где-то за пределами цикла, получу фигу.
Joker
Выделение в файл было сделано дабы больше не велось разговоров о смешании кода html и php. Да и просто чтоб код читабельнее был так проще...
glock18
Я знаю для чего оно сделано. Но, очевидно, это не очень удачное отделение, давшее вместе с тем несколько минусов.
gudzik
делаю себе вывод в 3 столбца, но сразу столкнулся с проблемой... дело все в том, что из базы я беру два значения - id, name. name я вывожу для пользователя в таблицу а значение id нужно присвоить radio рядишком с названием...
целый день мучаюсь, подскажите как это сделать....
inpost
gudzik
Со своими вопросами в свою тему

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
sharki
Можно сделать ДИВанами, вот код, и живой пример в придачу http://willko.ru/?act=shop

Плюс в том, что столбы сами выстраиваются именно в столько сколько влезит на страничку.


  // если есть записи в БД то выводим в цикле  
if(mysql_num_rows($result) > 0) {

while ($row = mysql_fetch_assoc($result))
{
echo '<div id="block_cat">'
.'<div id="cat_name"><a href="?act=shop&id_scat='.(int)$row['id'].'"
title="'
.htmlspecialchars($row['desc']).'"><b>'.htmlspecialchars($row['title']).'</b></a></div>'
.'<div id="cat_img"><a href="?act=shop&id_scat='.(int)$row['id'].'"
title="'
.htmlspecialchars($row['desc']).'"><img src="'.$row['put'].'" /></a></div>'
.'</div>';
}
}


#block_cat {
background-image:url("/template/img/price.png") ;
float:left;
width:180px;
height:180px;
}

#cat_name {
padding: 4px 0 0 19px;
width:140px;
height:18px;
}

#cat_name a {
font-size: 14px;
color: white;
text-decoration: none;
}

#cat_name a:hover {
font-size: 14px;
color: green;
}

#cat_img {
padding: 7px 0 0 12px;
width:150px;
height:150px;
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.