ich habe zwei Mitglieder:

und

Wenn ich jetzt aber die Abfrage "Ehrungen 2009" starte, erhalte ich folgendes:

Einfach ausgedrückt: Mir fehlt da einer!
Warum




Hier ist der Code zu der Abfrage:
Hat jemand eine Idee?<table width="400" cellspacing="0" cellpadding="5" border="0" bordercolor = "red" borderstyle="solid" align="center">
<tbody>
<tr>
<td style="text-align: left;" colspan ="1">
<?php
$jahr = date("Y");
echo "<u><strong><font size=\"+1\" color = \"red\">Im Jahr $jahr zu Ehren</font></u></strong><br><br>";
?>
</td>
</tr>
<tr>
<td style="text-align: left;" colspan ="1">
<?php
include_once($_SERVER['DOCUMENT_ROOT']. "/admidio_neu/adm_program/system/common.php");
//dieses Jahr
$this_year = date("Y");
function more_than_years($years, $intra_day)
{
$intra_year = substr($intra_day,0,4);
if($this_year - $intra_year < $years)
{
return true;
}
else
{
return false;
}
}
$sql ="SELECT usr_id, row1id1.usd_value, row4id2.usd_value, row7id10.usd_value, row10id11.usd_value, rol_id
FROM ". TBL_ROLES. ", ". TBL_CATEGORIES. ", ". TBL_MEMBERS. ", ". TBL_USERS. "
LEFT JOIN adm_user_data row1id1 ON row1id1.usd_usr_id = usr_id
AND row1id1.usd_usf_id = 1
LEFT JOIN adm_user_data row4id2 ON row4id2.usd_usr_id = usr_id
AND row4id2.usd_usf_id = 2
LEFT JOIN adm_user_data row7id10 ON row7id10.usd_usr_id = usr_id
AND row7id10.usd_usf_id = 10
LEFT JOIN adm_user_data row10id11 ON row10id11.usd_usr_id = usr_id
AND row10id11.usd_usf_id = 11
JOIN adm_user_data row10id20 ON row10id20.usd_usr_id = usr_id
AND row10id20.usd_usf_id = 20
AND str_to_date(row10id20.usd_value, '%Y') < date_add(sysdate(), interval -15 year)
AND str_to_date(row10id20.usd_value, '%Y') > date_add(sysdate(), interval -16 year)
WHERE rol_id = 2
AND rol_valid = 1
AND rol_cat_id = cat_id
AND cat_org_id = 1
AND mem_rol_id = rol_id
AND mem_valid = 1
AND mem_usr_id = usr_id
AND usr_valid = 1
ORDER BY row1id1.usd_value ASC";
$result = $g_db->query($sql);
echo "<u><font size=\"+1\" color = \"red\">Seit 15 Jahren im Verein</font></u><br><br>";
while($row = $g_db->fetch_array($result))
{
//Kleine erkl?ng
//Hier wird ein Userobjekt erzeugt welches alle Informationen ?? den User hat
$user = new User($g_db, $row['usr_id']);
//Jetzt wird z.B. das Eintrittsdatum abgefragt
$intra_day = $user->getValue("Mitglied seit");//Hier deinen Feldnamen eintragen
if(more_than_years(15, $intra_day))
{
echo "<b>".$user->getValue("Nachname")."</b>, <b>".$user->getValue("Vorname")."</b> seit " .date('d.m.Y', strtotime($intra_day)) ;
echo "<br>";
}
}
?>
</td>
</tr>
<tr>
<td height=15>
</td>
</tr>
<tr>
<td style="text-align: left;" colspan ="1">
<?php
$sql ="SELECT usr_id, row1id1.usd_value, row4id2.usd_value, row7id10.usd_value, row10id11.usd_value, rol_id
FROM ". TBL_ROLES. ", ". TBL_CATEGORIES. ", ". TBL_MEMBERS. ", ". TBL_USERS. "
LEFT JOIN adm_user_data row1id1 ON row1id1.usd_usr_id = usr_id
AND row1id1.usd_usf_id = 1
LEFT JOIN adm_user_data row4id2 ON row4id2.usd_usr_id = usr_id
AND row4id2.usd_usf_id = 2
LEFT JOIN adm_user_data row7id10 ON row7id10.usd_usr_id = usr_id
AND row7id10.usd_usf_id = 10
LEFT JOIN adm_user_data row10id11 ON row10id11.usd_usr_id = usr_id
AND row10id11.usd_usf_id = 11
JOIN adm_user_data row10id20 ON row10id20.usd_usr_id = usr_id
AND row10id20.usd_usf_id = 20
AND str_to_date(row10id20.usd_value, '%Y') < date_add(sysdate(), interval -25 year)
AND str_to_date(row10id20.usd_value, '%Y') > date_add(sysdate(), interval -26 year)
WHERE rol_id = 2
AND rol_valid = 1
AND rol_cat_id = cat_id
AND cat_org_id = 1
AND mem_rol_id = rol_id
AND mem_valid = 1
AND mem_usr_id = usr_id
AND usr_valid = 1
ORDER BY row1id1.usd_value ASC";
$result = $g_db->query($sql);
echo "<u><font size=\"+1\" color = \"red\">Seit 25 Jahren im Verein</font></u><br><br>";
while($row = $g_db->fetch_array($result))
{
//Kleine erkl?ng
//Hier wird ein Userobjekt erzeugt welches alle Informationen ?? den User hat
$user = new User($g_db, $row['usr_id']);
//Jetzt wird z.B. das Eintrittsdatum abgefragt
$intra_day = $user->getValue("Mitglied seit");//Hier deinen Feldnamen eintragen
}
if(more_than_years(25, $intra_day))
{
echo "<b>".$user->getValue("Nachname")."</b>, <b>".$user->getValue("Vorname")."</b> seit " .date('d.m.Y', strtotime($intra_day)) ;
echo "<br>";
}
?>
</td>
</tr>
<tr>
<td height=15>
</td>
</tr>
<tr>
<td style="text-align: left;" colspan ="1">
<?php
$sql ="SELECT usr_id, row1id1.usd_value, row4id2.usd_value, row7id10.usd_value, row10id11.usd_value, rol_id
FROM ". TBL_ROLES. ", ". TBL_CATEGORIES. ", ". TBL_MEMBERS. ", ". TBL_USERS. "
LEFT JOIN adm_user_data row1id1 ON row1id1.usd_usr_id = usr_id
AND row1id1.usd_usf_id = 1
LEFT JOIN adm_user_data row4id2 ON row4id2.usd_usr_id = usr_id
AND row4id2.usd_usf_id = 2
LEFT JOIN adm_user_data row7id10 ON row7id10.usd_usr_id = usr_id
AND row7id10.usd_usf_id = 10
LEFT JOIN adm_user_data row10id11 ON row10id11.usd_usr_id = usr_id
AND row10id11.usd_usf_id = 11
JOIN adm_user_data row10id20 ON row10id20.usd_usr_id = usr_id
AND row10id20.usd_usf_id = 20
AND str_to_date(row10id20.usd_value, '%Y') < date_add(sysdate(), interval -50 year)
AND str_to_date(row10id20.usd_value, '%Y') > date_add(sysdate(), interval -51 year)
WHERE rol_id = 2
AND rol_valid = 1
AND rol_cat_id = cat_id
AND cat_org_id = 1
AND mem_rol_id = rol_id
AND mem_valid = 1
AND mem_usr_id = usr_id
AND usr_valid = 1
ORDER BY row1id1.usd_value ASC";
$result = $g_db->query($sql);
echo "<u><font size=\"+1\" color = \"red\">Seit 50 Jahren im Verein</font></u><br><br>";
while($row = $g_db->fetch_array($result))
{
//Kleine erkl?ng
//Hier wird ein Userobjekt erzeugt welches alle Informationen ?? den User hat
$user = new User($g_db, $row['usr_id']);
//Jetzt wird z.B. das Eintrittsdatum abgefragt
$intra_day = $user->getValue("Mitglied seit");//Hier deinen Feldnamen eintragen
if(more_than_years(50, $intra_day))
{
echo "<b>".$user->getValue("Nachname")."</b>, <b>".$user->getValue("Vorname")."</b> seit " .date('d.m.Y', strtotime($intra_day)) ;
echo "<br>";
}
}
?>
</td>
</tr>
</tbody>
</table>
Gruß
Gerhard