ОсновноеRadiotalkПользовательское
Программирование
6   •   Посмотреть все темы

Таблица

 

772
Kkkair @Kkkair
Помогите пожалуйста... нужно создать довольно большую таблицу, если всё прописывать в одном документе - нервов не хватит..

таблица по типу:
<table>
<tr>
<td>описание 1 раздела</td>
<td>описание 2 раздела</td>
<td>описание 3 раздела</td>
<td>описание 4 раздела</td>
</tr>
<tr>
<td>тут картинка</td>
<td>тут картинка</td>
<td>тут описание</td>
<td>тут множество ссылок</td>
</tr>
<tr>
<td>тут картинка</td>
<td>тут картинка</td>
<td>тут описание</td>
<td>тут множество ссылок</td>
</tr>
</table>

нельзя как нибудь упростить это все, ибо текста много!?

*тему удалю сам*

Отредактировано Kkkair - 25.03.2010
4036
DelFast @DelFast
смотря как и что тебе надо писать..
можно на js функц. for

772
Kkkair @Kkkair
DelFast, ну вот например ячейка с ссылками... можно сделать вместо перечисления ссылок какой нить скрипт, который будет доставать текст из файла?

4036
DelFast @DelFast
ссылки руками будешь прописывать?
И поддерживает ли твой хостер (где хочешь разместить) PHP язык?

772
Kkkair @Kkkair
DelFast,
ссылки руками будешь прописывать?

да ногами хД

И поддерживает ли твой хостер (где хочешь разместить) PHP язык?

нет

