Etwas Ratlos

Alles, was nicht in die anderen Foren passt, kannst du hier loswerden.
Antworten
Gerhard0964
Beiträge: 129
Registriert: 15. Dez 2007, 17:53

Etwas Ratlos

Beitrag von Gerhard0964 »

Hallo,

ich habe zwei Mitglieder:

Bild

und


Bild

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


Bild

Einfach ausgedrückt: Mir fehlt da einer!

Warum :?: :?: :?: :?:

Hier ist der Code zu der Abfrage:
<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>
Hat jemand eine Idee?

Gruß
Gerhard
Gerhard0964
Beiträge: 129
Registriert: 15. Dez 2007, 17:53

Beitrag von Gerhard0964 »

Alles klar, ich habe die Antwort gefunden.

Hier:
....

$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',

.....
sollte KEINE Klammer stehen, die gehört weiter runter! :(

Gruß
Gerhard
Antworten