|
|
|
| Вот запись в таблицу базы данных. В таблице один столбец login. Нужно чтобы каждая новая запись вставлялась в самый конец таблицы.
<?php
$mas = array();
$i = 0;
$login = $_POST['nick'];
$dbname = 'mybaza';
$dbtable = 'mytable';
$dbcnx = mysql_connect('localhost','root','*******');
if (!mysql_select_db($dbname, $dbcnx)){
echo( '' ); exit();
}
if (mysql_select_db($dbname, $dbcnx)){
echo('');
}
$ss="insert into $dbtable (login) values ('$login')";
$ssgo = mysql_query ($ss, $dbcnx);
if($ssgo)echo('');
if(!$ssgo) exit();
$sql=mysql_query("select count(login) from $dbtable;");
$str=mysql_result($sql,0);
$query = "SELECT * FROM $dbtable";
$ath = mysql_query($query);
if(!$ath) exit("<p>Ошибка в запросе к таблице сессий</p>");
if(mysql_num_rows($ath)>0) {
while($author = mysql_fetch_array($ath))
{
$mas[$i] = $author['login'];
$i = $i+1;
}
}
?>
|
Все записи из базы передаются в масси, нужно чтоб последний элемент массива содержал последнюю запись в таблице. | |
|
|
|
|
|
|
|
для: Kreg-Heg
(26.04.2007 в 10:40)
| | У таблицы нет конца. И начала нет.
Сервер не обязан держать строки в определенном порядке, и не пытается этот порядок обеспечивать нигде, кроме как на выходе, да и то - по явному требованию. | |
|
|
|
|
|
|
|
для: Kreg-Heg
(26.04.2007 в 10:40)
| | В БД в таблицах НЕТ понятие первая-последняя... есть только понятие ПРАВИЛО СОРТИРОВКИ...
Вариант в данном случае вижу ТОЛЬКО один (имею в виду максимально безболезненный) - в таблицу добавить поле Id... задать ему ключевое + автоинкремент...
И в запросе при выборке делать доп условие в SELECT * FROM $dbtable ORDER BY Id - тогда выборка будет происходить в соответствии с порядком появления записей в таблице | |
|
|
|
|
|
|
|
для: Kreg-Heg
(26.04.2007 в 10:40)
| | Если у вас есть поле скажем id с auto_increment
То можно при выводе записей из базы сортировать по этому id
| |
|
|
|
|
|
|
|
для: zerocool
(26.04.2007 в 10:47)
| | чета я даже этого поля не могу создать, вот смотрите
поле -> id
тип -> int
длинна -> 50
сравнение -> cp1251_general_cs
атрибуты -> тут ничего не пишу
ноль -> not null
по умолчанию -> тут ничего не пишу
дополнительно -> auto_increment
Ошибка вот такая:
ALTER TABLE ADD `id` INT( 50 ) NOT NULL AUTO_INCREMENT FIRST
Ответ MySQL:
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key | |
|
|
|
|
|
|
|
для: Kreg-Heg
(26.04.2007 в 22:18)
| | автонаращиваемое поле должно быть единственным в таблице и должно являться первичным ключом:
ALTER TABLE ADD `id` INT( 50 ) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST
|
| |
|
|
|
|
|
|
|
для: Trianon
(27.04.2007 в 10:00)
| | Спасибо! Всё сделал, всё работает!!! | |
|
|
|