Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> растяжение таблицы 
:(
    Опции темы
Rezzonans
Дата 16.9.2006, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 21.4.2005

Репутация: нет
Всего: нет



Люди, может знает кто-нибудь, как решить такую проблему:

Делаем запрос к базе данных:

Код

$result = mysql_query(“select name, message from table”);


Приводим результат к удобочитаемому виду:

Код

for($data = array(); $row = @mysql_fetch_assoc($result); $data[] = $row);


Осуществляем вывод:

Код

foreach ($data as $element){
?> <table width = 750>
    <tr>
        <td>
            <?=$element[‘name’]
        </td>
    </tr>
    <tr>
        <td>
            <?=$element[‘message’]?>
        </td>
    </tr>    
</table>
<br><br>
<?php
}


Тут вообщем всё в порядке: работает и выводит. Проблема в том, что если в БД содержится очень длинное слово, то таблица может разростаться до неимоверных размеров, то есть, если занести в базу что-нить типа:

аываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываыаываываываываыв        

то параметр width у таблицы перестаёт выполнять свои функции и она растёт в ширь. Как от этого избавиться?
Спасибо заранее.

Добавлено @ 23:26 
Есть кстати вариант решения проблемы при помощи css:

Код

foreach ($data as $element){
?> div style='width:750;word-wrap:break-word; position:relative; overflow:hidden'>
<table width = 750>
    <tr>
        <td>
            <?=$element[‘name’]
        </td>
    </tr>
    <tr>
        <td>
            <?=$element[‘message’]?>
        </td>
    </tr>    
</table>
</div>
<br><br>
<?php
}


Хотелось бы узнать есть ли программный путь?

Это сообщение отредактировал(а) Rezzonans - 16.9.2006, 23:23
--------------------
Первый детектор лжи был собран из ребра мужчины. Впрочем, до сих пор, никаких изменений не притерпел
PM MAIL   Вверх
skyboy
Дата 17.9.2006, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 8
Всего: 260



во-первых, что понимается под "программным путём"? неужто таблицы стилей - аппаратный метод?
во-вторых: а что предполагается далеть? есть какой алгоритм? ведь можно делать немало вещей:
  • уменьшать размер шрифта, пока не станет помещаться в отведённые размеры:
    плюс: будет выведена вся инфо;
    минус: 570 символов размеров 0 пунктов - такое никто уже не прочитает, не  обращаясь к исходному коду страницы
  •  обрезать при выводе или не давать даже вводить длинные слова(если будет просто много слов - будет автоперенос)
    плюс: читать можно
    минус: видимо, выводиться будет не всё smile обрезка контента == потеря информации
  •  пихать выводимый текст в textarea
    плюс: весь текст на экране нужного размера, можно проскроллить при желании
    минус: может не вписаться в "окружающий стиль"
  • вставлять через каждые N символов строку "-<br />"(вроде переноса), если не было  в течении этих символов перевода строки
    плюс: не будет скроллбаров, которые могут исказить внешний вид страницы; отображается вся информация нужным размером шрифта
    минус: по высоте абзац всё же будет так же расти
Так что делать будем?

Это сообщение отредактировал(а) skyboy - 17.9.2006, 00:05
PM MAIL   Вверх
Rezzonans
Дата 17.9.2006, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 21.4.2005

Репутация: нет
Всего: нет



Цитата(skyboy @ 17.9.2006,  00:04)


  •  обрезать при выводе или не давать даже вводить длинные слова(если будет просто много слов - будет автоперенос)
    плюс: читать можно
    минус: видимо, выводиться будет не всё smile обрезка контента == потеря информации


вот интересный вариант. Почему бы собственно и не обрезать. На вскидку так: есть слова размером в 20 символов, скажем? Может быть, ну в 30 символов уж наверняка нет smile Да и потом, обрезка проводится на этапе вывода, ну а в базе полная информация останется, так что при желании можно восстановить.

ну а под программным путём я подразумевал именно средства пхп. Css - хорошая штука но не надёжная. smile

Это сообщение отредактировал(а) Rezzonans - 17.9.2006, 10:59
--------------------
Первый детектор лжи был собран из ребра мужчины. Впрочем, до сих пор, никаких изменений не притерпел
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0573 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.