Reply to this topicStart new topic
> Показване резултати 1-10 с продължение на следваща страница
cheeseus
публикация 27.01.2007г. в 15:44ч.
Коментар: #1


Новак
*

Група: Потребители
Съобщения: 34
Дата на регистрация: 30.10.2006г.
Потребител # 1 358





Имам нужда от помощ за написването на една заявка:

КОД
$result = mysql_query("SELECT * FROM newsystem ORDER BY newsid DESC limit 10",$connect);


това ще ми покаже последните 10 резултата, но аз искам да мога да покажа и останалите резултати, без първите 10, като потребителя цъкне на бутон "VIEW NEXT".

Знам много малко за PHP и MySQL, затова питам. Такъв бутон например ще работи ли?

КОД
echo "<a href=# onClick='<?php $result = mysql_query("SELECT * FROM newsystem ORDER BY newsid DESC limit 10,100",$connect); ?>' class=more >more news</a>"
Go to the top of the page
 
+Quote Post
oubless
публикация 3.01.2008г. в 15:42ч.
Коментар: #2


Новак
*

Група: Потребители
Съобщения: 1
Дата на регистрация: 3.01.2008г.
Потребител # 4 590




ЦИТАТ(cheeseus @ 27.01.2007г. в 16:44ч.) *
Имам нужда от помощ за написването на една заявка:

КОД
$result = mysql_query("SELECT * FROM newsystem ORDER BY newsid DESC limit 10",$connect);


това ще ми покаже последните 10 резултата, но аз искам да мога да покажа и останалите резултати, без първите 10, като потребителя цъкне на бутон "VIEW NEXT".

Знам много малко за PHP и MySQL, затова питам. Такъв бутон например ще работи ли?

КОД
echo "<a href=# onClick='<?php $result = mysql_query("SELECT * FROM newsystem ORDER BY newsid DESC limit 10,100",$connect); ?>' class=more >more news</a>"


Кода в onclick се изпълнява при клиента ( в браузъра на клиента ). Там не можеш да изпълниш PHP код. Би могъл да направиш PHP скрипт, който да е нещо от типа на (не съм сигурен дали долния код ще работи, *1 се ползва за да се подсигуриш че в това поле на заявката има цифра, а не нещо друго, иначе могат да ти вкарат цял фрагмент от SQL ако го сложиш директно в заявката ... мисля че има някакъв парсиращ метод, виж в php.net):
CODE
<?php
$con = some_function_to_get_connection();
$start=0;
$end = 10;
if( is_numeric( $_REQUEST['index_begin'] ) )
$start = $_REQUEST['index_begin']*1;

if( is_numeric( $_REQUEST['index_end'] ) && $_REQUEST['index_end']*1 - $start <= 100 ) //максимален брой на веднъж
$end = $_REQUEST['index_end']*1;

else
$end = $start+10;


$result = mysql_query("SELECT * FROM newsystem ORDER BY newsid DESC limit $start,$end",$connect); /* заблежи че са " а не ' */
// попълване на таблица или за каквото друго ти трябват тези данни от таблицата

?>


и след това
CODE

<script>
function showResults(start,end){
document.forms[0].action="myscript.php";
document.forms[0].index_begin.value=start;
document.forms[0].index_begin.value=end;
document.forms[0].submit();

}
</script>

<form>
<input type="hidden" name="index_begin" value="0" />
<input type="hidden" name="index_end" value="10" />
</form>
...
<a href="#"
onClick='showResults(10,100)'
class=more >

ТОВА ЩЕ НАПУСНЕ СТРАНИЦАТА НА КОЯТО СИ !!!, ако искаш това да не става има няколко възможности:
  • да държиш всички данни при клиента, и просто да ги сменяш ( лоша идея като цяло, води до по-голямо време за изтегляне на страницата и я прави по тежка, а и би трябвало да се справяш добре с javascript за целта)
  • да препращаш към същата страница ( т.е. myscript.php да е била текущата страница, с полетата index_begin и index_end равни съответно на 0 и 10 ( при 1-во зареждане )
  • да използваш асинхронно обръщение към сървъра ( виж в google: AJAX, Rich Internet Applications )

Аз лично ти препоръчвам като за начало да се насочиш към 2-рото.
Надявам се с това да съм ти помогнал rolleyes.gif
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

 

RSS Олекотена Версия Сега е: 09:04 - 25.08.2026г.

Калдейта Ком ЕООД - © 2003-. Всички права запазени.