|
Прелистване страница по страница
Запитване от датенбанката можем да поместин на няколко страници и да ги прелистваме страница по страница Когато резултатът от запитването към някоя Датенбанка е много голям трябва да се прехвърля на няколко страници както става при търсачките.Следният код прави нобходимите линкове [първа страница], [една страница назад], [1 2 3 ...], [една страница напред], [последна страница].С променливата $Редове_за_страница се определя колко реда за страница трябва да се показват. CODE
Когато скриптът се извика за първи път,трябва за $init_position да се зададе стойност 0 .При всяко следващо завъртане $init_position има вече зададена стойност.С тази стойност се задава на SQL-Server от коя позиция нататък трябва да изкарва дата. CODE
След като напръвите запитването можете с "limit $init_position , $lines " да определите ,от кой ред да ви изкара информация ,и колко информация да бъде изкарана.Важен в този случай е редът "$number=mysql_num_rows($result1)".Така определяте ,колко изречения изпълняват условието.Оттук се определя по-късно на колко страници да се разпредели информацията. CODE
Вече имаме желания result за една страница на екрана.Сега трябва да изкараме линковете към другите. Само когато $init_position е по-голямо от 0 ,сте се поже линкът към [първа страница],[страница назад].Ако $init_position е равна на 0 ,значи първата страница вече е показана и двата линка нямат смисъл. За да определиме линка [страница назад] ,трябва да се определи началната позиция на предната страница.Това може да доведе до стойност по-малка от 0 ,което ще бъде грешка ,затова тази грешка трябва по някакъв начн да се отстрани Стойност за $back < 0 може да има,ако кликнете на [последната страница] и ако се връщате назад страница по страница.При [последната Страница] не излиза остатъка на информацията ,а една пълна страница с последните 20 inputs. CODE
Сега остава да направим линковете "1 2 3 4 ..." , за да може извикваме желаната от нас страница.Затова първо трябва да се сметне,колко страници са ни необходими,за да може да изкараме ресултатът ,който е запитан.Във всички случаи е много вероятно,да не излезе точно число страници .Това сте означава че сте трябва да се вкара допълнително място на допълнителна страница. С условието ($number% $lines) се определя , дали имаме остатък.Ако имаме остатък ,сте трябва да увеличим броя на страниците с една. CODE
Ние знаеме колко страници сте имаме и можем да направим съответните линкове .Променливата $fwd има за стойност стойноста на $init_position за съответния link. CODE
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||









