Ich habe ein kleines Problem!!
Ich habe eine Datenbank mit Immobilien.
Jetzt brauch ich eine Blätterfunktion, die mir bei bestimmten Bedingungen die jeweils relevanten Datensätze anzeigt. D.h. wenn ich nach 2-Zimmerwohnungen suche, sollen auch die ersten 6 davon ausgegeben werden.
Nun passiert aber folgendes:
Da ich die Ausgabe der Datensätze mit <loop db="Wohnung" range^=0,$Browseamount code=perl> habe, werden nur die ersten 6 Datensätze durchsucht.
Wenn ich das RANGE rausnehme, werden mir ja komplett alle Datensätze angezeigt, was ich nicht haben will, da in der DB auch Daten von Grundstücken usw. enthalten sind.
Ansehen könnt ihr es unter:
http://baseportal.de/baseportal/Laggy/Test1
von hier aus kommt ihr dann in das Template "Wohnung"
hier ist der Code dazu:
<html><head><title>Immonet Datenbank Wohnungen</title></head>
<body background="http://www.laggyweb.de/ExDateien/Haushintergrund900x654.jpg" bgproperties=fixed>
<h1 align=center></h1>
<center><p><u><h2>"Immonet Datenbank Wohnungen"</h2></u></p><br>
<perl>
### Zuweisung der Suchparameter für Zähler ###
if ($Grundsuche eq "Wohnung zur Miete"){$ZS="WohnungMiete"};
if ($Grundsuche eq "Wohnung zum Kauf"){$ZS="WohnungKauf"};
if ($Grundsuche eq "Haus zur Miete"){$ZS="HausMiete"};
if ($Grundsuche eq "Haus zum Kauf"){$ZS="HausKauf"};
if ($Grundsuche eq "Grundstücke"){$ZS="Grundstueck"};
if ($Grundsuche eq "Wohnung zur Miete"){
out "<form action='/cgi-bin/baseportal.pl?htx=/Laggy/ZWohnung&Grundsuche=$Grundsuche' method='post' enctype='multipart/form-data'>";
out "<input type='hidden' name='htx=' value='/Laggy/ZWohnung'>";
out "<font size='3'><b>Zimmer? </b></font>";
out "<select name='FZimmer='> <option>1<option>2<option>3<option>4<option>5<option>6<option>7<option>8<option>9</select> <button type='submit'>Suchen</button>$FZimmer";}
##### Zähler für die relevanten Datensätze #####
get "Objekt==$ZS", "Wohnung";
while(get_next("Wohnung"))
{
$rel_ds++;
}
if ($rel_ds == ""){$rel_ds="Leider kein"};
if ($rel_ds < "2"){
$rele="relevanter";}
elsif ($rel_ds > "1"){
$rele="relevante"};
$browseamount=6;
</perl>
<loop db=Wohnung range^=0,$browseamount sort=Zimmer code=Perl>
if ($Grundsuche eq "Wohnung zur Miete" and $Objekt eq "WohnungMiete"){
out "<table border='1' width=90% font size='1' bgcolor=#00CCCC><tr><td colspan=5 bgcolor=#FFCCCC>";
out"<a href='/baseportal/Laggy/WohnungDetail?Id==$_id'><font size='2'><b> $Titel </b></a></td>";
out"<tr><td font size='2' width=10%> $Zimmer Zimmer</td><td width=30%> mit $Wohnflaeche qm Wohnfläche</td><td width=20%> in $Stadtteil</td>";
if ($Kaltmiete eq ""){
out"<td width=15%> für $Warmmiete € Miete</td>";}
elsif ($Kaltmiete ne ""){
out"<td width=15%> für $Kaltmiete € Miete</td>";}
out"<td><a href='/baseportal/Laggy/Kunden?Firma==$Kontakt'> $Kontakt</a></td></tr><font size='0'></font></table>";
out"<table><tr><td></td></tr></table></font>";
}
</loop>
<loop db=Wohnung range^=0,$browseamount sort=Zimmer code=Perl>
if ($Grundsuche eq 'Wohnung zum Kauf' and $Objekt eq 'WohnungKauf'){
out "<table border='1' width=90% font size='1' bgcolor=#00CCCC><tr><td colspan=5 bgcolor=#FFCCCC>";
out"<a href='/baseportal/Laggy/WohnungDetail?Id==$_id'><font size='2'><b> $Titel </b></a></td>";
out"<tr><td font size='2' width=10%> $Zimmer Zimmer</td><td width=30%> mit $Wohnflaeche qm Wohnfläche</td><td width=20%> in $Stadtteil</td>";
if ($Kaltmiete eq ""){
out"<td width=15%> für $Warmmiete € Miete</td>";}
elsif ($Kaltmiete ne ""){
out"<td width=15%> für $Kaltmiete € Miete</td>";}
out"<td><a href='/baseportal/Laggy/Kunden?Firma==$Kontakt'> $Kontakt</a></td></tr><font size='0'></font></table>";
out"<table><tr><td></td></tr></table></font>";
}
out"$Objekt<br>"
</loop>
$Grundsuche
<perl>
##### BLÄTTERFUNKTION #####
my $newrange=$_range+$_range_length;
my $oldrange=$_range-$_range_length;
$oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
out "<b><< <a href=\"$_link&range=$oldrange,$_range_length&Grundsuche=$Grundsuche\">Zurück </b></a> " if $oldrange>=0;
if ($rel_ds==0){
out "<br>";}
out "<font size='2'> $rel_ds $rele von $_amount_query Einträgen gefunden</font>";
out "<b><a href=\"$_link&range=$newrange,$_range_length&Grundsuche=$Grundsuche\"> Weiter</a> >></b>" if $newrange<$rel_ds;
</perl>
</center>
</body>
</html>
Die 2. Loop-Schleife ist natürlich noch nicht fertig
Aber ich glaube ich lauf da in eine Sackgasse.
Vielleicht hat jemand eine Idee dazu.
Warscheinlich wäre eine Ausgabe mit "get" besser, aber das Problem bleibt.
Wenn in dem Beispiel erst der 7. Datensatz relevant ist, dann wird mir eine leere Seite angezeigt.
Laggy