Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Порядковый номер в таблице данных
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Порядковый номер в таблице данных

Страниц (1): [1]
 

1. Алтенрион - 19 Октября, 2012 - 00:52:48 - перейти к сообщению
Подскажите новичку, как добавить столбец, с автоматической нумерацией данных по порядку?...

Цель : сделать столбец, в котором выводился бы реальный порядковый номер на текущий момент, и если удалить данные по середине списка, то номер пересчитается и опять будет актуальным.

Id использован, и он как обычно не изменяется и всегда уникальный. Закатив глазки
2. EuGen - 19 Октября, 2012 - 09:09:00 - перейти к сообщению
Алтенрион
Строго "сделать" - никак. Только объявить колонку и поддерживать сохранение порядке на уровне приложения (или триггеров в СУБД, но это, мне кажется, уже чересчур).
Стало быть, Вам нужно будет самостоятельно пересчитывать значения этой колонки после изменения.
Если честно, не очень понятно, чем первичный ключ (id в Вашем случае) не устроил.
3. Алтенрион - 19 Октября, 2012 - 20:56:12 - перейти к сообщению
Данные из таблицы выводятся в веб интерфейс, для формальной отчетности самому себе, и быстрого просмотра обновлений.(чтобы не лазить постоянно в базу) так вот хотелось бы иметь каким либо образом реализованный счетчик, который бы нумеровал по порядку все днные, и пересчитывался при удалении из базы каких либо строк, чтобы счетчик не был привязан к данным как id.

п.с.: в таблице в скором времени ожидается около 500+ записей, и параллельно проводятся доработки скриптов, добавляющих какие либо данные в базу, в таком случае в ручную редактировать номер анриал.
4. KingStar - 19 Октября, 2012 - 21:04:21 - перейти к сообщению
если я правильно понял, данные в массиве, и выводятся в цикле

PHP:
скопировать код в буфер обмена
  1. $num = 1;
  2. foreach($array as $data)
  3. {
  4.      echo $num; // номер
  5.      echo $data['name'];
  6.  
  7.      ++$num;
  8. }
5. Алтенрион - 20 Октября, 2012 - 14:47:04 - перейти к сообщению
Если честно, то выводится все примерно так:


Цитата:
$result=mysql_query('SELECT * FROM `users` ORDER BY id'); // делаем выборку из таблицы
while($row=mysql_fetch_array($result)) // берем результаты из каждой строки

{ echo '<p> <b>Дата = </b>'.$row['create_date'].'&nbsp;'.'&nbsp;'.'&nbsp;'.'&nbsp;'.'&nbsp;'.'&nbsp;'.
'<b>ФИО: </b>'.$row['sername'].'&nbsp;'.$row['name'].'&nbsp;'.$row['firstname'].'&nbsp;'.'<br>'.'<br>'.
'<b> Дата рождения: </b>'.'&nbsp;'.$row['date'].'&nbsp;'.'&nbsp;'.'&nbsp;'.'&nbsp;'.'<b> email: </b>'.'&nbsp;'.$row['email'].'&nbsp;'.'&nbsp;'.'&nbsp;'.'&nbsp;<br>'.
'<b> Телефон: </b>'.'&nbsp;'.$row['telephone']. '<br>'.
'<b> Место работы/учебы: </b>'.'&nbsp;'.$row['position'].'&nbsp;'.'<br>'.
'<b> Статус: </b>'.'&nbsp;'.$row['who']. '&nbsp;'.'<br>'.
'<b>Интерсы: </b>'.'&nbsp;'.$row['interests'].'<br><br>'.
'<b> Мероприятия: </b>'.'&nbsp;'.$row['gt'].'</p><br><br>'; // выводим данные
}
?>




п.с.: Много где можно убрать лишнее сложение и объединить html теги, и вообще грубовато написано, - знаю. Повторюсь, написано для формальной отчетности самому себе.... Было бы здорово сделать компактнее , но главное сейчас это добавить нумерацию по порядку номером, не привязным к самим данным.
6. caballero - 20 Октября, 2012 - 15:11:21 - перейти к сообщению
ну так воткни счетчик и нумеруй - как в примере выше
какая проблемма собственно

 

Powered by ExBB FM 1.0 RC1