Hallo Christoph,
hier ist ein Ausschnitt aus dem Code:
$arr=person_suchen($_REQUEST['suchwert']);
.....
<ul>
<?
$arr_suchwert=split('[#]',$_REQUEST['suchwert']);
$i=0;
for ($n=0;$n<count($arr);$n++){
?>
<p>Die Suche nach <b><? echo $arr_suchwert[$n] ?></b> ergab <b><? echo count($arr[$n]) ?></b> Suchergebnisse
^^^^^^^^^^^^^^ hier steckt der Teufel
für das Formular <b><? echo $zeile[0] ?></b></p>
<?
for($i;$i<count($arr[$n]);$i++){
?>
<li>
<a href="../haupt/eingabe.php?incl=<? echo urlencode($_REQUEST['ziel']) ?>&lfd=<? echo $arr[$n][$i][0] ?>">
<? echo $arr[$n][$i][0].", ".$arr[$n][$i][1].", ".$arr[$n][$i][2].
", ".datum_us2eu($arr[$n][$i][3]).", ".$arr[$n][$i][4] ?>
</a>
</li>
<?
}
}
?>
</ul>
Etwas zu Hintergrund: In ein einzeiliges Textfeld kann man Name [Vorname][Geburtsdatum] mehrerer Personen eingeben, um nach ihnen in einer DB zu suchen. Die Personen werden mit # getrennt, die Werte in [] sind optional.
Die Funktion hierfür:
function person_suchen($such_arr){
$big_arr = split('[#]',$such_arr);
$i=0;
for($n=0;$n<count($big_arr);$n++){
$arr = split('[,. ;]',$big_arr[$n],3);
if (count($arr)==1){
$sql=
"SELECT...WHERE... AND personen.nachname LIKE '".$arr[0]'
";
}
elseif(count($arr)==2){
$sql=
"SELECT...Where...AND personen.nachname LIKE '".$arr[0]' AND personen.vorname LIKE '".$arr[1]."'
";
}
elseif(count($arr)==3){
$sql=
"SELECT ...
WHERE ...
AND personen.nachname LIKE '".$arr[0]."'
AND personen.vorname LIKE '".$arr[1]."'
AND personen.geburtstag LIKE '".datum_eu2us($arr[2])."'
";
}
if (isset($sql)){
$db = mySQL_ini();
$result = mysql_query($sql,$db);
While ($zeile= mysql_fetch_row($result)){
$erg_arr[$i]=$zeile;
$i++;
}
}
$big_erg_arr[$n]=$erg_arr;
}
if(count($big_erg_arr)==0){
return false;
}
else
{
return $big_erg_arr;
}
}
Vielen Dank schon,
Gruss aus Göttingen
Martin