# Beim Auslesen aus MySQL alphabetisch sortieren



## folio (19. November 2005)

Hi,

ich hab eine kleine MYSQL-Tabelle mit nur zwei Spalten: Marke und Modell.

Zur Zeit sieht das Auslesen so aus:


```
<h3>Vorhandene Modelle</h3>
<table><tr><td width="100px">Marke</td><td>Modell</td></tr>
<?
$vorhanden_query = tep_db_query("SELECT marke, modell FROM $tabellenname ORDER BY marke DESC ");
// print(mysql_num_rows($vorhanden_query));
for($i=0;$i<mysql_num_rows($vorhanden_query);$i++)
{
	$ergebnis[$i]=mysql_fetch_array($vorhanden_query);
}

for($i=0;$i<mysql_num_rows($vorhanden_query);$i++)
{
	print('<tr><td style="background-color:#ffcc00; padding:3px;">' . $ergebnis[$i][marke] . '</td><td>' . $ergebnis[$i][modell] . '</td></tr>');	
}

?>
```

Die Einträge erscheinen in der Reihenfolge in der sie der Datenbank hinzugefügt worden sind! Ich möchte sie jedoch nach marke alphabetisch sortieren.

Wie kann ich das machen?


----------



## Gumbo (19. November 2005)

Wieso machst du es so umständlich?
	
	
	



```
<?php

	$query = "
		SELECT
		        `marke`,
		        `modell`
		  FROM
		        `".$tabellenname."`
		  ORDER BY
		        `marke` DESC
		";
	$result = tep_db_query($query);
	// echo mysql_num_rows($result);
	while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) {
		echo '<tr><td style="background-color:#ffcc00; padding:3px;">'.$row['marke'].'</td><td>'.$row['modell'].'</td></tr>';
	}

?>
```

?>


----------



## folio (19. November 2005)

Hi,

der Code sieht schick aus und funktioniert natürlich auch!

vielen dank


----------



## folio (20. November 2005)

Hab doch noch eine Frage:

Wie kann ich denn die Modelle untereinander sortieren?

Das heißt wenn es zum Beispiel von Mercedes A-Klasse, C-Klasse und E-Klasse gibt und die in falsche Reihenfolge eingegeben wurden, aber trotzdem in der Reihenfolge erscheinen sollen wie ich sie grad aufgezählt habe!


----------



## Gumbo (20. November 2005)

Einfach die Abfrage erweitern:
	
	
	



```
<?php
	$query = "
		SELECT
		        `marke`,
		        `modell`
		  FROM
		        `".$tabellenname."`
		  ORDER BY
		        `marke` DESC,
		        `modell` DESC
		";
	…

?>
```


----------



## hpvw (20. November 2005)

folio hat gesagt.:
			
		

> Wie kann ich denn die Modelle untereinander sortieren?


Das sollte eigentlich mit der MySQL-Referenz herauszufinden sein.
	
	
	



```
... ORDER BY `einFeld`, `einAnderesFeld`
```
Gruß hpvw


----------

