ORDER BY funkt nicht
andi
- datenbank
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>";
}
}
?>
hallo,
heißt dass feld Nachname in deiner Datenbank auch Nachname oder nachname.
mfg dF
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
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>";
}
?>