Как закрепить таблицу

Статус
Закрыто для дальнейших ответов.

Petruxa

Well-Known Member
Регистрация
20.01.2007
Сообщения
180
Дорогие товарищи, у меня возникла проблема, при подаче комментариев каким нибудь пользователем,
у меня расширяется таблица, и не разбивает предложение и непереносит на следующую строчку.
как зафиксировать этот кусок <td> так чтобы не уезжало?
<td width='50%' style="table-layout: fixed;" class="style3">

Вот это место

Код:
 <td width='50%' style="table-layout: fixed;" class="style3"><hr /><b>Комментарии</b><br />
			<?
			$con = mysql_query("SELECT * FROM `comments` WHERE `id_article` = '$news_id' order by `id` desc");

			$show = "<table class='style3' align='center' width='80%' border='0' cellspacing='10' cellpadding='0'>";
			while($res=mysql_fetch_array($con)){
				 $show.= "<tr><td><b>Имя:</b> $res[name] <br /><b>Email:</b> $res[email]<br /><b>Комментарий:</b> $res[text]";
				 if($passwd == $sha){
				 	$show.= "<br><a href='view.php?action=delcomment&id=$res[id]&news_id=$news_id'>[удалить комментарий]</a>";
				 }
				 $show.= "</td></tr>";
			}
			echo "</table>";
			echo $show;
			?>
			</td>
 

Petruxa

Well-Known Member
Регистрация
20.01.2007
Сообщения
180
Код:
	<script language="JavaScript">
maxlen = 10; // максимальная длина строки
coll = document.getElementsByTagName("td");
c = new Array();
for(i=0; i<coll.length; i++){
  if(coll[i].className == "style3"){
	 c[c.length] = coll[i];
  }
}
for(i=0; i<c.length; i++){
  t = c[i].innerHTML;
  pos = 0;
  while(pos<t.length){
	 result += t.substr(pos, maxlen) + "<br>";
	 pos += maxlen;
  }
  c[i].innerHTML = result;
}
</script>

Это тоже непомогло
 

medwoodu

Злобный модер
Регистрация
22.12.2005
Сообщения
1 418
Учитесь задавать вопросы :(
Хотя бы код таблицы целиком, стили и т.д. куда, что уезжает непонятно, пока на ваш вопрос есть один ответ: молча
 

Petruxa

Well-Known Member
Регистрация
20.01.2007
Сообщения
180
Хорошо, хотя бы просто: как закрепить ячейку, так чтоб нераскрепить, тег style="table-layout:, не помогает, джава скрипт тоже. уезжает потому. что пользователи добавляют если слишком длинные комментарии. то таблица расширяется под текст. а текст не переноситься на другую строчку автоматически
 

temp

Well-Known Member
Регистрация
21.05.2006
Сообщения
53
:) Я так понял у человека таблица разъезжается по ширине когда в ячейку заносится строка без пробела длинее чем сама ячейка. я думаю здесь только регулярное выражение поможет. хотя мож есть что и по проще
 

Petruxa

Well-Known Member
Регистрация
20.01.2007
Сообщения
180
Вы отгадали, действительно так, она почему то не фиксируется. и я думаю забить. ведь на блогах майла, тоже самое
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
почему-бы в стиле ячейки overflow: hidden не поставить?
 

Petruxa

Well-Known Member
Регистрация
20.01.2007
Сообщения
180
Действительно, почему бу не поставить,.., надо поставить
 

temp

Well-Known Member
Регистрация
21.05.2006
Сообщения
53
Блин, че то у меня тест на скорую руку не заработал, но по памяти (не знаю как с таблицей но с блоком) в таком случае кажись текст выходящий за пределы границы не будет виден.... хотя в некоторых случаях - лучший вариант ;)
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
Petruxa, помогло?
 

Petruxa

Well-Known Member
Регистрация
20.01.2007
Сообщения
180
Странно, опять нет, баг можно посмотреть по ссылке
http://www.petruxa.net/download/article_39.html

Там пример, может сам кто нито добавить, посмотрит, я не пойму что то. может дело в самом скрипте добавления..
 

~FisHBonE~

Well-Known Member
Регистрация
23.05.2005
Сообщения
136
Хех... То, что я увидел перейдя по ссылке нельзя назвать багом :) wordwrap не работает, если в строке всего одно слово ) Он разбивает строки только по словам.

з.ы. полностью топик не читал.. так что если что не так сказал, не бейте )

У меня, кстати, была проблема того же типа. В таблице не разбивались строки, если выводились они из БД :(... Не помню как решил, но решение было кривое на JavaScript.
 

Petruxa

Well-Known Member
Регистрация
20.01.2007
Сообщения
180
Я сделал джава скрипт он выше, может только неправильно, но я не могу найти ошибку, ввожу его после таблицы..
 

temp

Well-Known Member
Регистрация
21.05.2006
Сообщения
53
ИМХО
На стороне клиента корректировать вводимые данные не совсем правильно. Так как любой может их отправить в обход ограничительному скрипту
 

Petruxa

Well-Known Member
Регистрация
20.01.2007
Сообщения
180
Какие предложения товарищь temp?
 

temp

Well-Known Member
Регистрация
21.05.2006
Сообщения
53
Хм.... у меня ща на локальной машине пхп5 . начал по старой памяти (пхп4) набивать - а оно не работает.... посмотрел спецификацию - в пхп5 добавилась для этих целей удобная функция str_split, даже не надо регулярные выражения. поэтому выкладываю рабочий код к пхп5. к пхп4 не могу протестить, поэтому молчу....
Код:
<?

$str = "Hello Friend";
$arr = str_split($str, 3);
for($i=0;$i<count($arr);$i++)

{
	echo $arr[$i]."<br>";
}
?>
И вот результат
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
В PHP ещё с третьей версии существует chunk_split().
 

temp

Well-Known Member
Регистрация
21.05.2006
Сообщения
53
Да, все верно, че то я торможу. c chunk_split() еще проще:)
 

Petruxa

Well-Known Member
Регистрация
20.01.2007
Сообщения
180
спасибо, буду тестить
 

Petruxa

Well-Known Member
Регистрация
20.01.2007
Сообщения
180
Ни хера не получилось, наверное просто не понял как применить, хоть убейте..... Придётся забить
 
Статус
Закрыто для дальнейших ответов.
Верх Низ