Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   html: фиксирование ячейки таблицы по размеру (http://forum.oszone.net/showthread.php?t=115487)

dima1981 27-08-2008 14:34 885008

html: фиксирование ячейки таблицы по размеру
 
Как зафиксировать ячейку в таблице по размеру, когда в неё передаются данные из базы mysql, то если форма содержит например такое значение пппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппп пппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппп пп, то ячейка растягивается до супер размеров и таблица становится не нормальной какой то вот строка из html про эту ячейку
<td width=\"10\">...</td>
подскажите пожалуйста, как сделать, чтоб как тут, щас когда данные занесуться то строка с многими п нормально расположиться в окне темы

vadimiron 27-08-2008 14:58 885028

dima1981,
есть CSS свойство word-wrap: break-word; - но оно вроде не везде работает.
Используйте PHP, чтобы разбивать слова
Почитайте тут, и комменты юзеров не пропустите - там много интересного

dima1981 27-08-2008 15:25 885059

ну вот vadimiron, началось, от этого php и так не внастроение какую то строку для выборки не могу столько времени раздобыть, теперь еще и разбивать всё хороните меня...
пойду читать, не поминайте лихом как говориться

dmitryst 27-08-2008 15:31 885063

dima1981, а что, у вас такие строки, которые не содержат пробелов?

vadimiron 27-08-2008 15:41 885069

спам в гостевой книге, наверно :)

dima1981 27-08-2008 15:42 885070

что тут неправильно подскажите:

$sql = mysql_query("SELECT * FROM oo" ,$db);
echo ("<table border ='1'>");
echo ("<tr><td width=\"10\">Адрес</td><td>Описание</td></tr>");
while ($abc = mysql_fetch_row($sql))
{ $tablerows=wordwrap($abc,10);
echo("<tr><td>$tablerows[1]</a></td><td>$tablerows[2]</td></tr> ");}

Warning: wordwrap() expects parameter 1 to be string, array given in C:\apache\localhost\www\23.php on line 10

там vadimiron, примеров с тегами <td> и <tr>, что то нет и разъяснение все на английском )
но вообщем спасибо, понимаю вас, пойду дальше что то придумывать с этими формами и разбиваниями, когда то да придумается )

dmitryst 27-08-2008 15:44 885073

dima1981, вы объясните, откуда такие строки берутся. ИМХО, легче предупредить, чем потом героически бороться :). У меня, например, все вводимые строки проверяются, отсекаются лишние символы, спецсимволы заменяются пробелами.

dima1981 27-08-2008 16:02 885088

<?php
$text = "Очень длинное слоооооооооооооооово.";
$newtext = wordwrap($text, 8, "\n", 1);

echo "$newtext\n";
?>
тут text, newtext у меня abc tablerows, конечно там передстрокой нет echo но пробЫвал ставить и echo браузер тот же самый онлине пишет, да и эти скобки {}...
Цитата:

Цитата dmitryst
У меня, например, все вводимые строки проверяются, отсекаются лишние символы, спецсимволы заменяются пробелами. »

да знаю что до такого уровня рости и рости только это не каждому дано, потому и обращаюсь в форум с определенными темами

щас пробЫвал вот так

echo ("<tr><td width=\"10\">Адрес</td><td>Описание</td></tr>");
$tablerows=wordwrap($abc,10);
while ($abc = mysql_fetch_row($sql))
{
echo("<tr><td>$abc[1]</a></td><td>$tablerows[2]</td></tr> ");
}

отображается таблица, но разбиения не происходит, что то

dmitryst 27-08-2008 16:08 885093

Цитата:

Цитата dima1981
это не каждому дано »

на самом деле это не так сложно. Так откуда у вас такие длинные слова?

dima1981 27-08-2008 16:27 885111

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

и это не спам vadimiron, и не гостевая книга, это база с информацией, которая кстати кому то очень важна

timon4ik 27-08-2008 17:13 885144

Цитата:

Цитата dima1981
и это не спам vadimiron, и не гостевая книга, это база с информацией »

Чисто технически - никакой разницы, с точки зрения скрипта - это текст, пришедший из браузера.

dmitryst 27-08-2008 17:33 885164

Цитата:

Цитата dima1981
слова не более 30 букв »

а где вы видели более? Разве что в немецком, иначе это слова из книги Гиннесса :biggrin: . Просто не понятно, как вы будете разбивать слово на выходе, если не хотите разбить его на входе, до попадания в базу

Вот один из вариантов - создание хранимой процедуры в базе и использование ее вместо SELECT

Ещё варианты

dima1981 27-08-2008 18:50 885221

вы правы timon4ik, щас подумал и понял, что имел ввиду vadimiron.

не способен я к пониманию таких вещей первая ссылка супер, только не смог понять как там это устроенно и где они взяли это значение 100, каким образом там потом таблица с ячейками выглядеть по сто начнет, за вторую ссылку и браться не стал.
но Спасибо dmitryst, за ссылки, мир вам!

timon4ik 28-08-2008 01:38 885517