1130
Александр @WestSide
Создаем файл 1.html , 2.html , 3.html
Разделяем твою табличку по документам, а потом используем функцию js от demon (аналог include в php)
В главный файл, где это выводим - вставляем...
<script>
function include(id, url) {
var element = document.getElementById(id);
if (!element) {alert("Bad ID-element!");return;}
var req = false;
// For Safari, Firefox, and other non-MS browsers
if (window.XMLHttpRequest) {try {req = new XMLHttpRequest();} catch (e) {req = false;}}
// For Internet Explorer on Windows
else if (window.ActiveXObject) {try {req = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {try {req = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) { req = false;}}}
// If active supported
if (req) {req.open('GET', url, false); req.send(null);element.innerHTML = req.responseText;}
else element.innerHTML ="Include not supported!";
}
</script>

<span id="1">
<script>include("1", "1.html");</script>
</span>
<span id="2">
<script>include("2", "2.html");</script>
</span>
<span id="3">
<script>include("3", "3.html");</script>
</span>

Отредактировано WestSide - 26.03.2010
3473
Фарид @F_a_R_i_D
не стал новую тему создавать...
скачал и установил мод Последние сообщения с форума IPB.
с кодом пхп вроде разобрался и всё нормально сделал.
а вот вывод в шаблон, почему-то криво получается.

посмотрите пожалуйста в чём трабл?Пробовал в разных видах.

<table width="100%" class="forum_table" cellspadding="20" cellspacing="0">
<tr>
<td style="background-color: #FFFFE5; font-size: 15px; font-family: Tahoma; " colspan="5">&rarr; Последние сообщения на форуме</td>
</tr>
<tr>
<td style="background-color: #FFFFE5;"><strong>Дата</strong></td>
<td style="background-color: #FFFFE5;"><strong>Тема</strong></td>
<td style="background-color: #FFFFE5;"><strong>Пользователь</strong></td>
<td align="center" style="background-color: #FFFFE5;"><strong>Ответов</strong></td>
<td align="center" style="background-color: #FFFFE5;"><strong>Просмотров</strong></td>
</tr>
{lasttopicipb}

</table>

6600
Александр @admiral
F_a_R_i_D пишет:

не стал новую тему создавать...
скачал и установил мод Последние сообщения с форума IPB.
с кодом пхп вроде разобрался и всё нормально сделал.
а вот вывод в шаблон, почему-то криво получается.

посмотрите пожалуйста в чём трабл?Пробовал в разных видах.

> с кодом пхп вроде разобрался
Я бы даже сказал что совсем не разобрался, в той таблицу приведена только шапка таблицы, верхняя строка,
сам вывод формируется в пхп файле и выводится через {lasttopicipb}.
Да и понятие криво получается совсем не понятно, что именно не получается?

6703
Андрей @ZloVeЩиЙ
скрншот не помешал бы, лень создавать отдельный файл.хтмл что бы глянуть...

3473
Фарид @F_a_R_i_D
скрин


файл пхп

<?php
/*
===========================================================
Для [IPB 2.3.6 + DLE9] и [IPB 3.1 + DLE9]
-----------------------------------------------------------
Назначение: Вывод последних изменеменных тем на форуме IPB
===========================================================
*/
if(!defined('DATALIFEENGINE'))
{
die("Hacking attempt!");
}

function lasttopicipb()
{
Global $db;

//========== ОТРЕДАКТИРУЙТЕ ЭТИ ДАННЫЕ ======================
$ipb_mysql_data_base_name="[color=red]umarov_forum[/color]"; //имя базы данных форму IPB
$ipb_mysql_host="localhost"; //адрес MySQL для форума IPB
$ipb_mysql_user="[color=red]*******[/color]"; //пользователь для MySQL, на которой стоит база IPB
$ipb_mysql_password="[color=red]*******[/color]"; //пароль MySQL
$ipb_mysql_db_prefix="ipb"; //префикс таблиц IPB
$ipb_site="http://umarov.net/"; //адрес сайта форума (до /index.php)

$koli4estvo_tem=10; //кол-во выводимых тем
$dlina_temi=20; //кол-во символов в выводимом заголовке

$forum_id="*"; //Kакие разделы форума обрабатывать. ID разделов (число, которое стоит в ссылке на раздел после "showforum="). Через запятую и без пробелов. "*" - обрабатывать все разделы.
$forum_id_no="9999999999"; //Какие разделы форума не нужно обрабатывать. Для того, чтобы обрабатывались ВСЕ разделы присвойте $forum_id="*", а переменной $forum_id_no любое заоблочное 😀 число. Например 1000000000. В общем, число должно быть больше чем номер последнего раздела. Сначала обрабатывается переменная $forum_id: если ей присвоено "*", то обрабатывается $forum_id_no. если переменной $forum_id присвоино значение отличное от "*", то тогда уже обрабатывается $forum_id_no.
//В общем можно делать так "Обрабатывать только разделы с номерами ..." или "Обрабатывать все кроме номеров..."

/*формат выводимого заголовка.
{Full_title} - полное название темы
{URL_to_post} - ссылка на последний пост темы
{Short_title} - название темы обрезанное до $dlina_temi символов
{User_name} - имя последнего написавшего пост в теме
{Date} - дата и время последнего поста

{ReplyCount} - количество ответов
{Views} - количество просмотров
{ReplyCount} - количество ответов
{Views} - количество просмотров
*/
$format_stroki="
<tr>
<td>{Date}</td>
<td>
<a title='{Full_title}' href='{URL_to_post}'>{Short_title}</a>
<div class=\"highslide-html-content\" id=\"f_entry-{id}\" style=\"width: 600px;height:auto;\">
<div align=\"left\" style=\"padding: 10px;\" class=\"highslide-body\">
<div class=\"stext\" style=\"background-color: #FFC; padding: 5px;\">
</div>
<br /><br />
</div>
</div>
</td>
<td>{User_name}</td>
<td align=\"center\">{ReplyCount}</td>
<td align=\"center\">{Views}</td>
</tr>
";
//========== Конец редактирования ===========================

$db->connect($ipb_mysql_user, $ipb_mysql_password, $ipb_mysql_data_base_name, $ipb_mysql_host);

if ($forum_id=="*")
$forum_id='WHERE `forum_id`!='.preg_replace('/,/'," AND `forum_id`!=",$forum_id_no);
else
$forum_id='WHERE `forum_id`='.preg_replace('/,/'," OR `forum_id`=",$forum_id);



$query_str='SELECT posts,views,last_poster_id,last_post,title,tid,last_poster_name FROM `'.$ipb_mysql_db_prefix.'topics` '.$forum_id.' ORDER BY `last_post` DESC LIMIT 0 ,'.$koli4estvo_tem;

$sql_12354=$db->query($query_str);

while ($row = mysqli_fetch_array($sql_12354, MYSQL_ASSOC))
{
$title1=$row["title"];
quoted_printable_decode($title1);

if (strlen($title1) > $dlina_temi)
$title2 = substr ($title1, 0, $dlina_temi)." ..."; //если длина темы больше $dlina_temi символов, то обрезаем
else
$title2 = $title1; //если меньше или равна, то оставляем

//Формат выводимого даты и времени
switch (date("d.m.Y",$row["last_post"])):
case date("d.m.Y"):
$day=date("Сегодня в H:i",$row["last_post"]); //пост был написан сегодня
break;
case date("d.m.Y",time()-86400):
$day=date("Вчера в H:i",$row["last_post"]); //пост был написан вчера
break;
default:
$day=date("d.m.Y H:i",$row["last_post"]); //пост был написан более двух дней назад
endswitch;


//Вывод URL на профиль юзера
if ($row['last_poster_id'] != 0) //если зарегистрированный юзер
{
$format_stroki_user_profile='<a href='.$ipb_site.'/index.php?showuser='.$row['last_poster_id'].'>'.$row["last_poster_name"].'</a>';
}
else //если незарегистрированный юзер
{
$format_stroki_user_profile=$row["last_poster_name"];
}

$replycount=$row["posts"];
$views=$row["views"];

//формат выводимого заголовка.
$zagolovok=preg_replace('/{Full_title}/',$title1, $format_stroki);
$zagolovok=preg_replace('/{URL_to_post}/',$ipb_site.'/index.php?showtopic='.$row["tid"].'&view=getlastpost', $zagolovok);
$zagolovok=preg_replace('/{Short_title}/',$title2, $zagolovok);
$zagolovok=preg_replace('/{User_name}/',$format_stroki_user_profile, $zagolovok);
$zagolovok=preg_replace('/{Date}/',$day, $zagolovok);

$zagolovok=preg_replace('/{ReplyCount}/',$replycount, $zagolovok);
$zagolovok=preg_replace('/{Views}/',$views, $zagolovok);

$asdaa.=$zagolovok;
}
mysqli_free_result($sql_12354);
return $asdaa;
}
$lasttopicipb=lasttopicipb();
$db->connect(DBUSER, DBPASS, DBNAME, DBHOST); //Переключаемся на БД DLE
?>

Отредактировано F_a_R_i_D - 27.04.2011
6600
Александр @admiral
Так ты походу дела в сам шаблон не туда вставляешь раз таблица у тебя под меню слева залазит

6703
Андрей @ZloVeЩиЙ
Вот она смешанная верстка...
Сомневаюсь что кто либо будет разгребать, мне лично легче было бы с 0 написать все, чем ковырять чужое...