Probleem Zoekfilter + Ajax

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Patrick S

patrick S

06/01/2014 17:10:49
Quote Anchor link
Hallo,

Ik zit met het volgende probleem.

Ik heb een pagina met een tabel waarin verkoop orders staan.
Boven het tabel zit een zoekfilter en dit zoekfilter stuurt via ajax de ingevulde velden naar de server, en het resultaat wordt weer in de tabel geplaatst.
Op de server word dan een zware query uitgevoerd met 7 joins.

Wanneer de zoekfunctie niet word gebruikt dan staan de orders binnen 3 seconden in de tabel. (50 rows)

Maar wanneer de zoekfunctie wel wordt gebruik dan duurt het 10 seconden of langer en bij gebruik van internet explorer lijkt lijkt de browser vast te lopen(Dit lijkt op een render probleem).
Dit gebeurd meestal als het gaat om meer dan 100 rows.

Heeft iemand een idee hoe ik dit kan oplossen? Ik zat zelf te denken om de resultaten op te splitsen in pagina's maar het probleem is dan dat ik 2 x die zware query moet gaan draaien. Omdat je eerst het aantal rows moet weten om het aantal pagina's te bepalen. En vervolgens moet de query nogmaals gedraaid worden om de resultaten op te halen.

Alvast bedankt.

Met vriendelijke groet,

Patrick
Gewijzigd op 06/01/2014 19:32:48 door Patrick S
 
PHP hulp

PHP hulp

23/12/2024 08:25:41
 
- Ariën  -
Beheerder

- Ariën -

06/01/2014 17:31:14
Quote Anchor link
Beste Patrick, meerdere mensen zoek een oplossing op het forum voor hun problemen. Dus bij deze het verzoek om je titel aan te passen naar iets wat je probleem uitlegt. Dit kan door je bericht te wijzigen.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

06/01/2014 17:33:37
Quote Anchor link
Wat gebruik je voor de zoekfunctie? En heb je indexen staan op de velden waarop je zoekt?

Voor het ophalen van het aantal rijen kan je ook
Code (sql)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT COUNT(*) FROM ..........

En dan op de plaats van de puntjes de rest van de query waarmee je de daadwerkelijke gegevens ophaalt.
 
Patrick S

patrick S

06/01/2014 19:35:26
Quote Anchor link
Ger Bedankt voor je reactie.
Aan COUNT had ik nog niet gedacht.. Bedankt.

Ik heb de query sneller kunnen maken. In Chrome en Firefox word alles goed ingeladen.
Alleen Internet Explorer loopt vast wanneer er veel rijen aan de tabel worden toegevoegd.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

06/01/2014 19:57:56
Quote Anchor link
Hoe leeg je de tabel en vul je hem weer?
IE kan er niet zo goed tegen als je de innerHTML van de tabel(of tbody) zelf aanpast, dan kan je beter een div er omheen zetten en daar de gehele tabel inladen.
 
Patrick S

patrick S

06/01/2014 20:03:40
Quote Anchor link
Er staan meerdere tbody's die verwijder ik op deze manier.
$('#sales_table').find('tbody').remove();

En vul de tabel weer met tbody's
$('#sales_table').find('thead').after(data);
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

06/01/2014 20:28:39
Quote Anchor link
Dat kan iets sneller
Code (js)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$("#sales_table tbody").remove();
// voor het vullen
$("#sales_table thead").after(data);

Maar nogmaals, in IE kan je beter de gehele tabel als html inladen.
 
Patrick S

patrick S

06/01/2014 20:30:41
Quote Anchor link
Ger nogmaals dank.

Ik ga eens kijken wat er gebeurd als ik de hele tabel doe.

Bedankt.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.