Zufallsbild aus Galerie in Webseite einbinden...?

noopen

Erfahrenes Mitglied
Hi!

ich hab jetzt hier schon gesucht, aber nicht so wirklich das gefunden, was ich brauch..:

Ich habe unter http://jgallery.noopen.net eine Galerie meiner Seite. Meine Seite an sich ist unter http://jackass.noopen.net zu erreichen.

Nun gibt es unter der Galerie-Seite links ein Feld, in dem immer ein Zufallsbild angezeigt wird. Dieses möchte ich möglichst in der Form wie es dort zu sehen ist, auf meine Jackass-Seite einfügen, irgendwo :-) - also natürlich irgendwo auf der Seite, aber eben in diese normale HTML eingebunden.

Ich hab mich in meinem Galerie-Admin-Bereich in den Templates umgesehen, um vielleicht einen richtige Codeschnipsel zu finden, den ich dann einfügen könnte. Habe leider nichts gefunden, um mir dann einen Weg zu suchen, wie ich es dann einfügen kann :-).

Ich hoffe hier unter den Meistern kann mir jemand helfen.


Danke
danielle
 
Leg einfach ne Tabelle in der DB an (oder verwendest die des Galleryscripts sofern du zugriff auf die DB dessen hast). Dort trägst Du den namen des Bildes ein, evtl. Kommentare usw. Dann machst Du ne MySQL Abfrgae, also SELECT * FROM Tabelle ect. und setzt ganz am Ende die Parameter "ORDER BY ROUND() LIMIT 1". Der Rest ist halt einfach eeinbindung mit ner Whileschleife oder so.
Dat bauste anschliessend in deine Seite direkt ein, oder du bastelst dir ne PHP Datei und baust diese in die html über ein IFrame ein. je nachdeml.

Hoffe das hilft Dir weiter! :)
 
Hallo Danielle :)

Gut, dass ich nicht schlafen konnte... *g* - Ich habe mir eben mal Deine Seite angesehen.

Zu erst musst Du http://jackass.noopen.net/index.htm in http://jackass.noopen.net/index.php umbenennen und alle nötigen Links anpassen, die auf die Startseite zeigen.


Falls Du nur eine geringe Anzahl an Bildern hast könntest Du es so machen:


PHP:
<?php

srand ((double) microtime() * 1000000); 
$zufallszahl = rand(1,6); 

if($zufallszahl == 1){
	echo("<a href=\"http://www.noopen.net/jackass-imagegallery/details.php?image_id=43\"><img src=\"http://www.noopen.net/jackass-imagegallery/data/thumbnails/5/5.jpg\" border=\"0\" width=\"67\" height=\"100\" alt=\"Buried alive by Love 5\"></a><br><b>Buried alive by Love 5</b><br>Kommentare: 0<br>danielle");
}elseif($zufallszahl == 2){
	echo("Bild + Link 2");
}elseif($zufallszahl == 3){
	echo("Bild + Link 3");
}elseif($zufallszahl ==4){
	echo("Bild + Link 4");
}elseif($zufallszahl == 5){
	echo("Bild + Link 5");
	
}elseif($zufallszahl == 6){
	echo("Bild + Link 6");
}

?>


Hier findest Du das Beispiel: Beispiel (mehrfach F5 drücken)

Bei diesem kleinen Bsp. hast Du 6 Links (Einen schon gefüllt). Mit "rand(1,6); " bestimmst Du die Anzahl der Links. In diesem Fall hast du 1 - 6. :)

Falls Du aber mit n (n = 1000) Bildern arbeiten möchtest würde ich Dir eine Datenbank empfehlen.

In diese Datenbank kannst Du dann den Schlüssel (id), die Links, die Alt - Beschreibungen und die Url der Vorschaubilder hinterlegen. Im Anschluss kommt dann der Spass, den "PHPer" schon genannt hat:

Die Ausgabe könnte nun so aussehen:

PHP:
// Anzahl der Inhalte
$n = mysql_query("Select id from bilder"); 
$anzahl = mysql_num_rows($n); 

// Zufällige Zahl
srand ((double) microtime() * 1000000); 
$zufallszahl = rand(1,$anzahl); 


// Abfrage
$result = mysql_query("select * from bilder where id = '$zufallszahl'"); // Oder eben nur ORDER BY ROUND() LIMIT 1
while($zeile = mysql_fetch_object($result)){ 

echo("<a href=\"$zeile->link\"><img src=\"$zeile->thumb\" border=\"0\" width=\"67\" height=\"100\" alt=\"$zeile->description\"></a><br><b>$zeile->description</b>");

}

