2 Where in einer abfrage?

Dolphon

Erfahrenes Mitglied
Moin.

Erst mal der Code
PHP:
if ($_GET['aufrags_id'])
{   
//$userid = $_SESSION['id'];  
//$query = "SELECT * FROM auftraege WHERE id='".$_GET['auftrags_id']."'" : "SELECT * FROM kunden WHERE id='".$userid."'";

$query = "SELECT a.id, a.name, a.email, a.art, a.auftrag, a.land, a.userid, ".
                   "b.id, b.firmenname, b.straße, b.hnr, b.plz, b.ort ".
                   "FROM auftraege as a, handwerker as b ".
                  "WHERE a.userid=b.id ";

Hier seht ihr die gültige Abfrage an meien DB. Allerdings fehlt da noch eien Where Bedingung. Damit das "WHERE a.userid=b.id" gilt, muss er ersteinmal die Zeile geholt haben, welche die "auftags_id" ist, damit er weiß welche "userid" der nehmen muss.
Weiß aber nicht wie ich das hinbekommen soll.

MFG

Dolphon
 
Hi!


PHP:
$query = 'SELECT a.id, 
                                  a.name, 
                                  a.email, 
                                  a.art, 
                                  a.auftrag, 
                                  a.land, 
                                  a.userid, 
                                  b.id, 
                                  b.firmenname, 
                                  b.straße, 
                                  b.hnr, 
                                  b.plz, 
                                  b.ort  
                                  FROM auftraege as a
                                  LEFT JOIN handwerker as b ON b.id=a.userid
                                  WHERE a.auftrag = '.$myAuftrag;

so ?
 
ich habs so gelöst:

PHP:
$sql = @mysql_query("DELETE FROM auftraege WHERE expires < '".time()."'");

if ($_GET['aufrags_id'])
{   
//$userid = $_SESSION['id'];  
//$query = "SELECT * FROM auftraege WHERE id='".$_GET['auftrags_id']."'" : "SELECT * FROM kunden WHERE id='".$userid."'";
$query = "SELECT a.id, a.name, a.email, a.art, a.auftrag, a.land, a.userid, ".
                   "b.id, b.firmenname, b.straße, b.hnr, b.plz, b.ort ".
                   "FROM auftraege as a, handwerker as b ".
                  "WHERE a.id='".$_GET['auftrags_id']."' AND WHERE a.userid=b.id";
               
    

if(!($result = mysql_query($query))) 
      die(mysql_error());   

while($row = mysql_fetch_array($result)) 
{ 

?>

Auftrag von:<p><a href="mailto:<? echo $row['email']; ?> "> <? echo $row['name']; ?> </a>

 <p><? echo nl2br($row['auftrag']); ?> 

<?
}}
?>

Allerdings gibt er nix aus, obwohl ich alles 10 mal überprüft habe, ob in der db auch die richten werte stehen.
 
Hi, Wenn Du mehrere Bedingungen in der Where-klausel unterbringen möchtest, kannst Du AND oder OR nehmen, aber ohne dabei nochmals where davor zu setzen.

Also so:
PHP:
$sql = "SELECT a.id, a.name, a.email, a.art, a.auftrag, a.land, a.userid,
               b.id, b.firmenname, b.straße, b.hnr, b.plz, b.ort
        FROM auftraege as a,
             handwerker as b
        WHERE a.id='".$_GET['auftrags_id']."'
          AND a.userid = b.id";

snuu
 
Zurück