php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.02.2007, 13:24  
Benutzer
 
Registriert seit: 16.10.2004
Beiträge: 90
freitz
Standard nach erstem buchstaben-sortiert ausgeben

hallo,
ich stehe vor folgendem Problem:

ich möchte eine Namensliste aus einer MySQL Datenbank auslesen. Es soll aber nach Anfangsbuchstaben gruppiert sein, um folgende Ausgabe zu ermöglichen:
Zitat:
a
----------------------
Alf
Alex
Anton

b
---------------------
Bastian
Bernhard

d
---------------------
Daniel
Dieter
Dominik

....
Wie kann ich das am besten realisieren ohne für jeden Buchstaben eine einzelne Abfrage zu machen mit WHERE name LIKE "x%" ?

mfg Alexander
freitz ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 02.02.2007, 13:40  
Erfahrener Benutzer
 
Registriert seit: 17.07.2006
Beiträge: 140
louis
Standard

Hi Freitz,

mal angenommen dein Feld heisst 'name' in der Tabelle 'user'. Dann kannste erst mal den Query so machen:

PHP-Code:

select name
substring(name11) as anfangsbuchstabe from user order by name 
In deinem PHP Code zur Ausgabe machste dann in etwa folgendes (mal so ungetestet hingetippert):

PHP-Code:
...Daten von DB holen...

$anfangsbuchstabe '';
$letzter_anfangsbuchstabe='';

while (
$row mysql_fetch_array($result)) {

   
$anfangsbuchstabe $row['anfangsbuchstabe'];
   if (
$anfangsbuchstabe != $anfangsbuchstabe_last)
          echo 
$anfangsbuchstabe "
"
;
   echo 
$row['name']."
"
;
   
$anfangsbuchstabe_last $row['anfangsbuchstabe'];
   


Wobei das ganze natürlich nur die Buchstaben ausgibt, für die es in deiner Tabelle auch Namen gibt...ansonsten müsstest du dir noch ein zusätzliches Array mit allen Buchstaben anlegen und mit hineinwurschteln...aber das schaffst du selbst
__________________
mfg louis
louis ist offline  
Alt 02.02.2007, 17:09  
Benutzer
 
Registriert seit: 16.10.2004
Beiträge: 90
freitz
Standard

exzelent !!!

vielen Dank, genau das was ich gesucht habe.
__________________
mgtt 2007
freitz ist offline  
Alt 02.02.2007, 17:35  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Bissl umständlich deine Lösung.

Einfach den normalen Query machen wo alle User ausgelesen werden
PHP-Code:
<?php
$query 
mysql_query("SELECT name FROM user ORDER BY name");

$first_letter '';
while (
$row mysql_fetch_array($query) {
    if (
$first_letter != $row['name']{0}) {
        echo 
'
Anfangsbuchstabe: '
.$row['name']{0}.'
'
;
        
$first_letter $row['name']{0};
    }
    echo 
$row['name'].'
'
;
}
?>
Flor1an ist offline  
Alt 03.02.2007, 09:45  
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

naja ist ne stilfrage. das in sql zu machen ist eigentlich konsequenter.
nikosch ist offline  
 


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
Nach erstem Buchstaben aktion max-dhom PHP Tipps 2008 4 28.05.2008 22:03
Buchstaben mit fixen Pixelbreiten in Arrays verpackt rezix PHP Tipps 2008 11 06.03.2008 16:12
Ordnerstruktur alphabetisch sortiert als XML ausgeben lindner PHP Tipps 2008 7 15.10.2007 18:50
(MySQL) Ergebnisse Zählen und sortiert ausgeben... Hawk Datenbanken 5 04.03.2007 17:08
Liste nach Buchstaben und Sonderzeichen (!) sortiert odaa PHP-Fortgeschrittene 8 11.10.2005 16:26
Daten nach Datum sortiert ausgeben LordAvalon Datenbanken 11 11.10.2005 16:24
Einträge nach Anzahl sortiert ausgeben Riot Datenbanken 6 19.09.2005 19:13
Buchstaben ausgeben PHP Tipps 2005-2 2 02.09.2005 02:12
Daten aus 10 Tabellen sortiert ausgeben Sirke Datenbanken 3 02.08.2005 11:50
Sortiert nach Differenz 2er Datensätze ausgeben Datenbanken 2 24.07.2005 12:36
Mysql: Daten nach Anfangsbuchstaben Sortiert Ausgeben PHP Tipps 2005-2 5 09.07.2005 15:56
[Erledigt] Datenbank sortiert ausgeben! Datenbanken 4 23.03.2005 12:49
Verzeichnis -> read() sortiert ausgeben Unbekanntes_Pferd PHP Tipps 2005 9 30.01.2005 20:39
Datenbankeinträge sortiert ausgeben lassen PHP Tipps 2004 3 22.10.2004 22:10
Liste nach Buchstaben geordnet PHP-Fortgeschrittene 2 07.10.2004 09:52

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php liste ausgeben nach buchstaben, php tabellen ausgeben nach buchstaben sortiert, php namensliste nach anfangsbuchstaben sortiert, mysql ergebnisse nach anfangsbuchstabe

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:41 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.