Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 06:57 21.09.24 
Компютри и Интернет
   >> PHP
Всички теми Следваща тема *Кратък преглед

Тема Kak stava tova?нови  
Авторbob4o (Нерегистриран)
Публикувано18.03.02 09:24



Zdraveite:-)
Imam slednia vapros. Imam tablica v, koyato imam 20 zapisa.Iskam da gi izvleka ot bazata danni po 5 broq. Sled izvlichaneto na parvite 5 zapisa da mi se poyavyva vazmojnost za izbor i na sledvastite zapisi(Nesto podobno na tova v tozi forum).
Predvaritelno blagodarya za pomosta.



Тема Re: Kak stava tova?нови [re: bob4o]  
Авторnewbie (Нерегистриран)
Публикувано18.03.02 09:30



mi tva si zavisi ot bozata danni.
naprimer ako si s mysql moje d apolzvash LIMIT
select * from tablename limit 5



Тема Re: Kak stava tova?нови [re: newbie]  
Автор dune2 (познат)
Публикувано18.03.02 09:51



select * from tblname limit 0,5;
select * from tblname limit 5,5;
select * from tblname limit 10,5;
select * from tblname limit 15,5;

kydeto 0,5,10,15 sa ti start positions.
t.e. ot koj zapis natatyka da ti izkara rezultatite

a 5 ti e broq rezultati, koito da ti pokaje ot tozi zapis natatyka.



Тема Re: Kak stava tova?нови [re: newbie]  
Авторbob4o (Нерегистриран)
Публикувано18.03.02 09:56



Tova e yasno, che stava taka.Problema e v tova, che kato tragna da vikam sledvastite 5 zapisa, otmestvaneto koeto sam zadal me vrasta pak na parvite 5 zapisa, a ne na sledvastite 5, t.e select * from tablename limit $offset,$limit , kadeto za $offset=0 ,a $limit=5
Sled kato tragna da izvlicham sledvastite 5 zapisa se vrastam otnovo na parvite 5, kato opitite mi da uvelicha $offset s 5 edinica za momenta se okazvat neuspeshni:-(



Тема Re: Kak stava tova?нови [re: bob4o]  
Автор dune2 (познат)
Публикувано18.03.02 10:02



ami.. ne znam kak go pravish
no $offset+5;
bi trqbvalo da ti svyrshi rabota..
vij da ne bi da go pravish vyv funkciq.. i $offset ne ti e global..
ili vij dali izobshto go predavash ot predishnata stranica.

ako paste-nesh malko ot koda moje bi shte uspeem da ti pomognem.. na sliapo e trudno.. priznavam :)



Тема Eto go koda:-)нови [re: dune2]  
Автор An1lD (anyone)
Публикувано18.03.02 19:12



Eto go koda s malki oryazvania.
<?php

$limit=5;
$offset=0;


$query = "SELECT * from table_name LIMIT $offset,$limit" ;
$count_row="SELECT count(*) FROM table_name";


if(!($result=mysql_db_query($DB, $count_row)))
{
DisplayErrMsg(sprintf("internal error %d : %s\n", mysql_errno(), mysql_error()));
exit();
}
list($total_rows) = mysql_fetch_array($result);

if ($offset > 0)
{
print "<a href=\"proba.php?offset=".($offset-$limit)."\">Previous Entries</a> ";
}
if ($offset+$limit < $total_rows)
{
print "<a href=\"proba.php?offset=".($offset+$limit)."&limit=".($limit+5)."\">Next Entries</a>";
}

?>

Приятелчета сте вие...


Тема Re: Eto go koda:-)нови [re: An1lD]  
Автор bofh (°) (_) (°)
Публикувано18.03.02 19:29



if((int)$limit="") $limit=0;

ili oshte po dobre

function is_valid_limit($limit) { return ($limit>=0 && $limit<=5); }

if(is_valid_limit($limit)) $limit=0;

zashtoto ti taka na vsqko izvikvane na fail-a slagash tvyrdi stoinosti na limit i offset

bofh


Тема Re: Kak stava tova - спомени от бъдещето?нови [re: bob4o]  
Автор salle (Един такъв)
Публикувано18.03.02 20:18



Или как се прави "това" с MySQL 4.x

SELECT SQL_CALC_FOUND_ROWS <нещо си> FROM <и така нататък> LIMIT 0, $rows;

SELECT FOUND_ROWS();

Взимаш резултата и го използваш по-нататък. Съдържа общия брой т.е. без LIMIT

Правиш го само "първия път", по-нататък както и във всички други примери използваш

SELECT .... LIMIT $offset, $rows;

Нещо в стил:

<?
...

if (!isset($found_rows))
{
/* Първо изпълнение на заявката. */

/* Предполагайки, че искаш първия път да започнеш от 0*/
$offset = 0;

$res = mysql_query("SELECT SQL_CALC_FOUND_ROWS .... LIMIT $offset, $rows");

$res2 = mysql_query("SELECT FOUND_ROWS()");
$found_rows = ....;

...
}
else
{
/* Всяко следващо изпълнение.
Вкл. ако е от <<Prev N и стигнеш до 0,N !!!
*/
$res = mysql_query("SELECT .... LIMIT $offset, $rows");

...
}


?>


MySQL 4.0.1 официално е alpha версия, т.е. в процес на разработка. Иначе работи доста стабилно, а и има някои друге нещица дето ускоряват значително работата на моменти но -alpha така или иначе означава - пробвай на своя отговорност

Linux is like a wigwam - No Windows, No Gates, Apache inside

Редактирано от salle на 18.03.02 20:19.



Тема 10x:-) [re: bofh]  
Авторbob4o (Нерегистриран)
Публикувано20.03.02 16:03



Blagodarya za pomosta:-))




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.