|
Сформулировать SQL-запрос,чтобы записи выдавать порциями
|
|||
---|---|---|---|
#18+
Всем,Здравствуйте! Вопрос такой: Есть таблица, 30000 записей,выдавать на экран надо порциями по 50 записей. (без TMP,в оперативной памяти) Создаем запрос :Select * from media limit N N=50+50+50.... Как правильно задать итерацию в запросе и передавать номер страницы (чтобы в конце каждой страницы выдавать строку: 1 2 3 4 .. next) Заранее благодарна. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2003, 13:51 |
|
Сформулировать SQL-запрос,чтобы записи выдавать порциями
|
|||
---|---|---|---|
#18+
когда то я делал ето так... здесь принцип а дальше нужно думать... <table border="0" width="700" border="0" cellpadding="2" cellspacing="0" align="center"> <tbody> <tr> <td class=text_h align="center" colspan="2"> Ïðîñìîòð ëåíòû íîâîñòåé... </td> </tr> <tr> <? $query = "SELECT id FROM $table ORDER by id DESC"; $result = MYSQL_QUERY($query); $kol_str = mysql_num_rows($result); if (bcmod($kol_str,10)==0) { $k_l=bcdiv($kol_str,10); } else { $k_l=bcdiv($kol_str,10)+1; }; $lim=$l*10-10; $query = "SELECT date,news FROM $table ORDER by id DESC LIMIT $lim,10"; $result = MYSQL_QUERY($query); while ($row = mysql_fetch_object ($result)) { ?> <td width="90" class=n_date align="center" valign="top"><?echo $row->date;?></td> <td width="600" class=n_body><?echo $row->news;?></td> <tr> <td></td> <td bgcolor="#9966CC" height="1"></td> </tr> <? }; ?> <tr> <td colspan="2" align="right"><a href="#top" onClick="scrollTo(0,0); return false;"><img src="../img/str_up.gif" border="0" alt="Ââåðõ"></td> </tr> <tr> <td colspan=2 align=center>Ñòðàíèöà <?echo $l?></td> </tr> <tr> <td colspan=2 align="center">=<? for($i=1;$i<=$k_l;$i++) { echo "<a href=?l=$i class=link>$i</a>="; }; ?> </td> </tr> </tbody> </table> Felix ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2003, 14:59 |
|
Сформулировать SQL-запрос,чтобы записи выдавать порциями
|
|||
---|---|---|---|
#18+
Феликс,Большое спасибо за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2003, 06:11 |
|
Сформулировать SQL-запрос,чтобы записи выдавать порциями
|
|||
---|---|---|---|
#18+
Подскажите,пожалуйста,ссылку ,где можно прочитать про оператор LIMIT В стандартных описаниях я не нашла Заранее благодарю. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2003, 09:14 |
|
Сформулировать SQL-запрос,чтобы записи выдавать порциями
|
|||
---|---|---|---|
#18+
http://www.mysql.com/doc/ru/SELECT.html на русском http://www.mysql.com/doc/en/SELECT.html на инглише.... начиная со строк "Выражение LIMIT может использоваться для ограничения количества строк, " Felix ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2003, 09:52 |
|
Сформулировать SQL-запрос,чтобы записи выдавать порциями
|
|||
---|---|---|---|
#18+
Такой селект не работает $query = "SELECT date,news FROM $table ORDER by id DESC LIMIT $lim,10"; А если .... LIMIT 10 работает ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2003, 10:24 |
|
Сформулировать SQL-запрос,чтобы записи выдавать порциями
|
|||
---|---|---|---|
#18+
a $lim определена???????? и вообще то я для примера бросил... у меня работало и ето подогнано под то что мне было нужно.... просто я переписывавть не хотел... в мануале четко написано Код: plaintext 1. 2. 3. 4. 5. 6.
вывод.... не определена $lim Felix ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2003, 11:27 |
|
Сформулировать SQL-запрос,чтобы записи выдавать порциями
|
|||
---|---|---|---|
#18+
Феликс,спасибо за объяснение. Следующая ситуация: Селект выдает на экран 2 -е последних записи, ссылка не подсвечивается как гиперссылка Вид на экране такой "1 <a href="asu_admin.php?str=10 class=link>2" " вместо "1 2" ______________________________________________________________________ isset($page); isset($page_number); isset($N); isset($i); //$p-кол-во страниц for($i=1;$i<=$p;$i++) { $page=10; // заданное количество записей на экране $page_number=$i*10;// проверяем текущее состояние $N=($i*10)-10; // номер записи с какой делать SELECT if($page_number != $page) { "SELECT ... limit $N,10 //выдача 10 записей и т.д. echo"<a href=\"asu_admin.php?str=$N class=link>$i </a>"; }else{ echo"$i ";} } _________________________________________________________________ ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2003, 13:45 |
|
Сформулировать SQL-запрос,чтобы записи выдавать порциями
|
|||
---|---|---|---|
#18+
Феликс,извеняюсь,логика нарушена в примере Осталось,чтоб гипперссылка подсветилась Правильнее так: for($i=1;$i<=$p;$i++) { $N=($i*10)-10; "SELECT ... limit $N,10 if($page_number != $page) { echo"<a href=\"asu_admin.php?str=$N class=link>$i </a>"; }else{ echo"$i ";} } ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2003, 14:23 |
|
|
start [/forum/topic.php?fid=47&tid=1855647]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 176ms |
0 / 0 |