|
автор: x09 (18.10.2006 в 23:18) |
|
| как из таблицы вытаскивать строки с конца? | |
|
|
|
|
|
|
|
для: x09
(18.10.2006 в 23:18)
| | А какова структура таблицы, т.е. какие строки явялются конечными? Есть ли в таблице автоинкерментные или календарные столбцы? | |
|
|
|
|
|
|
|
для: cheops
(18.10.2006 в 23:34)
| | cheops - респект :)
х09 если не вдаваться в подробности cheopsa, то вероятнее всего тебе поможет DESC | |
|
|
|
|
автор: ч09 (18.10.2006 в 23:45) |
|
|
для: slonik
(18.10.2006 в 23:42)
| | Там всего три поля имя пароль и id
а че такое DESC? | |
|
|
|
|
|
|
|
для: ч09
(18.10.2006 в 23:45)
| | DESC нужно вставлять в запрос к бд, когда выводишь инфу.
Запрос примерно такой:
select * from table ORDER BY ID DESC
|
Этот запрос будет отталкиваться от id и выводить записи в нужном тебе порядке. | |
|
|
|
|
автор: x09 (19.10.2006 в 00:16) |
|
|
для: slonik
(19.10.2006 в 00:03)
| | Я мож чето упустил, или просто плохо соображаю к ночи, но
обясните мне, как вот эта весчь: select * from table ORDER BY ID DESC
позволит мне выводить записи в нужном мне порядке, куда ее воткнут это понятно. но вот че дальше то... | |
|
|
|
|
|
|
|
для: x09
(19.10.2006 в 00:16)
| |
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
$db_user = "имя_пользователя";
$db_pass = "пароль_пользователя";
$db = "база_данных";
mysql_connect("localhost", "$db_user", "$db_pass") or die("Невозможно подключиться: ".mysql_error());
mysql_select_db($db) or die("Невозможно выбрать базу: ".mysql_error());
$base=mysql_query("SELECT * FROM название_таблицы ORDER BY ID DESC");
while($row=mysql_fetch_array($base)){
$vibor.= "<table><tr>";
$vibor.= "<td>$row[название_поля]</td>";
$vibor.= "</tr></table>"; }
echo $vibor;
?>
|
| |
|
|
|
|
автор: x09 (19.10.2006 в 09:49) |
|
|
для: slonik
(19.10.2006 в 00:30)
| | Я мож че не так дела, но чет читаться с конца у меня так и не стало...
а массив строки запихнуть никак низя? чтоб потом уже с массивом работьтиь, егото я знаю
как с какого конца прочесть...
<?
Error_Reporting(E_ALL & ~E_NOTICE);
include ("config.php");
$ath = mysql_query("SELECT * FROM $tbname ORDER BY NAME DESC");
if(!$ath) {
exit(mysql_error());
}
$countb=(mysql_num_rows($ath));
echo"<table border='1'>";
while($author=mysql_fetch_array($ath)){
$vibor.= "<tr>";
$vibor.= "<td>".$author['name']."</td>";
$vibor.= "<td>".$author['password']."</td>";
$vibor.= "</tr>"; }
echo $vibor;
echo "</table>";
?>
|
| |
|
|
|
|
|
|
|
для: x09
(19.10.2006 в 00:16)
| | DESC буквально значит "по убыванию последнего". В Вашем случае - по убыванию id. | |
|
|
|
|
автор: x09 (19.10.2006 в 09:51) |
|
|
для: Trianon
(19.10.2006 в 09:46)
| | а если я убрал по ID то тогда как? | |
|
|
|
|
|
|
|
для: x09
(19.10.2006 в 09:51)
| | Что значит "убрал по ID"? И что "как"?
У самой таблицы нет ни начала, ни конца. Записи в ней лежат внавал. | |
|
|
|
|
автор: x09 (19.10.2006 в 10:15) |
|
|
для: Trianon
(19.10.2006 в 10:10)
| | Убрал ПОЛЕ id (В предыдушем месейдже недопечаталось)
Ну я чес слово не знаю как они там лежат, я в такие подробности пока не вдавался.
А имеется виду то что последняя запись должна выводится первой, предпоследнея второй и тд. | |
|
|
|
|
|
|
|
для: x09
(19.10.2006 в 10:15)
| | Представьте себе мешок с картошкой. Где в нем первая картофелина и где последняя?
Так и в таблице. Там нет первых и последних записей. И в базу они попадают как бог на душу положит. То, что по началу они видны в каком-то порядке, еще не значит, что этот порядок Вам кто-то гарантировал. Если Вам нужен порядок записей - будьте добры приложить какие-то усилия: - ввести автоинкрементный первичный ключ (обычно это поле id) , вставить столбец с датой добавления записи, и т.п. | |
|
|
|
|
|
|
|
для: Trianon
(19.10.2006 в 10:10)
| | это как в "Алисе" - "откусишь с одной стороны - вырастешь, откусишь с другой - уменьшишься".
а где у круглого гриба одна сторона и где другая? так и тут - человек хочет сделать сортировку
без критерия.
х09, для того, чтобы данные отсортировать, надо от чего-то отталкиваться. представьте себе,
что данные в базе лежат кое-как, безо всякого порядка (а так и есть по большому счету) - где
тот критерий, который решает, что за чем должно следовать? это id? это name? сначала надо
решить, по какому критерию вы формируете упорядоченный список, а потом уже менять его
порядок на обратный. | |
|
|
|
|
автор: x09 (19.10.2006 в 11:20) |
|
|
для: elenaki
(19.10.2006 в 10:17)
| | Спасибо за разъяснения, добавил поле time где записывается текушее время записи.
все работает выводит так как надо.
но есть еще вопрос.
а что если надо вывести скажет 5 записей.
т.е. все кол-во записей условно делим по 5 записей.
и нужно вывести сконца 5, потом следующие 5 итд...
реализовал через массив вот так
while($author=mysql_fetch_array($ath)){
$vibor= "<tr><td>".$author['name']."</td><td>".$author['password']."</td></tr>";
$tbrow[$i]= $vibor;
$i++;
}
|
а потом уже массив $tbrow[$i] лехко можно ыввести так как надо.
существуют ли др. вывриаты? | |
|
|
|
|
|
|
|
для: x09
(19.10.2006 в 11:20)
| | если вам надо выводить по 5 записей, нет смысла доставать сразу все записи. это называется
"постраничный вывод". ищите в поиске. идея в том, чтобы выбирать по 5 записей за раз, а
по ссылкам на следующие страницы передавать параметры для новой выборки. | |
|
|
|
|
автор: x09 (19.10.2006 в 12:13) |
|
|
для: elenaki
(19.10.2006 в 11:46)
| | Ну это не совсем постраничка. там немного другая идея ,но принцип такой-же.
я все в обшемто сделал. т.е се работает так как надо.
но се это сделано ,как я уже и грил выше через массив.
вот хотелось бы и узнать мож както подругому можно сделать.
тоетсь вытаскивать записи с такойто по такуюто прям из базы , без массива, ореентируясь на поле time | |
|
|
|
|
|
|
|
для: x09
(19.10.2006 в 12:13)
| | без id здесь будет сложнее..советую сделать с id, а не временем..
и толком скажи, ты хочешь разбивать записи по 5, чтобы человек перелистывал их, или тебе будет достаточно просто вывести последние пять записей, типо "ТОП 5".. | |
|
|
|
|
автор: x09 (19.10.2006 в 16:31) |
|
|
для: slonik
(19.10.2006 в 16:23)
| | принцим именно перелистывания.
но они все будут выведены на одну страницу.
ну скажет табличка с последними 5 записями, ниже табличка есче с 5,следующими записями итд...
вроде понятно объяснили...
или нет..? | |
|
|
|
|
|
|
|
для: x09
(19.10.2006 в 16:31)
| | Тогда нужно просто каким-то макаром сделать, чтобы шло завершение таблицы через 5 записей..и начинать новую таблицу и тд.. | |
|
|
|
|
|
|
|
для: slonik
(19.10.2006 в 17:03)
| | если все данные на одной странице, какое может быть перелистывание? у вас есть массив,
в котором все данные. рисуете начало таблицы, выводите первую пятерку в 5 строк, потом
проверяете, если счетчик цикла кратен 5, закрываете таблицу и рисуете новую. и так, пока
есть строки с данными. это как в другой теме с чередованием цветов... | |
|
|
|