Einzelnen Beitrag anzeigen
  #1  
Alt 27.07.2006, 16:38:03
RoSt RoSt ist offline
Anfänger
 
Registriert seit: Jul 2006
Beiträge: 69
Select mit Where-Clause aus Variable/Array

Hallo, ich versuche für meine HP eine Art online-Stammbaum zu entwickeln.
Die relevanten Daten sind auf 3 Tabellen verteilt und müssen dann für die Ausgabe "zusammengesucht" werden. Das klappt soweit ganz gut, mit ausnahme der Geschwister.
Tabelle st_pers enthält die persönlichen Daten mit einem eindeutigen Identifyer: PERSONID (kurz pid)
Tabelle st_elki enthält in der Spalte ELTERN deren pid und in der Spalte Kinder deren pid
Bei der Abfrage der Daten für die Eltern sichere ich deren pid in dem array $elid.
Dieses Array will ich dann in dem folgendem Select für die Ermittlung deren Kinder benutzen. Leider schein das nicht zu funktionieren.
PHP-Code:
// Eltern
    
$elid=array();
    
$i=0;
    
$sql=    "SELECT
                *
            FROM
                ST_PERS
            WHERE
                PERSONID IN(
                SELECT ELTERN FROM ST_ELKI WHERE KINDER=" 
"'" $hp['PERSONID']."')";
    
$resultel mysql_query($sql) OR die(mysql_error());                
    while(
$el mysql_fetch_assoc($resultel)) {
        
print_r($el);
        
$elid[$i]=$el['PERSONID'];
        
$i++;
    }
    
print_r($elid);
// Geschwister
    
$sql=    "SELECT
                *
            FROM
                ST_PERS
            WHERE
                PERSONID IN(
                SELECT KINDER FROM ST_ELKI WHERE ELTERN IN(" 
"'" $elid ."') GROUP BY KINDER)";
    
$resultge mysql_query($sql) OR die(mysql_error());                
    while(
$ge mysql_fetch_assoc($resultge)) {
        
print_r($ge);
    } 
Für kostruktive Vorschläge bin ich dankbar. Thx + Grüße rost
Mit Zitat antworten