Nun könntest du die Bilder auch noch in einer BLOB - Tabellenstruktur hinterlegen und diese Dann direkt aus der DB holen, aber ich denke, dass das den Rahmen ein wenig sprengen würde... *g*

Nun ja... Ich wollte das mit der DB eigentlich vermeiden, da ich nicht weiß, ob Du Dich damit auskennst. Falls Du noch Fragen haben solltest, schreib sie hier bitte hin, oder an mich per Email... :)

P.S.: Ein goldiger Link *megafrechrumgrins*
Schönen Gruß und gute Nacht ;) ,
Claus
 
Zuletzt bearbeitet:
Hi du schlafloser ;o)

vielen Dank für die Antwort... :-) hoffe mal du hast nich verschlafen... ;o)
Ich werd mir jetzt mal Mühe geben und versuchen es einzubinden *ggg* so wie ich mich einschätze mach ich bestimmt was falsch :-) :-) :-) .
Aber, will ja mal nicht den Teufel an die Wand malen ;P


@PHPer
mit dem Tabellen anlegen in der DB hab ich bisher noch so meine Probleme, hab z.b. den Inhalt einer Tabelle und weiss beim besten Willen nicht, was ich da für ne Tabelle anlegen muss mit der Anfangsfrage von NAME und Spaltenzahl oder so ähnlich... das erste krieg ich noch hin, aber beim 2. kann man's Stroh rascheln hörn :-) ...
 
*lach* Natürlich habe ich nicht verschlafen... Bin schon wieder seit 3,5 Std. im Büro...

Teste das erstmal mit meinem ersten, "konventionellen" Script.


Wenn Du das doch mit DB machen willst:

PHPMyAdmin: Einfach die Tabelle "bilder" anlegen mit den Feldern: id (int 11) primary key, description (vchar 255), link (vchar 255) und thumb (vchar 255)

Wenn Du dann die ersten Inhalte eingetragen hast, kannst Du mein zweites Script 1:1 übernehmen und ausführen.

Schöne Grüße,
Claus
 
ach, da fällt mir ein, wenn wir schonmal drüber sind *mfg*...:

- direkter LogIn
ich würde gern auf meine startseite von http://jackass.noopen.net einen LoginBereich machen, mit 2 Feldern für ID und PW und dann evtl noch mit Pulldown-Funktion dazu, WO ich mich einloggen will; ob in Forum/Board oder in der Galerie...

mehr ungelöste Fälle von mir gibts hier :-)

Ich weiss ich bin schlimm, aber ich steh dazu. Zumindest im Moment :-)


thx
danielle
 
*lach*

Hab im Mom. gerade wenig Zeit. Werde es mir später mal ansehen... (Weißt Du eigentlich wie hoch der Stundenlohn eines angehenden SAP-Beraters ist? *GG*)


Also eingebunden hast Du es ja schon, aber ich sehe da immer nur das selbe Bild *fg*
 
Original geschrieben von Claus Gronemeier
Wenn Du das doch mit DB machen willst:

PHPMyAdmin: Einfach die Tabelle "bilder" anlegen mit den Feldern: id (int 11) primary key, description (vchar 255), link (vchar 255) und thumb (vchar 255)
Am besten dem Feld id noch die Eigenschaft auto_increment geben. Da id ja der Primärschlüssel (Neudeutsch: primary key *g*) ist, darf dieser auf keinen Fall zweimal den gleichen Wert haben. Man könnte das ganze auch über ein PHP Script lösen, allerdings sorgt sich die Eigenschaft auto_increment für dich darum und mal ehrlich, wo man kann, da vermeidet man doch unnötigen Aufwand, gell ;)
 
"auto_inc..." ist schon was feines, hat aber meines Erachtens auch einen großen Fehler. Wenn man Spalten löscht, wird die Nummerierung nicht angepasst und irgendwann hast Du evtl. 100 Spalten in der DB und bist bei id 712... ;) Ein nicht so schöner Umstand, aber für Dein Script ist das natürlich egal :)

LG,
Claus
 
Wo jetzt der Haken sein soll, wenn du 100 Einträge aber eine ID von 712 hast ist mir zwar nicht so ganz klar, aber was solls ;)
Ist doch Sinn und Zweck eines Primärschlüssels, dass er sich NICHT ändert und NICHT anpasst, damit Datensätze eindeutig und für immer und ewig idenzifizierbar sind :p

Gut, wenn man irgendwann so viele Einträge und so viele gelöschte hat, dass man in den Grenzbereich von int kommt ... aber selbst dann gibts doch Abhilfe, also, was solls :rolleyes:

PS: Aber bitte erklär mal kurz wo der Haken liegt, wenn sich die ids nicht anpassen, da bin ich jetzt irgendwie scharf drauf ;)
 
Zurück