Counter (поле в таблице)

Asar

Новичок
Counter (поле в таблице)

Нужно всего то, чтоб в таблице было поле, которое служило бы счетчиком, т. е. при каждом добавлении записи, у нее был свой АйДишник, автоматом ей присваемый. Можно ли назначить такой тип данный полю (типа того, как это в MS Access сделано) или еще как либо прописать?
 

Сергей123

Новичок
"Счётчик" - неправильный термин (для MySQL во всяком случае).
Можно:
id int unsigned not null auto_increment primary key
 

Asar

Новичок
Ок, только не ясно, куды "кей" втыкать... Я поля редактирую через пхпмайадмин, там такой показатель не найдет, хотя раньше я его вроде как уже видел... В каком поле оно должно быть?
Дополнительно: где то (вроде бы на этом сайте) была инфа по типам, где объяснялись отличия smallint от int и т. п. Не подскажите, где это можно посмотреть, а то никак все не найду...

-~{}~ 24.07.04 14:58:

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

Сергей123

Новичок
>> только не ясно, куды "кей" втыкать...
Create an index (Создать индекс)

>> отличия smallint от int и т. п.
Это можно найти в документации - http://dev.mysql.com/doc/mysql/ru/Column_types.html

-~{}~ 24.07.04 14:08:

>> чтобы перевод на новую строку в этих полях
>> осуществляясь, потом выводился и в готовых записях
[m]nl2br[/m]

-~{}~ 24.07.04 14:09:

>> как можно уберечься от всяческих тегов
>> и прочей незаконной фигни
echo nl2br([m]htmlspecialchars[/m]($strMultilineText, ENT_QUOTES));
 

Asar

Новичок
Спасибо большое за развернутый ответ. С фильтрацией все вышло. А вот с переносами - не совсем. Итак, строка:
"echo nl2br(htmlspecialchars($row_GuestRecordset['user'], ENT_QUOTES));"
Жму ентеры - все равно печатает в одну строку. Единственно, похоже, что в коде страницы окончательном разделение стоит, т. е. код

<td colspan="2" class="tab-gray"><div align="left">fff
fff</div></td>

Здесь между fff и fff я ставил ентер...

-~{}~ 24.07.04 15:30:

Да, и еще не совсем мне, чайнику, ясно, почему должна идти замена на "<br />", а не на просто <br>. В чем разница?

-~{}~ 24.07.04 15:32:

А, вот, нашел
"Начиная с PHP 4.0.5, nl2br() работает в соответствии со стандартом XHTML. До версии 4.0.5 использовалось '<br>' вместо '<br />'. "
Т.е. последний вариант подходит И для ХТМЛ И для ХХТМЛ, а первый только для ХТМЛ?
 

Сергей123

Новичок
Запусти, сделай View Source и сравни. Должен понять (в HTMLе, чтобы был перевод строки, нужен тег <br>):
PHP:
$strMultilineText = 'Line 1
Line 2';

echo $strMultilineText;

echo nl2br($strMultilineText);
-~{}~ 24.07.04 14:39:

>> Т.е. последний вариант подходит И для ХТМЛ И для
>> ХХТМЛ, а первый только для ХТМЛ?
Не думай сейчас об этом...
Если пишешь руками - пиши просто <br> пока, если нужно использовать nl2br (как в твоём случае) - смело используй, пусть будет <br />.
 

Asar

Новичок
Проверил еще раз.
В моем случае (см. строку с кодом в моем прошлом посте):
Если не использовать nl2br, то в source идет "ввв ввв ввв", соответственно, выводится в одну строку.
Если использовать nl2br, то в source идет "ввв
ввв
ввв", т. е. здесь меняется, но никаких <br /> не вставляется, соответственно, результат - тот же.
Т. е. получается, что вставляются разрывы строки, которые видит виндовый блокнот и которые никак не влияют на хтмл...
 

Asar

Новичок
Дык блокнотом из експлорера... Ладно, сейчас ухожу, буду теперь в пн только... Если есть еще какие варианты - скажи, ок?
 

Сергей123

Новичок
Есть. Создай чистый HTML-файл с содержимым из одной строки:
<br><br><br><br><br><br><br>

Открой его браузером и сделай View Source. Если там не будет
<br><br><br><br><br><br><br>
то ты знаешь, что
>> Ты смотришь source чем-то не тем.
 
Сверху