Daten mit sort in eine Reihenfolge bringen

rml

Grünschnabel
Ich habe eine PLZ Abfrage erstellt. Das ganze funktioniert bisher prima. Das Problem ist, das das ganze nach den plz der Tabelle plz (splz) sortiert wird. Nun möchte ich das ganze allerdings nach
Code:
$daten[plz]
aufsteigend sortieren und dachte das ganze ist mit SORT_NUMERIC hinzukriegen. Ich möchte das ganze in die while schleife einbauen?
Weiß jemand hilfe: Ich hänge mein script an:

Code:
$ergid=mysql_query("SELECT * FROM plz  WHERE ($eingabe BETWEEN plz.von AND plz.bis)") ;
$test=mysql_fetch_row($ergid);
if(!$test){
	$ergid=mysql_query("SELECT * FROM splz  WHERE ($eingabe BETWEEN splz.von AND splz.bis)");
	$adr=sadresse;
	}
else{
	$ergid=mysql_query("SELECT * FROM plz WHERE ($eingabe BETWEEN plz.von AND plz.bis)");
	$adr=adresse;
	}
  	while ($ergzeile=mysql_fetch_row($ergid)){
		$result=mysql_query("SELECT * FROM $adr WHERE ($ergzeile[3] = $adr.AID) ");
		$ergzeile 
		while ($daten = mysql_fetch_array($result))
		
		
  		 {?>
 
Ich weiss zwar nicht so richtig was du willst, aber mit:

SELECT * FROM Tabelle ORDER BY Spalte [ ASC | DESC] .. kann man die Abfrage schon vorher sortieren .. viell. hilfts ..
 
Es könnte aber auch : LIMIT start,ende sein. Da muss er glaub ich etwas genauer werden.

Gruß Mirko
 
Vieleicht sorúm verständlicher

Das mit ASC DESC funktioniert nicht wirklich. Es ist so das im oberen Teil (select) schon anhand der plz Tabelle aufsteigend oder absteigend sortiert wird. Jetzt kommts aber... In der while schleife werden die Variablen daten[plz], daten[ort], daten[name], daten[vorname] usw ausgegeben. Ich möchte da die plz im oberen Teil nicht zwingend identisch ist mit daten[plz] und es von der Lesbarkeit her schöner ist das ganze nach daten[plz] sortierten. Ich denke hier muß in die while Schleife irgendwie ein SORT_NUMERIC oder so intergriert werden.

Ich hoff so ists etwas verständlicher.

Vielen Dank für die Hilfe
 
Versuch' mal folgendes:
PHP:
<?php
  [...]
  $query = "
	SELECT
	        CASE
	          WHEN COUNT(`plz`.*) THEN 'plz'
	          WHEN COUNT(`splz`.*) THEN 'splz'
	          ELSE 0
	          END AS `vorhanden_in`
	  FROM
	        `plz`,
	        `splz`
	  WHERE
	        " . $eingabe . " BETWEEN `von` AND `bis`
	";
  $result = mysql_query($query);
  $row = mysql_fetch_array($result, MYSLQ_ASSOC);

  if( $row['vorhanden_in'] != 0 ) {
    $query = "
	SELECT
	        `vorname`,
	        `name`,
	        `ort`
	  FROM
	        `" . $row['vorhanden_in'] . "`
	  WHERE
	        [Bedingung]
	  ORDER BY
	        `plz` DESC
	";
    $result = myslq_query($query);
    while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) {
      [...]
    }
  }
  [...]
?>
 
Erstmal Danke

Danke für die Antwort. Ich bin gestern leider nicht dazugekommen. Ich hab das ganze mal überflogen. Jetzt muß ich mal sehen wie ich das ganze einbaue und testen. Kann etwas dauern :-)
 
Zurück