Kezdőoldal » Számítástechnika » Weblapkészítés » Ajax csak űrlapokkal működik?

Ajax csak űrlapokkal működik?

Figyelt kérdés
Tudom hülye kérdés, mert le kell először tiltani az űrlap elküldését, de akkor hogyan oldjam meg? Fejlesztek egy oldalt, ahová lehet posztolni. Addig megírtam PHP-ban, hogy csak az első 10 posztot jelenítse meg, de azt szeretném, hogyha a felhasználó rákattint a "Több" buttonra akkor jelenítse meg a következő 10-et és így tovább. Nem használok semmilyen frémvörköt, saját MVC-m van. Hogyan oldjam meg?

2015. aug. 10. 23:44
 1/6 anonim ***** válasza:

Nem kell letiltani. És nem csak űrlapokkal működik. AJAX kérésben azt küldesz, amit akarsz.


A konkrét feladatra:

1. Eltárolod egy JS változóban, hol tartottál.

2. A "Több" gomb ez alapján lekéri a következő 10 elemet AJAX-al, majd frissíti az 1.-ben említett változót.

3. A kérésben tehát nyilván szerepel legalább egy offset vagy egy oldalszám, ez alapján adja vissza a PHP a megfelelő elemeket.

2015. aug. 10. 23:53
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:

Hát egyenlőre még csak ilyen:


<?php

$num = count($table);

$n = $num-1;

$count = 10;

for (

$num = count($table),

$n = $num-1,

$count = 10;


$n >= 0 && $num - $n <= $count;


$n--;

){

?>

//Posztok megjelenítése


<?php

}

?>

2015. aug. 11. 00:01
 3/6 A kérdező kommentje:
Ooopsz, a változókat nem kétszer hoztam létre, csak elírtam... :P
2015. aug. 11. 00:01
 4/6 anonim ***** válasza:
Hát ebben egy ép blokk nincs :D
2015. aug. 11. 00:02
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:
Ja de a for jó, bocs, én vagyok már hulla. :)
2015. aug. 11. 00:03
Hasznos számodra ez a válasz?
 6/6 Drone007 ***** válasza:

Elég zavaros már a ajaxod php feldolgozó része is. Javascripttel legalább a pozíciót át kéne adni a php-nek, hogy tudja honnan kellene folytatni a megjelenítést. Ha nem adsz át semmit, akkor legalább session-ben tárolj egy countert, amit a php emelgethet.

pl:


js (jQueryvel):

$('#tobb').click( function() {


$.ajax({

url: "feldolgozo.php",

datatype: "html",

success: function(adat) {

$("#listakontener").html(adat);

}

});


});


feldolgozo.php:

<?php

session_start();

$from = $_SESSION["utolsobejegyzes"];

... adatok lekérdezése "LIMIT $from, 10" a végén ...

... adatok kiolvasása és kijelzése html struktúrában, amit majd visszakap a script ...

?>


Nagyjából. Nem írtam le mindent, dolgozz meg érte te is.

A másik módszer, hogy a több gomb-ban elrejtesz egy értéket pl data-lastnum="10", és az ajax híváskor get-ként vagy post-ként a session helyett ezt adod át a feldolgozónak ( $("#tobb").data("lastnum") ). Ilyenkor figyelni kell, hogy a gomb ezen értéke minden meghíváskor (adatkijelzéskor) módosuljon megfelelően.

2015. aug. 11. 12:23
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!