andi: ORDER BY funkt nicht

hallo,
habe folgende Abfrage gebastelt, aber die Sortierfunktion geht nicht. Kann mir jemand sagen warum?

<?
include("../../../inc/mysql.inc");
$sql="SELECT IdMitarbeiter FROM arbeitnehmerschutz WHERE Brandschutzwart='Ja'";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result))
{
 $IdMitarbeiter=$row["IdMitarbeiter"];

$sql1="SELECT Titel,Vorname,Nachname FROM mitarbeiter WHERE Id='$IdMitarbeiter' ORDER BY Nachname ASC";
 $result1=mysql_query($sql1);
 while($row1=mysql_fetch_array($result1))
 {
  $Titel=$row1["Titel"];
  $Vorname=$row1["Vorname"];
  $Nachname=$row1["Nachname"];

echo "".$Titel." ".$Nachname." ".$Vorname."<br>";
 }
}
?>

  1. hallo,

    heißt dass feld Nachname in deiner Datenbank auch Nachname oder nachname.

    mfg dF

  2. Hi,

    habe folgende Abfrage gebastelt, aber die Sortierfunktion geht nicht. Kann mir jemand sagen warum?

    Das ist nicht eine Abfrage, das sind viele.

    $sql="SELECT IdMitarbeiter FROM arbeitnehmerschutz WHERE Brandschutzwart='Ja'";

    Hier ermittelst Du alle relevanten IDs.

    $result=mysql_query($sql);
    while($row=mysql_fetch_array($result))
    {
    $IdMitarbeiter=$row["IdMitarbeiter"];
    $sql1="SELECT Titel,Vorname,Nachname FROM mitarbeiter WHERE Id='$IdMitarbeiter' ORDER BY Nachname ASC";

    Hier fragst Du jeweils für EINE der relevanten IDs die Mitarbeiter-Daten ab - und dieser eine Datensatz wird sortiert.

    Du solltest daraus EINE Abfrage machen, in der Du über einen JOIN genau die Mitarbeiter aus der Mitarbeitertabelle holst, die in der Arbeitnehmerschutztabelle die gewünschte Eigenschaft haben. Dann bekommst Du auch mehrere Mitarbeiter, so daß eine Sortierung sinnvoll ist.

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  3. Hallo,
    Hab jetzt mal ne JOIN Funktion eingebaut und es funkt!!!!
    Ich hoffe nur das es kein Zufall ist und der Syntax auch wirklich passt.

    Danke für Eure Hilfe

    Andi

    <?
    include("../../../inc/mysql.inc");

    $sql="SELECT A.Id, A.Nachname, A.Vorname, B.IdMitarbeiter FROM mitarbeiter AS A JOIN arbeitnehmerschutz AS B ON A.Id=B.IdMitarbeiter AND B.Brandschutzwart='Ja' ORDER BY A.Nachname";
    $result=mysql_query($sql);
    while($row=mysql_fetch_array($result))
    {
     $Nachname=$row["Nachname"];
     $Vorname=$row["Vorname"];
     echo "".$Nachname." ".$Vorname."<br>";
     }
    ?>