new mysqli mit chr($i) zu new pdo

Ein Select in einer Schleife ist selten eine gute Idee und in deinem Fall auch nicht nötig. Was du brauchst nennt sich Gruppenwechsel, siehe Klick mich

Hmm... wie oft erwähnt bin kein PHP-ler
Wenn ich das richtig verstanden habe, also im Sinne von:
SQL ändern auf:
SQL:
SELECT id, username, Left(username, 1) As FirstChar FROM tabelle ORDER BY username
einmal abfeuern/Daten abholen, DANN erst in einer Schleife wie im Link für Gruppenwechsel zuordnen?
Und das Kriterium für den Gruppenwechsel in meinem Beispiel wäre eben "FirstChar"
 
SQL:
SELECT id, username FROM tabelle ORDER BY username
Das reicht schon, man kann ja mit PHP den ersten Buchstaben vom Username prüfen. Ansonsten hast du das richtig verstanden.

Grobes Beispiel:

PHP:
$char = "";
while (....)
{
    if (substr($username, 0, 1) != $char)
    {
        if ($char == "")
        {
           // Neue Gruppe starten
        }
        else
        {
            $char = substr($username, 0, 1);
       
            // Alte Gruppe beenden
            // Neue Gruppe starten
       }
    }
   
    // Hier die Ausgaben
}
// Hier die letzte Gruppe schließen
 
Zuletzt bearbeitet:
SQL:
SELECT id, username FROM tabelle ORDER BY username
Das reicht schon, man kann ja mit PHP den ersten Buchstaben vom Username prüfen. Ansonsten hast du das richtig verstanden.
Bei solchen Sachen versuche ich immer so wenig wie möglich vom Frontend ausführen zu lassen, einfach dem geschuldet, dass es vom Backend meist deutlich schneller ausgeführt wird.
Liegt daran, dass die Leute, die das Backend programmiert haben, deutlich mehr Ahnung haben als ich :D

Hab da schon die skurrilsten Sachen gesehen, wo ich immer nur den Kopf schütteln konnte.
Und die Leute waren dann immer erstaunt, wenn ich sie in Fragen Performance im Staub zurück gelassen habe....

Klar, bei nur ein Paar Datensätzen macht es keinen Unterschied, ist aber halt ne persönliche Marotte von mir
 

Neue Beiträge

Zurück