Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Увеличить ширину столбца


Автор: Самозванка 2.8.2007, 09:36
Данные из БД с помощью цикла вывожу в таблицу с определнным количеством столбцов.
Фрагмент кода:
Код

echo "<td>",$f[segment],"</td><td>",$f[tp_segm],"</td><td>",$f[FULLNAME],"</td><td width=275>",$f[TELEPHONE],"</td>;


Некоторые столбцы, надо увеличить по ширине, но возможность подкорректировать это в базе нет...
Я делаю это так :

Код

<td width=275>",$f[TELEPHONE],"</td>


Почему то этот код не срабатывает. Я что то делаю не так?

Автор: belousov 2.8.2007, 09:38
Самозванка, если я не ошибаюсь то надо писать так 

Код

<td width="50%">

Автор: Самозванка 2.8.2007, 09:42
belousov, не. ВPhp кавычки не прокатывают двойные, и мне именно в пикселях задать надо, а не в процентах

Автор: Glip 2.8.2007, 10:07
Цитата(Самозванка @  2.8.2007,  09:42 Найти цитируемый пост)
 не. ВPhp кавычки не прокатывают двойные

это почему?
Код

echo '<td>'.$f[segment].'</td><td>'.$f[tp_segm].'</td><td>'.$f[FULLNAME].'</td><td width="275">'.$f[TELEPHONE].'</td>';


Добавлено через 1 минуту и 35 секунд
опять же в $f[tp_segm]  tp_segm - имя константы, у вас есть эта константа?

Автор: belousov 2.8.2007, 10:12
Код

<td width="275">



это ж не php а html тут то кавычки точно нужны, ну проценты можно не указывать

Автор: Самозванка 2.8.2007, 10:19
belousov, ну html то я знаю, что так.

Добавлено через 4 минуты и 42 секунды
Glip, 
Цитата(Glip @  2.8.2007,  10:07 Найти цитируемый пост)
опять же в $f[tp_segm]  tp_segm - имя константы, у вас есть эта константа? 

Эти данные у меня берутся из массива

Код

for ($i=0; $i<odbc_num_rows($result1); $i++)
{
echo "<tr>";
$f=odbc_fetch_array($result1);
echo '<td>',$f[segment],'</td><td>',$f[tp_segm],'</td><td>',$f[FULLNAME],'</td><td width="275">',$f[TELEPHONE],'</td><td width="275">',$f[FAX],'</td><td  width=20>',$f[EMAIL],'</td><td>',$f[ADDRESSTEXT],'</td><td>',$f[BOSSNAME],'</td><td>',$f[tip],'</td><td>',$f[marka],'</td><td>',$f[model],'</td>';
echo "</tr>";
}


и я переделала с кавычками строку, все равно столбец шире не становится(

Добавлено через 10 минут и 55 секунд
И еще интересно, можно ли сделать ширину столбца в зависимости от ширины текста в нем и как?

Автор: Rigel 2.8.2007, 11:12
Цитата(Самозванка @ 2.8.2007,  10:19)
и я переделала с кавычками строку, все равно столбец шире не становится(

Попробуй задать явно ширину таблицы и ширину всех столбцов. 

Автор: Самозванка 2.8.2007, 11:17
Rigel, делаю. Вообще ничего не изменяется, может когда значения из базы берутся, нельзя поменять? хотя странно... smile 

Автор: Glip 2.8.2007, 11:39
Код

<?php
for ($i=0; $i<odbc_num_rows($result1); $i++)
{
$f=odbc_fetch_array($result1);
?>
<tr>
<td><?=$f['segment']?></td>
<td><?=$f['tp_segm']?></td>
<td><?=$f['FULLNAME']?></td>
<td width="<?=strlen($f['TELEPHONE'])?>"><?=$f['TELEPHONE']?></td>
<td width="275"><?=$f['FAX']?></td>
<td  width="20"><?=$f['EMAIL']?></td>
<td><?=$f['ADDRESSTEXT']?></td>
<td><?=$f['BOSSNAME']?></td>
<td><?=$f['tip']?></td>
<td><?=$f['marka']?></td>
<td><?=$f['model']?></td>
</tr>
<?php
}
?>


где же вы умудрились набраться ереси в виде $f[tp_segm] ? не думаю что у вас где-то прописано что-то вида define('tp_segm', 'db_field_name');

если вы действительно определили константы и присвоили им в качестве значений имена полей в таблице, то ваш вариант правильный с точки зрения синтаксиса, но на мой взгляд не верный идеологически. если marka, model и прочее - как раз и есть имена полей, то правильнее заключать их в кавычки.
документацию всетаки надо читать smile
http://ru2.php.net/manual/en/language.types.php

Добавлено через 5 минут и 11 секунд
и маленькое замечание по 
Код

for ($i=0; $i<odbc_num_rows($result1); $i++)


в данном случае odbc_num_rows($result1) будет вызываться при каждом проходе цикла, если количество строк в процессе не меняется, что в вашем случае вряд ли, то можно сделать в виде
Код

for ($i=0, $size=odbc_num_rows($result1); $i<$size; $i++)

Автор: Самозванка 2.8.2007, 12:18
Glip, Спасибо за ценные советы и информацию... буду исправляться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)