tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
632
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    gbalbier gbalbier ist offline Mitglied
    Registriert seit
    Nov 2004
    Beiträge
    17
    Hi an alle
    Ich möchte auf meiner Page folgendes realisieren.
    Es sollen Random/ Zufallsbilder eingeblendet werden.

    Soweit so gut.
    Aber wie verlinken, daß jedes Zufallsbild den Richtigen Link zum Datensatz bekommt.

    Normal geht es MySQL DB ansprechen, Datensatz (Bildname) holen, Bild anzeigen.

    Hier muss es irgendwie RÜckwärts passieren.
    Erst Bild zeigen, Bild muss sagen welcher Datensatz das ist. -)) hmmmmm
    Oder denke ich da falsch?

    Mein Experiment sieht wie folgt aus:

    PHP-Code:
      Zufallsbild<br>
        
        <?php 
    // print a random image. Don't forget ending slash!
    // setting $type to 'all' will return all images.
    print getRandomImage(''); 
    function 
    getRandomImage($dir,$type='random')

    global 
    $errors
    if (
    is_dir($dir)) { 
    $fd opendir($dir); 
    $images = array(); 
    while ((
    $part = @readdir($fd)) == true) { 
    clearstatcache();
    if ( 
    eregi("(gif|jpg|png|jpeg)$",$part) ) {
    $images[] = $part


    // adding this in case you want to return the image array
    if ($type == 'all') { return $images; }
    // Be sure to call srand() once per script
    srand ((double) microtime() * 1000000); 
    $key rand (0,sizeof($images)-1); 
    return 
    $dir $images[$key]; 
    } else { 
    $errors[] = $dir.' is not a directory'
    return 
    false


    ?>

    <?$tmp=mysql_query("SELECT id, fname, gender, birthday, pic1, pic2, pic3 FROM ".C_MYSQL_MEMBERS." WHERE status >= '7' order by regdate DESC limit ".C_LASTREG);
    //while($i=mysql_fetch_array($tmp)) {
    $photo = (trim($i['pic1']) == '') ? $i['id'] : $i['pic1'];
    //echo "<a href=\"view.php?l=".$l."&id=".$i['id']."\" class=desc><img src="< print getRandomImage('members/uploads/');?>
    <br>
    <a href=view.php?l=&id=\".$photo.\"><img src="<? print getRandomImage('members/uploads/');?>" width="100" border="0">
    <br>
    <a href=\"view.php?l=".$l."&id=".$i['id']."\" class=desc><img src="<? print getRandomImage('members/uploads/');?>" width="100" border="0">;
    ?>
    Das witzige ist, die erste Anzeige musste ich auskommentieren

    PHP-Code:
     //echo "<a href=\"view.php?l=".$l."&id=".$i['id']."\" class=desc><img src="< print getRandomImage('members/uploads/');?> 
    Das sieht dann so aus
    HTML-Code:
    members/uploads/03115013-618.jpg1
    Hinter .jpg wird immer eine "1" hinzugefügt.

    Statt Bild wurde der Pfad und der Dateiname angezeigt, aber nicht das Bild.
    Erst ab dem 2-ten Bild werden Bilder in zuffäliger Reihenfolge angezeigt, der Link auch schon fast komplett aufgebaut, bis auf die "id" des entsprechenden Datensatzes.

    Hat jemand eine Idee, wie ich mein Vorhaben realiesieren kann?

    Gruß
    George
     

  2. #2
    der-sigi der-sigi ist offline Grünschnabel
    Registriert seit
    Nov 2004
    Beiträge
    2
    Hi George

    Deine Darstellung ist leider nicht ganz eindeutig und die DB auch wohl oversized, aber egal.

    Warum durchsuchst Du das Verzeichnis nach Bildern? Wenn Du die Bilddateinamen in der DB hast, kannst Du dort einen Datensatz per Zufall aussuchen und das Bild anzeigen und hast den passenden Link dazu.

    Ohne DB kannst Du in das Bildverzeichnis Textdateien legen, die den gleichen Namen wie die Bilddatei haben, aber natürlich eine andere Endung - beispielsweise ".url" und dort den Verweis reinlegen. Dann hast Du anhand des Bilddateinamens auch den Verweis.

    Beispiel:

    hugendubel.jpg --> ist Bilddatei für den Schirm
    hugendubel.url --> ist Verweis drin: http://www.der-schirm.de

    Gruß Sigi
     

  3. #3
    gbalbier gbalbier ist offline Mitglied
    Registriert seit
    Nov 2004
    Beiträge
    17
    Zitat Zitat von der-sigi
    Hi George

    Warum durchsuchst Du das Verzeichnis nach Bildern? Wenn Du die Bilddateinamen in der DB hast, kannst Du dort einen Datensatz per Zufall aussuchen und das Bild anzeigen und hast den passenden Link dazu.

    Gruß Sigi
    Hi
    So habe ich mir das auch anfangs gedacht, weiss aber nicht wie ich es anstellen soll, daß die DB erst zufällig den Datensatz liefern soll und dann das passende Bild dazu.

    Ja klar, das wäre die logischere Lösung.
    Hast Du einen Tipp?
    Gruß
    Georg
     

  4. #4
    der-sigi der-sigi ist offline Grünschnabel
    Registriert seit
    Nov 2004
    Beiträge
    2
    Hallole

    da Du wohl anderen die Arbeit überläßt und ein bißchen faul bist, hier die weiteren Schritte:

    http://www.php-faq.de/q/q-mysql-zufall.html

    Damit Du nicht nachschlagen mußt:

    SELECT * FROM tabelle ORDER BY RAND() LIMIT 1

    So, und jetzt hast Du Deinen Datensatz, in dem dann hoffentlich alle notwendigen Teile drin sind. Und das nächste Mal, zuerst nachsehen und dann fragen.

    Viele Grüße
    Sigi
     

Ähnliche Themen

  1. Zufallsbild mit link
    Von dominik31 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 22.12.09, 14:17
  2. if-anweisung und dann erst db-eintrag
    Von XXdynastieXX im Forum PHP
    Antworten: 18
    Letzter Beitrag: 04.06.08, 16:01
  3. Wie geht das? [erst lesen! DANN meckern!]
    Von e-Slaughter im Forum Cinema 4D
    Antworten: 7
    Letzter Beitrag: 21.07.04, 18:52
  4. Zufallsbild als Link - Rahmen stört
    Von bassanova im Forum HTML & XHTML
    Antworten: 3
    Letzter Beitrag: 02.05.04, 14:11
  5. link nur dann wenn geht
    Von Bleem im Forum PHP
    Antworten: 1
    Letzter Beitrag: 22.12.02, 19:03