Hallo Severin,
gute Idee, nicht zu umfangreich und mit Humor.
Ich arbeite zwar allein, aber eine sinnvolle Gliederung erleichtert die Fehlersuche und die Einarbeitung, wenn man nach zwei Jahren und 50 anderen Baustellen mal wieder dran muss.
Zum SQL-Code würde ich vorschlagen, die Kommentare mit in den SQL- String zu nehmen. Bei einem evtl. Fehler wird der angezeigt und es ist sofort klar, welcher SQL jetzt gerade muckt:
$q = "
#~~~~~~~~~~~~~~~~~~~~~
AUSSTELLER POSITIONEN SEIT 30.5.06 WUENSCHE GRUPPENBEREINIGT
#~~~~~~~~~~~~~~~~~~~~~
SELECT
per1.adr_art
,per1.nname
,per1.vname
,per1.anreise_vortag
,per1.tag_1
,per1.tag_2
,per1.bezeichnung
,per1.kurzname
,per1.adr_unt
,per1.ort
,per1.email
,per1.anzahl_mails
,per1.fuhrparkgroesse
,per1.id
,per1.tel
,count(DISTINCT kon1.gruppen_id) kon_anz_grp
,count(DISTINCT kon2.gruppen_id) kon_gebu_grp
,count(DISTINCT kon3.besucher_id) kon_anz_einzel
,count(DISTINCT kon4.besucher_id) kon_gebu_einzel
FROM ".$db[0]['personen']." AS per1
WUENSCHE VON BESUCHERGRUPPEN
LEFT JOIN ".$db[0]['kontakte']." AS kon1
ON kon1.aussteller_id=per1.id AND ( kon1.prio_1=1 OR kon1.prio_2=1 ) AND kon1.gruppen_id>0
TERMINE VON BESUCHERGRUPPEN
LEFT JOIN ".$db[0]['kontakte']." AS kon2
ON kon2.id=kon1.id AND kon2.slot_nr>0 AND kon1.gruppen_id>0
WUENSCHE VON EINZELBESUCHERN
LEFT JOIN ".$db[0]['kontakte']." AS kon3
ON kon3.aussteller_id=per1.id AND ( kon3.prio_1=1 OR kon3.prio_2=1 ) AND kon3.gruppen_id=0
TERMINE VON EINZELBESUCHERN
LEFT JOIN ".$db[0]['kontakte']." AS kon4
ON kon4.id=kon3.id AND kon4.slot_nr>0 AND kon4.gruppen_id=0
WHERE per1.owner=".$owner." AND per1.adr_kz=1 AND per1.loe_kz=0 ".$such."
#ROUP BY per1.bezeichnung, per1.adr_unt
GROUP BY per1.kurzname, per1.adr_unt
";
$res = mysql_query( $q, $conn_id ); zeigSqlFehler( $q, $conn_id );
Kalle