dmitryst, наверное тут все же проще для понимания и для реализации вариант с wordwrap.

dima1981 28-08-2008 02:28 885544

timon4ik, разве wordwrap не только с ie
Цитата:

Цитата dmitryst
Ещё варианты »

там так и написанно вначале при рассмотрении различных способов размещения длиииных слов где то...

вообщем сначала со скриптом разобраться мне надо на выборку из базы по паре значений, потому, что какой смысл в разбиении если разбивать нету чего, но то что сюда с этой темой обратился вы простите не предполагал, что таким трудным для меня окажится процесс понимания решения, хотелось какой то тег из html который раньше не знал, его поставил бы и готово, но оказалось все не так,
ну и тех ссылок которые любезно предоставил dmitryst вполне достаточно, как я понял для решения и к ним обязательно вернусь, спасибо вам

timon4ik 28-08-2008 08:52 885626

Цитата:

Цитата dima1981
разве wordwrap не только с ie »

Нет, я имею ввиду не style="word-wrap: break-word" а PHP-функцию wordwrap.

dima1981 28-08-2008 14:28 885822

Цитата:

Цитата timon4ik
Нет, я имею ввиду не style="word-wrap: break-word" а PHP-функцию wordwrap. »

понял timon4ik на это vadimiron вначале ссылку оставил но благодарю за участие , только там опять знания php требуются, чего я и не знаю, не могу понять механизм т.е. логику построения кода на этом языке... скобки, запятые, какие то проверки и т.д и т.д.

и не одной книги, которую мог бы воспринять не подобрал, всюду так: отпрака имеил, работа с цифрами, массивы какие то и с формами, но формы все требуют заполнения и выборка по значению, но какому то одному, но вот чтоб хотя бы пару значений т.е. поиск по двум х-кам например компьютер-пентиум, ос- виста такого там, что то не указанно, да и загрузка данных не о какой выборочной там не говорится только если заполнять то все формы=поля таблицы, так, что тут как то положительно на ситуацию может повлиять только чудо...

dmitryst 28-08-2008 14:29 885823

dima1981, а вы все-таки подумайте над предотвращением появления длинных строк с самого начала. Неужели это такая секретная информация? :)
ЗЫ, А если просто выделить одну строку таблицы на всю ширину? То есть так:

Код:

|___|___|___|
|___________|

для сохранения целостности можно использовать фон одного цвета, например

dima1981 28-08-2008 14:59 885855

фон одного цвета и про секретность, что то ничего не понимаю, какая такая информация вами dmitryst, так названа, вы только скажите, сразу уточню, вообщем это поле с дополнительной информацией расчитываю примерно на максимум десять предложений его создавать, остальные поля, дата, цифровые х-ки, имя, тел и мыло но с этими полями опредиленность есть они нормально отображаются, там заданны ограничения по колличеству знаков, только вот нигде нет такого чтоб по высоте ячейки таблицы в которую планирую станут выводиться данные зафиксировать да и это до кучи ко всему.

вообщем фиксирование ячеек, выборочная заполнение форм при загрузке данных в базу и выборочное заполнение форм при поиске определенных данных по базе и сайт как таковой готов ) останется ток над дизайном попеинтить и отлично, вперед в путь дорогу на просторы без крайнего интернета так сказать :)

dmitryst 28-08-2008 17:26 885942

Цитата:

Цитата dima1981
вообщем это поле с дополнительной информацией расчитываю примерно на максимум десять предложений его создавать »

тогда в чем проблема? Слова в предложениях отделяются пробелами, и по этим пробелам предложение отлично разобьётся.

dima1981 28-08-2008 22:01 886111

Цитата:

Цитата dmitryst
Слова в предложениях отделяются пробелами, и по этим пробелам предложение отлично разобьётся »

да это в идеале dmitryst :)
ну если кто то захочет или в пьяном состоянии бац и разлинует её всмысле строку, то получится, что все потом захотевшие посмотреть инфу увидеть, увидят такую таблицу, которую прокручивать и прокручивать, ну и все время смотреть в каком виде данные в базу заносятся, чтоб вовремя корректировать не очень сподручно то то и остается зафиксировать как то её или чтоб такие данные впринципе не вносились. Кстати может есть что то, что может сделать так, чтоб длинна в знаках вводимого слова, не привышала например сорока символов?

dima1981 31-08-2008 16:17 887837

Скажите пожалуйста вот эту строку из руководства php, трансформировал и включил в код таким образом:
$text = "Очень длинное слоооооооооооооооово.";
$newtext = wordwrap($text, 8, "\n", 1);
echo "$newtext\n";


$sql = mysql_query("SELECT * FROM `oo` where(co='".$co."'and cd='".$cd."' and db='".$db."')");
echo ("<table border ='1'>");
echo ("<tr><td colspan='2'>Таблица</td></tr>");
$text = "$sql";
$ab = wordwrap($text, 8, "\n", 1);
while ($abc = mysql_fetch_row($ab))

это совсем не правильно?


Время: 22:29.

Время: 22:29.
© OSzone.net 2001-