Beitrag von Michael Koch (344 Beiträge) am Montag, 30.Juli.2001, 08:57.
@Sander Zählen von Einträgen
Hallo,
leider geht das zählen von Einträgen nicht richtig.
Die Anzahl wird beim nächsten Eintrag erst angezeigt.
Hier der Quelltext:
<html>
<head>
<title>Startseite</title>
</head>
<LINK href="http://www.brueckenbau-links.de/bblinks.css" rel=styleSheet type=text/css>
<body>
<h3><a name="Anfang"></a>Brücken in . . .</h3>
<ul>
<perl>
@liste;
$"=' ';
get "Id==* sort=Stadt", "brueckenbau";
while (get_next ("brueckenbau"))
{
if (($Stadt ne "-")&& ($Stadt ne ""))
{
if (index(" @liste "," $Stadt ")<0)
{
push (@zahl, $i) if $_loop != 0;
$i=0;
push (@liste, $Stadt);
$i++;
}else
{
$i++;
}
}
}
push (@zahl, $i);
$x=0;
for (@liste)
{
out "<br><a href=baseportal.pl?htx=/brueckenbau/suchergebnis&mode=pictures&range=0,5&Stadt~=".convert_url($_).">$_</a> ($zahl[$x])";
$x++;
}
</perl>
</ul>
Gibt es schon eine Lösung für die Sortierung ´nach der Anzahl ?
Antworten
Beitrag von Sander (8133 Beiträge) am Montag, 30.Juli.2001, 15:42.
Re: @Sander Zählen von Einträgen
so sollte es funzen:
<html>
<head>
<title>Startseite</title>
</head>
<LINK href="http://www.brueckenbau-links.de/bblinks.css" rel=styleSheet type=text/css>
<body>
<h3><a name="Anfang"></a>Brücken in . . .</h3>
<ul>
<perl>
$schleife=0;
@liste;
$"=' ';
get "Id==* sort=Stadt", "/brueckenbau/brueckenbau";
while (get_next ("/brueckenbau/brueckenbau"))
{
if ($Stadt ne "-" || "")
{
if (index(" @liste "," $Stadt ")<0)
{
push (@zahl, $i) if $schleife != 0;
$i=0;
$schleife++;
push (@liste, $Stadt);
$i++;
}else
{
$i++;
}
}
}
push (@zahl, $i);
$x=0;
for (@liste)
{
out "<br><a href=baseportal.pl?htx=/brueckenbau/suchergebnis&mode=pictures&range=0,5&Stadt~=".convert_url($_).">$_</a> ($zahl[$x])";
$x++;
}
</perl>
</ul>
Ausgabe nach anzahl geht auch, liefere ich noch nach.
Sander
Antworten
Beitrag von Michael Koch (344 Beiträge) am Montag, 30.Juli.2001, 21:23.
Re: @Sander Zählen von Einträgen
Hallo,
werde ich gleich ausprobieren.
Ich habe vorher alle leren Einträge mit "-"
gefüllt, dann ging es.
Wie erreiche ich es, das der Eintrag "-" nicht aufgeführt wird ?
Beim zählen hätte ich gern, wenn es nicht soviel Arbeit macht, dass nur die ersten 10 angezeigt werden, vielleicht auch mit blättern ?
Antworten
Beitrag von Sander (8133 Beiträge) am Montag, 30.Juli.2001, 23:26.
Re: @Sander Zählen von Einträgen
"-" wird nicht mit ausgegeben, oder? bei meinen Tests nicht.
Anzahl: hat dir Gregor schon gestern den Link dazu geschickt. Das sollte bei dir auch gehen.
mit range: tja, wird schon irgendwie gehen - muß ich mal tüfteln...
Sander
Antworten
Beitrag von Michael Koch (344 Beiträge) am Dienstag, 31.Juli.2001, 08:53.
Re: @Sander Zählen von Einträgen
Hallo,
ich habe von Gegor keinen Link bekommen oder ?
Richtig "-" wird nun nicht mehr angezeigt.
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 31.Juli.2001, 09:52.
Re: @Sander Zählen von Einträgen
Antworten
Beitrag von Michael Koch (344 Beiträge) am Dienstag, 31.Juli.2001, 12:39.
Re: @Sander Zählen von Einträgen
Danke,
bei mir kommen aber die kleinsten Einträge zuerst.??
http://baseportal.de/cgi-bin/baseportal.pl?htx=/brueckenbau/bruecke_sort
Und wie erreiche ich, dass "" und "-" nicht angezeigt wird
Und die Anzeige auf die 10 größten beschränken.
Hier nochmal der Quelltext:
<html>
<head>
<title>Startseite</title>
</head>
<LINK href="http://www.brueckenbau-links.de/bblinks.css" rel=styleSheet type=text/css>
<body>
<h3><a name="Anfang"></a>Brücken in . . .</h3>
<ul>
<perl>
@liste;
$"=' ';
get "Stadt~=$Stadt sort=Stadt", "brueckenbau";
while (get_next("brueckenbau"))
{
if (index(" @liste "," $Stadt ")<0)
{
push (@zahl, $i) if $_loop != 0;
$i=0;
push (@liste, $Stadt);
$i++;
}else
{
$i++;
}
}
push (@zahl, $i);
##### Ausgabe der Liste in der nur jedes Element 1x vorkommt
%ausgabe=();
$x=0;
for (@liste)
{
$ausgabe{$_}=$zahl[$x];
$x++;
}
%h1=%ausgabe;
@felder=sort { $h1{$a} <=> $h1{$b} } keys %h1;
for (@felder)
{
out "$_ ($ausgabe{$_} ".($ausgabe{$_}==1?"Eintrag":"Einträge").")<br>";
}
</perl>
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 31.Juli.2001, 20:00.
Re: @Sander Zählen von Einträgen
hmm, du solltest ja auch den code für Gregor in das von mir letztgeschickte anpassen ;-)
Hab ich jetzt mal gemacht:
<html>
<head>
<title>Startseite</title>
</head>
<LINK href="http://www.brueckenbau-links.de/bblinks.css" rel=styleSheet type=text/css>
<body>
<h3><a name="Anfang"></a>Brücken in . . .</h3>
<ul>
<perl>
$schleife=0;
@liste;
$"=' ';
get "Id==* sort=Stadt", "/brueckenbau/brueckenbau";
while (get_next ("/brueckenbau/brueckenbau"))
{
if ($Stadt ne "-" || "")
{
if (index(" @liste "," $Stadt ")<0)
{
push (@zahl, $i) if $schleife != 0;
$i=0;
$schleife++;
push (@liste, $Stadt);
$i++;
}else
{
$i++;
}
}
}
push (@zahl, $i);
%ausgabe=();
$x=0;
for (@liste)
{
$ausgabe{$_}=$zahl[$x];
$x++;
}
%h1=%ausgabe;
@felder=sort { $h1{$b} <=> $h1{$a} } keys %h1;
$von=0 unless ($von);
$bis=$von+10;
for (@felder)
{
if (($blaettern>=$von) && ($blaettern<$bis))
{
out "$_ ($ausgabe{$_} ".($ausgabe{$_}==1?"Eintrag":"Einträge").")<br>";
}
$blaettern++;
}
my $vonnew=$von+10;
$vonold=0 if $vonold<0 && $vonold>-$von;
out "<< <a href=\"$_link&von=$vonold\">Zurück</a> " if $vonold>=0;
out "<a href=\"$_link&von=$vonnew\">Weiter</a> >>" if $vonnew<$blaettern;
</perl>
</ul>
Sander
Antworten
Beitrag von Michael Koch (344 Beiträge) am Dienstag, 31.Juli.2001, 21:14.
Re: @Sander Zählen von Einträgen
Antworten
Beitrag von Michael Koch (344 Beiträge) am Dienstag, 31.Juli.2001, 21:17.
Re: @Sander Zählen von Einträgen
vergiss das letzte.
Es geht prima.
Antworten
Beitrag von Michael Koch (344 Beiträge) am Mittwoch, 1.August.2001, 18:12.
Re: @Sander Zählen von Einträgen (noch was)
Hallo Sander,
ich habe mich doch entschlossen,
auf meiner neuen Startseite nur 10 Städte mit Link zu bringen.
Das Blättern habe ich fast raus gekrigt, abr der Link geht nicht den ich eingefügt habe.
Bitte korigire den Quelltext.
Danke:
<html>
<head>
<title>Startseite</title>
</head>
<LINK href="http://www.brueckenbau-links.de/bblinks.css" rel=styleSheet type=text/css>
<body>
<perl>
$schleife=0;
@liste;
$"=' ';
get "Id==* sort=Stadt", "/brueckenbau/brueckenbau";
while (get_next ("/brueckenbau/brueckenbau"))
{
if ($Stadt ne "-" || "")
{
if (index(" @liste "," $Stadt ")<0)
{
push (@zahl, $i) if $schleife != 0;
$i=0;
$schleife++;
push (@liste, $Stadt);
$i++;
}else
{
$i++;
}
}
}
push (@zahl, $i);
%ausgabe=();
$x=0;
for (@liste)
{
$ausgabe{$_}=$zahl[$x];
$x++;
}
%h1=%ausgabe;
@felder=sort { $h1{$b} <=> $h1{$a} } keys %h1;
$von=0 unless ($von);
$bis=$von+10;
for (@felder)
{
if (($blaettern>=$von) && ($blaettern<$bis))
{
out "<br><small><a href=baseportal.pl?htx=/brueckenbau/suchergebnis&mode=pictures&range=0,5&Stadt~=".convert_url($_).">$_</a>.($ausgabe{$_}==1?"Eintrag":"").")</small><br>";
}
$blaettern++;
}
</perl>
Antworten
Beitrag von Sander (8133 Beiträge) am Mittwoch, 1.August.2001, 18:18.
Re: @Sander Zählen von Einträgen (noch was)
Frag ich mich nur, warum ich hier 2 Stunden sitze und das zeug zusammenbastle...??? ;-)
<html>
<head>
<title>Startseite</title>
</head>
<LINK href="http://www.brueckenbau-links.de/bblinks.css" rel=styleSheet type=text/css>
<body>
<perl>
$schleife=0;
@liste;
$"=' ';
get "Id==* sort=Stadt", "/brueckenbau/brueckenbau";
while (get_next ("/brueckenbau/brueckenbau"))
{
if ($Stadt ne "-" || "")
{
if (index(" @liste "," $Stadt ")<0)
{
push (@zahl, $i) if $schleife != 0;
$i=0;
$schleife++;
push (@liste, $Stadt);
$i++;
}else
{
$i++;
}
}
}
push (@zahl, $i);
%ausgabe=();
$x=0;
for (@liste)
{
$ausgabe{$_}=$zahl[$x];
$x++;
}
%h1=%ausgabe;
@felder=sort { $h1{$b} <=> $h1{$a} } keys %h1;
for (@felder)
{
if (($blaettern>=0) && ($blaettern<10))
{
out "<br><small><a href=baseportal.pl?htx=/brueckenbau/suchergebnis&mode=pictures&range=0,5&Stadt~=".convert_url($_).">$_</a>".($ausgabe{$_}==1?"Eintrag":"Einträge").")</small><br>";
}
$blaettern++;
}
</perl>
Antworten
Beitrag von Michael Koch (344 Beiträge) am Mittwoch, 1.August.2001, 18:55.
Re: @Sander Zählen von Einträgen (noch was)
Antworten
Beitrag von Sander (8133 Beiträge) am Mittwoch, 1.August.2001, 19:15.
Re: @Sander Zählen von Einträgen (noch was)
Antworten
Beitrag von Michael Koch (344 Beiträge) am Mittwoch, 1.August.2001, 20:11.
Re: @Sander Zählen von Einträgen (noch was)
Hallo,
noch einen Kleinigkeit.
Hinter der Zahl steht ein Leerzeichen, das ich nicht wegkriege.
<html>
<head>
<title>Startseite</title>
</head>
<LINK href="http://www.brueckenbau-links.de/bblinks.css" rel=styleSheet type=text/css>
<body>
<small>
<perl>
$schleife=0;
@liste;
$"=' ';
get "Id==* sort=Stadt", "/brueckenbau/brueckenbau";
while (get_next ("/brueckenbau/brueckenbau"))
{
if ($Stadt ne "-" || "")
{
if (index(" @liste "," $Stadt ")<0)
{
push (@zahl, $i) if $schleife != 0;
$i=0;
$schleife++;
push (@liste, $Stadt);
$i++;
}else
{
$i++;
}
}
}
push (@zahl, $i);
%ausgabe=();
$x=0;
for (@liste)
{
$ausgabe{$_}=$zahl[$x];
$x++;
}
%h1=%ausgabe;
@felder=sort { $h1{$b} <=> $h1{$a} } keys %h1;
for (@felder)
{
if (($blaettern>=0) && ($blaettern<10))
{
out "<br><small><a href=baseportal.pl?htx=/brueckenbau/suchergebnis&mode=pictures&range=0,5&Stadt~=".convert_url($_).">$_</a> ($ausgabe{$_} ".($ausgabe{$_}==1?"Eintrag":"").")";
}
$blaettern++;
}
</perl>
</small>
Antworten
Beitrag von Sander (8133 Beiträge) am Mittwoch, 1.August.2001, 20:45.
Re: @Sander Zählen von Einträgen (noch was)
Antworten
Beitrag von Michael Koch (344 Beiträge) am Mittwoch, 1.August.2001, 21:28.
Re: @Sander Zählen von Einträgen (noch was)
Hallo,
nun wolte ich auf einer Seite ober die 10 meist genanten Städte und darunter die 10 meist genanten Länder.
Aber die Länder werden nicht angezeigt warum?
Hier der Quelltext:
<html>
<head>
<title>Startseite</title>
<base target="brrechts">
</head>
<LINK href="http://www.brueckenbau-links.de/bblinks.css" rel=styleSheet type=text/css>
<body>
<small>
<p>Inhalt der Datenbank:<br>
Brücken in ...</p>
<perl>
$schleife=0;
@liste;
$"=' ';
get "Id==* sort=Stadt", "/brueckenbau/brueckenbau";
while (get_next ("/brueckenbau/brueckenbau"))
{
if ($Stadt ne "-" || "")
{
if (index(" @liste "," $Stadt ")<0)
{
push (@zahl, $i) if $schleife != 0;
$i=0;
$schleife++;
push (@liste, $Stadt);
$i++;
}else
{
$i++;
}
}
}
push (@zahl, $i);
%ausgabe=();
$x=0;
for (@liste)
{
$ausgabe{$_}=$zahl[$x];
$x++;
}
%h1=%ausgabe;
@felder=sort { $h1{$b} <=> $h1{$a} } keys %h1;
for (@felder)
{
if (($blaettern>=0) && ($blaettern<10))
{
out "<br><small><a href=baseportal.pl?htx=/brueckenbau/suchergebnis&mode=pictures&range=0,5&Stadt~=".convert_url($_).">$_</a> ($ausgabe{$_})";
}
$blaettern++;
}
</perl>
<br>
<a href="http://baseportal.de/cgi-bin/baseportal.pl?htx=/brueckenbau/bruecke_stadt"
>>> alle Orte</a><br>
<perl>
$schleife=0;
@liste;
$"=' ';
get "Id==* sort=Land", "/brueckenbau/brueckenbau";
while (get_next ("/brueckenbau/brueckenbau"))
{
if ($Land ne "-" || "")
{
if (index(" @liste "," $Land ")<0)
{
push (@zahl, $i) if $schleife != 0;
$i=0;
$schleife++;
push (@liste, $Land);
$i++;
}else
{
$i++;
}
}
}
push (@zahl, $i);
%ausgabe=();
$x=0;
for (@liste)
{
$ausgabe{$_}=$zahl[$x];
$x++;
}
%h1=%ausgabe;
@felder=sort { $h1{$b} <=> $h1{$a} } keys %h1;
for (@felder)
{
if (($blaettern>=0) && ($blaettern<10))
{
out "<br><small><a href=baseportal.pl?htx=/brueckenbau/suchergebnis&mode=pictures&range=0,5&Land~=".convert_url($_).">$_</a> ($ausgabe{$_})";
}
$blaettern++;
}
</perl>
<br>
<a href="http://baseportal.de/cgi-bin/baseportal.pl?htx=/brueckenbau/bruecke_land"
>>> alle Länder</a><br>
</small>
Antworten
Beitrag von Sander (8133 Beiträge) am Mittwoch, 1.August.2001, 22:18.
Re: @Sander Zählen von Einträgen (noch was)
nach der ersten Ausgabe der Städte muß $blaettern lehrgemacht werden, sonst liegt der Wert immer über 10 durch die erste Zählung.
Also, nach dem Code den ich geschrieben hab:
Sander
Antworten
Beitrag von Michael Koch (344 Beiträge) am Mittwoch, 1.August.2001, 22:33.
Re: @Sander Zählen von Einträgen (noch was)
Antworten
Beitrag von Michael Koch (344 Beiträge) am Donnerstag, 2.August.2001, 19:25.
Re: @Sander Zählen von Einträgen mehrteilig
Hallo,
habe mal @liste gegen @land im zweiten Teil geändert, nun ist noch mehr falsch.
Ich denke ich muß noch einen Wert zurücksetzen.
Aber welchen und wie ???
Antworten