folgendes script übergibt leider noch nicht die starnummer für die entsprechende seite - der rest funzt. muß ich die foreach in eine for schleife umwandeln - gebt mal ein paar ideen bekannt - kann ja nicht so schwer sein - oder ?
ACHTUNG: ist ne menge script - ich hab aber alles gepostet damit man sich das komplett vorstellen kann.
ACHTUNG: ist ne menge script - ich hab aber alles gepostet damit man sich das komplett vorstellen kann.
PHP-Code:
############################################################################
# Durchsuchen der Anzeigen
############################################################################
sub search {
my @data_set ;
my @lines ;
my @sr ;
my $line ;
my $i=0;
$para[2]=1 if (!$para[2]) ;
###
#Suche in den Einträge
print "<table border=0 cellspacing=0 cellpadding=5 width=100%>" ;
open (DAT , "< $dat_file") || die "Kann Datenfile ($dat_file) nicht zum Lesen öffnen." ;
while($line=<DAT>) {
push (@sr , $line) if ($line =~ /.*$FM{'sbeg'}.*\|.*\|.*\|$/ig) ;
}
close (DAT) ;
#######################
#treffer zeilen zählen
foreach $line (reverse @sr) {
$my_counter++
}
#######################
#seitenanzahl zählen
$page = $my_counter/$anzan;
@page_set = split(/\./ , $page) ;
$page = $page_set[0];
$page = $page+1;
#######################
#Ausgabe der Einträge
foreach $line (reverse @sr) {
undef $next_no ;
$i = $next_no if ($next_no > 0);
@data_set = split(/\|/ , $line) ;
$data_set[3] = " \;" if (!$data_set[3]) ;
undef $name ;
if ($data_set[4] && $data_set[6]) {
$name="<a href=\"mailto:$data_set[6]?subject=$data_set[2]\">$data_set[4]</a>" ;
} elsif (!$data_set[4] && $data_set[6]) {
$name="<a href=\"mailto:$data_set[6]?subject=$data_set[2]\">$data_set[6]</a>" ;
} elsif ($data_set[4] && !$data_set[6]) {
$name="$data_set[6]" ;
}
$private2 = ( $data_set[12] ? " | Wohnort: $data_set[12]" : "" );
$private1 = ( $data_set[11] ? " | Geburtsdatum: $data_set[11]" : "" );
$private3 = ( $data_set[13] ? " | Größe: $data_set[13]" : "" );
$private4 = ( $data_set[14] ? " | Gewicht: $data_set[14]" : "" );
$private5 = ( $data_set[15] ? " | Beruf: $data_set[15]" : "" );
$private6 = ( $data_set[16] =~ /http:\/\/.*\..*/ig ? "<script language=\"JavaScript\">function display_bild_$i() {meWindow=window.open(\"$data_set[16]\",\"bild\",\"toolbar=0,location=0,directoris=0,menubar=0,scrollbars=1,rezsizable=1,copyhistory=0,zoom=0,width=500,height=500,screenX=50,screenY=50\");}</script><a href=\"javascript:display_bild_$i()\"><img src=\"http://www.loveground.com/markt/pics/bg_6.gif\" alt=\"Bild öffnen\" align=\"right\" border=\"0\"></a>" : "" );
$tel = ( $data_set[5] ? " | Tel.: $data_set[5]" : "" );
$url = ( $data_set[10] =~ /http:\/\/.*\..*/ig ? " | <a href=\"$data_set[10]\" target=\"_blank\">HP</a>" : "");
$preis1 = ( $data_set[17] ? "$data_set[17]" : "" );
$preis2 = ( $data_set[18] ? "$data_set[18]" : "" );
$art = ( $data_set[19] ? "$data_set[19]" : "" );
# art ermitteln
if ($art eq "1") {$art = "[ Verhandlungsbasis ]";}
if ($art eq "2") {$art = "[ Festpreis ]";}
# preis auf null wenn keine eingabe
if ($preis1 eq "") {$preis1 = "0";}
if ($preis2 eq "") {$preis2 = "0";}
# datensatz erstellen
if ($preis1 eq "0" && $preis2 eq "0") {
$my_preis = "";
} else {
# Cent correkt darstellen :)
if ($preis2 eq "0") {$preis2 = "00";}
$my_preis = "<hr size=\"1\" width=\"100%\"></hr>Preisvorstellung: $preis1,$preis2 Euro $art";
}
print qq~
</td></tr></table></td></tr></table>
<table border="0" cellpadding="0" cellspacing="1" width="98%" align="center">
<tr bgcolor="#000002"><td>
<table border="0" width="100%" cellpadding="4" cellspacing="1">
<tr>
<td bgcolor="#f9f9f9" valign="top">
<font face="$font" size="1">Anzeige vom: $data_set[7]</td>
<td bgcolor="#f9f9f9" valign="top" width="40%" align="right">
<font face="$font" size="1">[ <a href="$cgi_add/$cgi_nam?delform&$data_set[0]"><font face="$font" color="#960000" size=1>Anzeige bearbeiten/löschen</font></a> ]
</td></tr>
<tr>
<td bgcolor="#E6E6E6" colspan=2 valign=top>
$private6
<font face="$font" size=1>$data_set[2]<br>
<font face="$font" size=1>$data_set[3]<br>
$my_preis
</td></tr>
<tr>
<td bgcolor="#f9f9f9" colspan=2 valign=top>
<font face="$font" size=1>
$name</a>$url$tel$private2$private5$private1$private3$private4</font></td>
</tr></table></td></tr></table>
<table border="0" cellpadding="0" cellspacing="1" width="98%" align="center">
<tr><td>
<table border="0" width="100%" cellpadding="1" cellspacing="0">
<tr><td> </td></tr></table></td></tr></table>
~ ;
#######################
# ende der such-schleife
$i++;
last if ($i eq $anzan+$start_no);
}
$next_no = $i;
$real_no = $i-$anzan;
$last_no = $real_no-$anzan if ($last_no >=0);
$next_page = $next_no/$anzan;
@next_set = split(/\./ , $next_page) ;
$next_page = $next_set[0];
$next_page = $next_page+1;
$real_page = $next_page-1;
$last_page = $real_page-1 if ($last_page >=1);
############
#Statuszeile
if ($my_counter==0) {
print "<tr><td colspan=3 align=center><font face=\"$font\" size=1>Keine Anzeigen zu diesem Suchbegriff vorhanden.<br> <br></td></tr>" ;
} elsif ($my_counter==1) {
print "<tr><td colspan=3 align=center><font face=\"$font\" size=1>Es wurde $my_counter Anzeige gefunden.<br></td></tr>";
} elsif ($my_counter<$anzan) {
print "<tr><td colspan=3 align=center><font face=\"$font\" size=1>Es wurden $my_counter Anzeigen gefunden.<br></td></tr>";
} else {
print "<tr><td colspan=3 align=center><font face=\"$font\" size=1>Es wurden $my_counter Anzeigen auf $page Seiten gefunden.
<br><br>
[ Seiten:
<a href=$cgi_add/$cgi_nam?search&name=$FM{'sbeg'}&next_no=$last_no>$last_page</a> |
<a href=$cgi_add/$cgi_nam?search&name=$FM{'sbeg'}&next_no=$real_no><b>$real_page</b></a> |
<a href=$cgi_add/$cgi_nam?search&name=$FM{'sbeg'}&next_no=$next_no>$next_page</a> ]
<br></td></tr>" ;
}