php.de

Zurück   php.de > Webentwicklung > HTML, Usability und Barrierefreiheit

HTML, Usability und Barrierefreiheit Themen rund um Textauszeichnung, Formatierung, Barrierefreiheit und Usability.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.12.2007, 14:49  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard

Ich kann das Ganze leider nur Auszugsweise posten, da der Großteil ohne mein Framework nicht wirklich funktioniert

Ersteinmal brauchst du einen Beispiel JSON String:

Code:
echo '
{
"ResultSet":
{
"Result":
[
{
"id": "2",
"name": "A",
"email": "aac@marbec.de",
"lastonline": "1234567890"
},
{
"id": "1",
"name": "B",
"email": "cde@marbec.de",
"lastonline": "1234567890"
},
{
"id": "3",
"name": "C",
"email": "xyz@marbec.de",
"lastonline": "1234567890"
}
]
}
}
Den String hole ich mir via AJAX und wandle den dann in ein Objekt um:

Code:
json_object = eval("(" + xhttp.responseText + ")");
Aus diesem Objekt extrahierst du jetzt den Array mit den Daten:

Code:
var rows = json_object.ResultSet.Result;
Den Array rows kannst du jetzt über die Sortierfunktion nach einer Spalte sortieren:

Code:
Array.prototype.sortAsc = function(intCol) {			
for(var i = 0; i < this.length - 1; i++) {
for(var j = (i + 1); j < this.length; j++) {
if(this[j][intCol] < this[i][intCol]){
var arrHelp = this[i];
this[i] = this[j];
this[j] = arrHelp;
}
}
}
}
Code:
rows.sortAsc("id"); //Sortiert hier nach der Spalte id
Jetzt kannst du den Array rows einfach via for Schleife ausgeben und auf die Inhalte (z.B. row.id) zugreifen und in einer Tabelle speichern

Hoffe ich konnte dir damit etwas helfen

mfg
Link
GSJLink ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.12.2007, 13:24  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard

Ok das mit dem Sortieren funktioniert jetzt übrigends, du darfst numerische Werte halt einfach nicht in Anführungszeichen in den Array schreiben, dann behandelt der die ganz normal als Zahlen und sortiert die richtig.

Btw: ich hab auch schonmal nen kleinen Stresstest gemacht. Ich bin bis 1000 Einträge hoch gegangen. Laden ist kein Problem (ist ja nen lokaler Server xD), beim Sortieren etc. dauert das ganze dann aber schon etwas länger (~ 5sek). Hab übrigends nen T7200 im Notebook drin (2x2GHz). Bei nem anderen PC mit nem A64 3000+ dauerts ähnlich lange. Ist aber noch vertretbar, dafür dass man in der Zeit nichts an Daten neuladen muss.

Und dann bräucht ich noch ne kleine Empfehlung. Macht es Sinn die Suchfunktion über JS zu machen (also auch den JSON Array zu durchsuchen) oder sollte man das dann doch lieber via SQL machen?


mfg
Link
GSJLink ist offline   Mit Zitat antworten
Alt 09.12.2007, 18:18  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

5sek? Naja, da bekommt man schon nen nervösen Zeigefinger.
nikosch ist offline   Mit Zitat antworten
Alt 09.12.2007, 18:24  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard

Na gut man muss die 5 sek halt in Relation sehen. Wenn ich jetzt z.B. nur 100 Einträge habe und die sortieren möchte, oder durchblättern, geht das mit der Methode wesentlich schneller als wenn man alles via PHP neuladen müsste. Außerdem gibts da nur eine Datenbankabfrage, was bei Multiuser Nutzung auch von Vorteil sein kann

mfg
Link
__________________
"Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"
GSJLink ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
sortieren nach datum, daten vor 1.1.1970 moose Datenbanken 2 21.07.2008 10:50
Daten beliebig sortieren Das Devil Datenbanken 7 29.03.2008 17:58
MYSQL daten bei der ausgabe sortieren DrWeb Datenbanken 2 29.07.2006 10:09
Daten sortieren? Smily0412 Datenbanken 3 10.03.2006 21:09
Daten nach Zahlen sortieren LordAvalon Datenbanken 10 12.12.2005 13:05
[Anfänger] Daten Sortieren und Filtern mit Mysql PHP Tipps 2007 7 04.11.2005 23:30
Daten eintragen und auslesen Rettungsdackel Datenbanken 0 14.09.2005 16:29
Daten aus File sortieren Simon9990 PHP Tipps 2005-2 12 26.07.2005 09:06
Daten sortieren ? nsane PHP Tipps 2004-2 3 29.12.2004 10:44
Daten sortieren und zusammenfassen ? PHP Tipps 2004-2 2 14.12.2004 20:08
Daten Sortieren aus meherern mySQL tabellen PHP Tipps 2004-2 1 12.12.2004 18:22
Daten einer Textdatenbank nach Datum sortieren PHP Tipps 2004-2 10 20.11.2004 11:29
sortieren und ordnen von daten aus DB?! PHP Tipps 2004 2 05.11.2004 08:58
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
[Erledigt] mysql Daten abfragen und sortieren von b Datenbanken 2 11.06.2004 09:15

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php xml sortieren

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:19 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.