bilder links aus mysql lesen und mit ordner verknüpfen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • bilder links aus mysql lesen und mit ordner verknüpfen

    als neuer treuer Member dieses Forums möchte ich erstmal alle begrüßen
    ein Hallo an alle php-recurce.de Member, Moderatoren und Admins.


    ich hab hier ein kleinen Syntax Problem,

    Mir fiel ein Script in die Hände welches diesen zweck erfüllen müsste
    und beim anpassen auf meine Seite tauchen 2 Fehler auf die immer mit dem einbinden des Bildes zu tun haben.

    Zeile 40
    Zeile 136
    jeweils unter // Bild anzeigen

    der fehler in Zeile 97 kommt durch das kürzen wegen der 10k Zeichen hier im Forum und sollte ignoriert werden

    PHP-Code:
    // Nachrichten auslesen
     
    $kommando $verbindung->prepare("SELECT `id`, `titel`, `autor`, `nachricht`, `bild`, `url`, `datum`
                                                            FROM `" 
    $TABELLE "`
                                                            WHERE `anzeige` = '1'
                                                             " 
    $SQL_FilterAndKategorie $SQL_DetailsAndId "
                                                            ORDER BY `datum` DESC
                                                            LIMIT "  
    $start ", " $NACHRICHTEN_SEITE);
     
    $kommando->bindParam(':filter'$filter);
     if (isset(
    $_GET["details"])) $kommando->bindParam(':id'$_GET["details"]);
     
    $kommando->execute();
     
    $nachrichten $kommando->fetchAll(PDO::FETCH_OBJ);

     if (
    $anzahlNachrichten 0) {

     
    // Nachrichten-Liste anzeigen
     
    if ($NACHRICHTEN_LISTE == "ja") {
      echo 
    '<h4>Auf dieser Seite:</h4><ul>';
      foreach (
    $nachrichten as $nachricht) {
       
    // Internen Link zur Nachricht setzen
       
    echo '<li><a href="' $scriptName '#n' $nachricht->id '">' $nachricht->titel '</a></li>';
      }
      echo 
    '</ul>';
     }

     
    // Nachrichten anzeigen
     
    foreach ($nachrichten as $nachricht) {
      
    // Datumsformat umwandeln
      
    sscanf($nachricht->datum"%4s-%2s-%2s"$jahr$monat$tag);
      
    // Bild anzeigen
      
    $bild $nachricht->bild <> '' && file_exists($BILDPFAD $nachricht->bild) ?
       
    '<img src="' $BILDPFAD $nachricht->bild '" ' . (getimagesize($BILDPFAD $nachricht->bild)[3]) . ' title="' $nachricht->titel '" alt="" class="bild"><br> ' '';
      
    // URL zur einer externen Seite
      
    $url $nachricht->url != '' ' -&raquo; <a href="' $nachricht->url '" target="_blank">' str_replace('http://'''$nachricht->url) . '</a>' '';
      
    // Autor
      
    $autor $AUTOR_ANZEIGE == 'ja' ' - von: <em>' $nachricht->autor '</em>' '';
      
    // "Neu"-Markierung
      
    $neu = (floor((time() - mktime(000$monat$tag$jahr)) / 86400)) <= $NEU_MARKIERUNG_TAGE && $NEU_MARKIERUNG == 'ja' '<span class="neu">Neu:</span> ' '';
      
    // Anker für die Nachrichten Liste
      
    $liste $NACHRICHTEN_LISTE == "ja" '<a id="n' $nachricht->id '"></a>' '';
      echo 
    '
     <dl class="nachrichten">
      <dt>
      ' 
    $liste '
       <small>' 
    $tag '.' $monat '.' $jahr '</small> - ' $neu ' <span>' $nachricht->titel '</span>' $autor '
       </dt>
      <dd>' 
    $bild nl2br($nachricht->nachricht) . $url . ($bild != '' '<br style="clear:both">' '')  . '</dd>
     </dl>'
    ;
       
    $nachrichtenId[] = $nachricht->id;
      }
     }

     
    // Link-Navigation (Zurück, Weiter)
     
    if ($NAVIGATION == "ja") {
      if (
    $anzahlNachrichten $NACHRICHTEN_SEITE) {
       echo  
    '<p id="navigation">Seite ' $seite ' von ' $seiten '<br>' .
       (
    $seite '&NestedLessLess; <a href="' $scriptName '?seite=1' $ampFilter '#anker">Erste</a>&emsp; ' '') .
       ((
    $seite 1) > '&lt; <a href="' $scriptName '?seite=' . ($seite 1) . $ampFilter '#anker">Vorherige</a>' '') .
       
    '&emsp; ' .
       ((
    $seite 1)  <= $seiten '<a href="' $scriptName '?seite=' . ($seite 1) . $ampFilter '#anker">Nächste</a> &gt;&emsp; ' '') .
       (
    $seite $seiten '<a href="' $scriptName '?seite=' $seiten $ampFilter '#anker">Letzte</a> &NestedGreaterGreater;' '') .
       
    '</p>';
      }
     }

     
    // Weitere Nachrichten der aktuellen Kategorie anzeigen
     
    if ($KATEGORIEN == "ja" && $KATEGORIE_LISTE == "ja") {
      
    // Aktuell gezeigte Nachrichten aussortieren
      
    $SQL_WhereAndId =" AND `id` != " implode(" AND `id` != "$nachrichtenId);
      
    $kommando $verbindung->prepare("SELECT `id`, `titel`
                                                             FROM `" 
    $TABELLE "`
                                                             WHERE `anzeige` = '1'
                                                              " 
    $SQL_FilterAndKategorie $SQL_WhereAndId "
                                                             ORDER BY `datum` DESC LIMIT " 
    $KATEGORIE_LISTE_ANZAHL);
      
    $kommando->bindParam(':filter'$filter);
      
    $kommando->execute();
      
    $nachrichten $kommando->fetchAll(PDO::FETCH_OBJ);
      
    // Nur anzeigen wenn es weitere Nachrichten gibt
      
    if (count($nachrichten) > 0) {
       echo 
    '<h4>Weitere Nachrichten:</h4>' .
        
    '<ul>';
       foreach (
    $nachrichten as $nachricht) {
        
    // Link zur Nachricht (Einzel-Ansicht)
        
    echo '<li><a href="?details=' $nachricht->id $ampFilter '#anker">' $nachricht->titel '</a></li>';
       }
       echo 
    '<ul>';
      }
     }
    }


    // Suche durchführen
    if (isset($_POST["suchen"])) {
      
    // Im Suchbegriff HTML-Elemente und Leerzeichen entfernen
      
    $_POST["suchbegriff"] = strip_tags(trim($_POST["suchbegriff"]));
     
    // Such-Formular anzeigen
     
    echo '<form action="#anker" method="post" id="suche"> 
      <input type="search" name="suchbegriff" value="' 
    $_POST["suchbegriff"] . '" min="' $SUCHBEGRIFF_MIN '" required="required">
      <input type="hidden" name="seite" value="' 
    $_POST["seite"] . '">
      <input type="hidden" name="filter" value="' 
    $_POST["filter"] . '">
      <input type="submit" name="suchen" value="suchen">
      </form>'
    ;

     if (
    strlen($_POST["suchbegriff"]) >= $SUCHBEGRIFF_MIN) {
      
    // Dem Suchbegriff % (= Jokerzeichen) hinzufügen
      
    $like "%" $_POST["suchbegriff"] . "%";
      
    $kommando $verbindung->prepare("SELECT `titel`, `autor`, `nachricht`, `bild`, `url`, `datum`
                                                                 FROM `" 
    $TABELLE "`
                                                                 WHERE (`kategorie` LIKE :suchbegriff OR 
                                                                               `titel` LIKE :suchbegriff OR 
                                                                               `autor` LIKE :suchbegriff OR 
                                                                               `nachricht` LIKE :suchbegriff OR 
                                                                               `url` LIKE :suchbegriff) AND `anzeige` = '1'
                                                                 ORDER BY `datum` DESC"
    );
      
    $kommando->bindParam(':suchbegriff'$like);
      
    $kommando->execute();
      
    $nachrichten $kommando->fetchAll(PDO::FETCH_OBJ);
      
    $anzahlNachrichten count($nachrichten);

      
    // Gefundene Nachrichten anzeigen
      
    if ($anzahlNachrichten 0) {
       echo 
    '<p>Es ' . ($anzahlNachrichten == 'wurde '$anzahlNachrichten ' Nachricht' 'wurden ' $anzahlNachrichten ' Nachrichten') . ' gefunden:</p>';
       foreach (
    $nachrichten as $zaehler => $nachricht) {
        
    // Datumsformat umwandeln
        
    sscanf($nachricht->datum"%4s-%2s-%2s"$jahr$monat$tag);
        
    // Bild anzeigen
        
    $bild $nachricht->bild <> '' && file_exists($BILDPFAD $nachricht->bild) ?
         
    '<img src="' $BILDPFAD $nachricht->bild '" ' . (getimagesize($BILDPFAD $nachricht->bild)[3]) . ' title="' $nachricht->titel '" alt="" class="bild"><br> ' '';
        
    // URL zur einer externen Seite
        
    $url $nachricht->url != '' ' -&raquo; <a href="' $nachricht->url '" target="_blank">' str_replace('http://'''$nachricht->url) . '</a>' '';
        
    // Autor
        
    $autor $AUTOR_ANZEIGE == 'ja' ' - von: <em>' $nachricht->autor '</em>' '';
        
    // "Neu"-Markierung
        
    $neu = (floor((time() - mktime(000$monat$tag$jahr)) / 86400)) <= $NEU_MARKIERUNG_TAGE && $NEU_MARKIERUNG == 'ja' '<span class="neu">Neu:</span> ' '';
        echo 
    '
       <dl class="nachrichten">
        <dt><small>' 
    $tag '.' $monat '.' $jahr '</small> - ' $neu ' <span>' $nachricht->titel '</span>' $autor '</dt>
        <dd>' 
    $bild  nl2br($nachricht->nachricht) . $url . ($bild != '' '<br style="clear:both">' '')  . '</dd>
       </dl>'
    ;
        
    // Beim erreichen der max. Suchergebnisse abbrechen
        
    if ($zaehler == $SUCHERGEBNISSE_MAX) {
         break;
        }
       }
      }
      else {
       echo 
    '<p>Es wurden keine Nachrichten zum Suchbegriff gefunden!</p>';
      }
     }
     else {
      echo 
    '<p>Es sind mindestens ' $SUCHBEGRIFF_MIN ' Zeichen nötig!</p>';
     }
     echo 
    '<p>&lt;&lt; <a href="' $scriptName '?seite=' $_POST["seite"] . '&filter=' $_POST["filter"] . '">Zurück</a></p>'// Kein Anker!
    }


    // Seitenübersicht
    if (isset($_GET["sitemap"])) {
     echo 
    '<h3>Sitemap (Seitenübersicht)</h3>' .
      
    '<blockquote>';
     
    // Alle Nachrichten auslesen aufsteigend nach Kategorien sortiert
     
    $kommando $verbindung->query("SELECT `id`, `kategorie`, `titel`
                                                             FROM `" 
    $TABELLE "`
                                                             ORDER BY `kategorie` ASC"
    );
     
    $nachrichten $kommando->fetchAll(PDO::FETCH_OBJ);
     
    $map = array();
     foreach (
    $nachrichten as $nachricht) {
      
    // Kategorie nicht in $map -> Kategorie hinzufügen und Kategorie anzeigen
      
    if (!in_array($nachricht->kategorie$map)) {
       
    $map[] = $nachricht->kategorie;
       echo 
    '</blockquote>' .
        
    '<h4>' $nachricht->kategorie '</h4>' .
        
    '<blockquote>';
      }
      
    // Link zur Nachricht (Einzel-Ansicht)
      
    echo '<a href="?details=' $nachricht->id '&filter=' $nachricht->kategorie '#anker">' $nachricht->titel '</a><br>';
     }
     echo 
    '</blockquote>' .
      
    '<p>&lt;&lt; <a href="' $scriptName '?seite=' $_GET["seite"] . '&filter=' $_GET["filter"] . '#anker">Zurück</a></p>';
    }
    ?> 
    Nachtrag zum fehler:

    falsch
    (getimagesize($BILDPFAD . $nachricht->bild)[3])

    richtig
    getimagesize($BILDPFAD . $nachricht->bild[3])

    ich würde ja auch das gesamte script sharen aber ich find keine option datein anzuhängen
    Zuletzt geändert von comontechnet; 16.08.2013, 13:43.
Lädt...
X