Показать полную графическую версию : html: фиксирование ячейки таблицы по размеру
dima1981
27-08-2008, 14:34
Как зафиксировать ячейку в таблице по размеру, когда в неё передаются данные из базы mysql, то если форма содержит например такое значение пппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппп пппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппп пп, то ячейка растягивается до супер размеров и таблица становится не нормальной какой то вот строка из html про эту ячейку
<td width=\"10\">...</td>
подскажите пожалуйста, как сделать, чтоб как тут, щас когда данные занесуться то строка с многими п нормально расположиться в окне темы
vadimiron
27-08-2008, 14:58
dima1981,
есть CSS свойство word-wrap: break-word; - но оно вроде не везде работает.
Используйте PHP, чтобы разбивать слова
Почитайте тут, и комменты юзеров не пропустите - там много интересного (http://de2.php.net/wordwrap)
dima1981
27-08-2008, 15:25
ну вот vadimiron, началось, от этого php и так не внастроение какую то строку для выборки не могу столько времени раздобыть, теперь еще и разбивать всё хороните меня...
пойду читать, не поминайте лихом как говориться
dmitryst
27-08-2008, 15:31
dima1981, а что, у вас такие строки, которые не содержат пробелов?
vadimiron
27-08-2008, 15:41
спам в гостевой книге, наверно :)
dima1981
27-08-2008, 15:42
что тут неправильно подскажите:
$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
dima1981, вы объясните, откуда такие строки берутся. ИМХО, легче предупредить, чем потом героически бороться :). У меня, например, все вводимые строки проверяются, отсекаются лишние символы, спецсимволы заменяются пробелами.
dima1981
27-08-2008, 16:02
<?php
$text = "Очень длинное слоооооооооооооооово.";
$newtext = wordwrap($text, 8, "\n", 1);
echo "$newtext\n";
?>
тут text, newtext у меня abc tablerows, конечно там передстрокой нет echo но пробывал ставить и echo браузер тот же самый онлине пишет, да и эти скобки {}...
У меня, например, все вводимые строки проверяются, отсекаются лишние символы, спецсимволы заменяются пробелами. »
да знаю что до такого уровня рости и рости только это не каждому дано, потому и обращаюсь в форум с определенными темами
щас пробывал вот так
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
это не каждому дано »
на самом деле это не так сложно. Так откуда у вас такие длинные слова?
dima1981
27-08-2008, 16:27
к примеру кто, то захочет в форму такую запись, сделать и все, не напишу ведь я там, слова не более 30 букв, вот поэтому и хочу заранее предупредить то, что может произойти при внесении подобных строк в базу
и это не спам vadimiron, и не гостевая книга, это база с информацией, которая кстати кому то очень важна
timon4ik
27-08-2008, 17:13
и это не спам vadimiron, и не гостевая книга, это база с информацией »
Чисто технически - никакой разницы, с точки зрения скрипта - это текст, пришедший из браузера.
dmitryst
27-08-2008, 17:33
слова не более 30 букв »
а где вы видели более? Разве что в немецком, иначе это слова из книги Гиннесса :biggrin: . Просто не понятно, как вы будете разбивать слово на выходе, если не хотите разбить его на входе, до попадания в базу
Вот (http://forum.php-myadmin.ru/viewtopic.php?id=784) один из вариантов - создание хранимой процедуры в базе и использование ее вместо SELECT
Ещё (http://www.rusdoc.ru/articles/ochen_dlinnye_slova--chto_delat/16440/) варианты
dima1981
27-08-2008, 18:50
вы правы timon4ik, щас подумал и понял, что имел ввиду vadimiron.
не способен я к пониманию таких вещей первая ссылка супер, только не смог понять как там это устроенно и где они взяли это значение 100, каким образом там потом таблица с ячейками выглядеть по сто начнет, за вторую ссылку и браться не стал.
но Спасибо dmitryst, за ссылки, мир вам!
timon4ik
28-08-2008, 01:38
dmitryst, наверное тут все же проще для понимания и для реализации вариант с wordwrap.
dima1981
28-08-2008, 02:28
timon4ik, разве wordwrap не только с ie Ещё варианты » там так и написанно вначале при рассмотрении различных способов размещения длиииных слов где то...
вообщем сначала со скриптом разобраться мне надо на выборку из базы по паре значений, потому, что какой смысл в разбиении если разбивать нету чего, но то что сюда с этой темой обратился вы простите не предполагал, что таким трудным для меня окажится процесс понимания решения, хотелось какой то тег из html который раньше не знал, его поставил бы и готово, но оказалось все не так,
ну и тех ссылок которые любезно предоставил dmitryst вполне достаточно, как я понял для решения и к ним обязательно вернусь, спасибо вам
timon4ik
28-08-2008, 08:52
разве wordwrap не только с ie »
Нет, я имею ввиду не style="word-wrap: break-word" а PHP-функцию wordwrap.
dima1981
28-08-2008, 14:28
Нет, я имею ввиду не style="word-wrap: break-word" а PHP-функцию wordwrap. »
понял timon4ik на это vadimiron вначале ссылку оставил но благодарю за участие , только там опять знания php требуются, чего я и не знаю, не могу понять механизм т.е. логику построения кода на этом языке... скобки, запятые, какие то проверки и т.д и т.д.
и не одной книги, которую мог бы воспринять не подобрал, всюду так: отпрака имеил, работа с цифрами, массивы какие то и с формами, но формы все требуют заполнения и выборка по значению, но какому то одному, но вот чтоб хотя бы пару значений т.е. поиск по двум х-кам например компьютер-пентиум, ос- виста такого там, что то не указанно, да и загрузка данных не о какой выборочной там не говорится только если заполнять то все формы=поля таблицы, так, что тут как то положительно на ситуацию может повлиять только чудо...
dmitryst
28-08-2008, 14:29
dima1981, а вы все-таки подумайте над предотвращением появления длинных строк с самого начала. Неужели это такая секретная информация? :)
ЗЫ, А если просто выделить одну строку таблицы на всю ширину? То есть так:
|___|___|___|
|___________|
для сохранения целостности можно использовать фон одного цвета, например
dima1981
28-08-2008, 14:59
фон одного цвета и про секретность, что то ничего не понимаю, какая такая информация вами dmitryst, так названа, вы только скажите, сразу уточню, вообщем это поле с дополнительной информацией расчитываю примерно на максимум десять предложений его создавать, остальные поля, дата, цифровые х-ки, имя, тел и мыло но с этими полями опредиленность есть они нормально отображаются, там заданны ограничения по колличеству знаков, только вот нигде нет такого чтоб по высоте ячейки таблицы в которую планирую станут выводиться данные зафиксировать да и это до кучи ко всему.
вообщем фиксирование ячеек, выборочная заполнение форм при загрузке данных в базу и выборочное заполнение форм при поиске определенных данных по базе и сайт как таковой готов ) останется ток над дизайном попеинтить и отлично, вперед в путь дорогу на просторы без крайнего интернета так сказать :)
dmitryst
28-08-2008, 17:26
вообщем это поле с дополнительной информацией расчитываю примерно на максимум десять предложений его создавать »
тогда в чем проблема? Слова в предложениях отделяются пробелами, и по этим пробелам предложение отлично разобьётся.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.