Beitrag von Michael Koch (344 Beiträge) am Samstag, 4.Mai.2002, 18:39.
zufällige Ausgabe über merere Seiten
Hallo,
Wie erreiche ich es, dass alle Datensätze ausgegeben werden?
und dann auch noch über merere Seiten ?
Auf einer Seite eine bestimmte Anzahl geht wunderbar mit nachvolgenden Quelltext.
Den ich selber nicht ganz verstehe.:
<html>
<head>
<title>zufällige Brückenfotos zum Preisausschreiben</title>
</head>
<body>
<perl>
for($i=0; $i<30;)
{
do
{
get "Id==? ", "bild";
} while (index($ids, "$_id,")>=0);
if($i>0) {
#Beginn der Ausgabe
hier ist meine Ausgabe
#Ende der Ausgabe
}
$ids.="$_id,";
$i++ ;
}
</perl>
<center>
<include src=linksp>
</center></div>
</body></html>
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Samstag, 4.Mai.2002, 20:38.
Re: zufällige Ausgabe über merere Seiten
Wenn Du alle Datensätze einer Datenbank zufällig sortiert ausgeben willst geht das sehr einfach mit "sort=?":
...die ausgabe...
</loop>
Antworten
Beitrag von Michael Koch (344 Beiträge) am Samstag, 4.Mai.2002, 21:04.
Re: zufällige Ausgabe über merere Seiten
Antworten
Beitrag von Olaf Mertgen (263 Beiträge) am Sonntag, 5.Mai.2002, 01:34. WWW: auto-surf.de
Re: zufällige Ausgabe über merere Seiten
Geht das auch mit PERL? Ich will z.B. 5 zufällige Datensätze. Ich hab mal folgendes probiert:
Das geht aber nicht und das hier geht zwar, liefert aber immer die ersten 5 Datensätze:
get "Id==* sort=? range=0,5";
Antworten
Beitrag von Michael Koch (344 Beiträge) am Sonntag, 5.Mai.2002, 17:17.
Re: zufällige Ausgabe über merere Seiten
Hier der Quelltext, mit dem ich 5 zufällige Bücher ausgebe:
<html>
<head>
<title>zufällige Brücken- und Baufachbücher</title>
<link rel="stylesheet" type="text/css" href="http://www.brueckenbau-links.de/brueckenbuch/bbuch5.css">
</head>
<body>
<table border="1" width="170" bordercolor="#7EB8FF" cellspacing="0" cellpadding="0"
bordercolorlight="#7EB8FF" bordercolordark="#7EB8FF">
<tr>
<td width="100%"><p align="center"><a href="http://www.brueckenbau-links.de/brueckenbuch/index.htm" target="_blank">
<img src="http://www.brueckenbau-links.de/brueckenbuch/buton/b-brueckenbuch-gr.jpg"
width="170" height="30" alt="Brueckenbuch.de" border="0"></a><br>
<a href="http://www.brueckenbau-links.de/brueckenbuch/index.htm"
target="_blank">Bridges bookstore</a></td>
</tr>
<perl>
for($i=0; $i<6;)
{
do
{
get "Id==? Vorschau<>3x3.gif", "buecher";
} while (index($ids, "$_id,")>=0);
if($i>0) {
out <<EOF;
<tr>
<td width="170"><small><p align="center"><a href="http://koch.netpure.de/cgi-bin/baseportal.pl?htx=/koch/buecher/buecher_3sp&cmd=all&Id==$_id"
target="_blank">$Titel<br>
<img src="http://www.brueckenbau-links.de/brueckenbuch/$Vorschau"
alt="$Titel" border="0">
</a><br>
</td>
</tr>
EOF
}
$ids.="$_id,";
$i++ if $Vorschau ne "3x3.gif";
}
</perl>
</table>
</body></html>
Antworten
Beitrag von Michael Koch (344 Beiträge) am Sonntag, 5.Mai.2002, 19:04.
Re: zufällige Ausgabe über merere Seiten
gibt es wirklich keine Lösung für das Blättern bei einer zufälligen Ausgabe ?
Oder kann man die Ausgabe teilen ?
Auch ein NEIN währe eine Antwort.
Antworten
Beitrag von Olaf Mertgen (Webmaster) (1 Beitrag) am Sonntag, 5.Mai.2002, 19:29. WWW: www.linkex4u.de
Re: zufällige Ausgabe über merere Seiten
Ich will mich da jetzt nicht festlegen, aber widerspricht sich das nicht. Blättern kann ich nur in einer geordneten Folge und die fehlt doch bei einer zufälligen Ausgabe. Meines Erachtens kann die Antwort daher nur "Nein" lauten.
Antworten
Beitrag von Michael Koch (344 Beiträge) am Sonntag, 5.Mai.2002, 20:55.
Re: zufällige Ausgabe über merere Seiten
ich bin ja ein Leihe in Perl,
kann mann nicht auf der ersten Seiten alle Einträge zufällig auslesen und auf den Folgenden Seiten nach und nach ausgeben ?
Antworten
Beitrag von Olaf Mertgen (263 Beiträge) am Mittwoch, 8.Mai.2002, 18:15. WWW: auto-surf.de
Re: zufällige Ausgabe über merere Seiten
OK, man könnte sich natürlich die zufällige Reihenfolge einmalig erzeugen lassen, diese speichern und dann die Einträge entsprechend ausgeben. Dann könnte man auch eine Blätterfunktion bauen, aber das wäre alles ziemlich auffwendig, das würde ich mir gründlich überlegen, zumal wenn du noch Leihe in Perl bist.
Gruß, Olaf
Antworten
Beitrag von Olaf Mertgen (263 Beiträge) am Sonntag, 5.Mai.2002, 19:27. WWW: auto-surf.de
Re: zufällige Ausgabe über merere Seiten
So hab ich das ja bis jetzt auch, du lässt aber nicht zufällig sortieren, sondern du holst dir einen Eintrag mit einer zufälligen ID.
Das hat 2 entscheidene Nachteile:
1.) Es kann passieren, dass du den gleichen Eintrag nochmal erhälst. Das kann man allerdings ausgleichen, indem man sich die erhaltenen IDs merkt und die Schleife verlängert, bis man 5 unterschiedliche Einträge hat.
2.) Ich kann keine zusätzlichen Bedingungen stellen, denn wenn ich z.B. schreiben Id==?&Aktiv==1, dann kann es passieren, dass ich gar nichts zurückbekomme. Auch hier kann ich die Schleife natürlich solange durchlaufen, bis ich 5 passende Einträge habe.
In beidem Fällen komme ich durch eine Verlängerung der Schleife zum gewünschten Ergebnis, aber ich benötige mehr Datenbankzugriffe. Besser wäre es, wenn ich in den Bedingungen und über über range 5 Einträge bekommen könnte und den Zufall über die zufällige Sortierung erreichen könnte. Man mag jetzt einwerfen, ob die Schleife jetzt 5 oder 10 mal durchlaufen wird, das macht ja keinen großen Unterschied. Das stimmt aber nur, wenn das Template insgesamt selten aufgerufen wird. Erfolgt der Zugriff aber mehrfach pro Sekunde, dann kommt es ganz entscheidend darauf an, so wenige Zugriffe auf die Datenbank wie möglich zu haben.
Antworten
Beitrag von Michael Koch (344 Beiträge) am Sonntag, 5.Mai.2002, 20:56.
Re: zufällige Ausgabe über merere Seiten
bei mir kommen keine doppelten Ausgaben bei einem Aufruf.
Und sekundlich wird bei mir nicht abgefragt.
Antworten
Beitrag von Olaf Mertgen (263 Beiträge) am Mittwoch, 8.Mai.2002, 18:13. WWW: auto-surf.de
Re: zufällige Ausgabe über merere Seiten
Antworten