Newsanzeige Newsbilder

Letzte Aktualisierung vor 2 Monaten
LayzeeLayzeeAnfänger Anfänger
Veröffentlicht am vor 2 Monaten
Guten Morgen :)
Ich verzweifle langsam aber sicher an der Darstellung der (hochgeladenen) News-Titelbilder auf einer eigenen Startseite.

Unter der V7 funktioniert folgender Code ohne Probleme:
// NEWS SEKTION
 echo '<div class="block block--fullbg block--bgcover bottom-null inset-125 block-bg-11">
 <div class="container">
 <div class="title-wrap text-center">
 <h2 class="h--lg">News</h2>
 </div>';

 // DATENBANK AUSLESEN
 $resultln = dbquery("SELECT tn.*, tc.*, tu.user_id, tu.user_name, tu.user_status, news_reads, news_image
 FROM ".DB_NEWS." tn
 LEFT JOIN ".DB_USERS." tu ON tn.news_name=tu.user_id
 LEFT JOIN ".DB_NEWS_CATS." tc ON tn.news_cat=tc.news_cat_id
 WHERE ".groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().")
 AND (news_end='0'||news_end>=".time().") AND news_draft='0'
 GROUP BY news_id
 ORDER BY news_sticky DESC, news_datestamp DESC LIMIT 0,5"
 );

 // GLOBALE VARIABLEN SETZEN
 global $locale, $settings, $aidlink, $data, $dataln, $info, $infoln;

 // AUSGABE DER NEWS
 echo '<div class="row news-slider ini-news-slider-mobile">';
 if (dbrows($resultln)) {
 $i = 0;
while ($dataln= dbarray($resultln)) {
 $subjectln = trimlink(strip_tags(parseubb($dataln['news_subject'])), 60);
 $shortnews = trimlink(strip_tags(parseubb($dataln['news_news'])), 100);

 echo '<div class="col-sm-4 news-item">
 <div class="news-item-inside">
 <a href="'.BASEDIR.'news.php?readmore='.$dataln['news_id'].'" class="news-item-photo">
 <img src="'.IMAGES_N.''.$dataln["news_image"].'" alt="'.$subjectln.'" style="width:370px; height:370px;">
 </a>
 <div class="news-item-date"> '.showdate("%d.%b.%Y", $dataln["news_datestamp"]).'</div>
 <h4 class="news-item-title"><a href="'.BASEDIR.'news.php?readmore='.$dataln['news_id'].'">'.$subjectln.'</a></h4>
 </div>
 </div>';
 }
 }
 echo '</div>
 <!-- <div class="text-center offset-50">
 <h3><a href="'.BASEDIR.'news.php">»Alle Beiträge«</a></h3>
 </div> -->
 </div>
 </div>';


Zu sehen hier: -> https://60minuten.net

Weiter unten gibt es noch eine Rubrik "Empfehlungen", hier werden zwei bestimmte Newskategorien abgerufen und angezeigt, bei denen auf der gleichen Seite folgender Code funktioniert:
echo '<div class="block block--darkbg block--fullbg bottom-null block--bgcover inset-85 block-bg-10">
 <div class="container">
 <div class="title-wrap text-center">
 <h2><font color="#ffffff">Empfehlungen</h2>
 <div style="align:left; text-align:left; width:45%; float:left;">
 <p class="p--lg">
 <h4 style="color:#ffffff; font-size:30px;">NEWS</h4>';

$result2 = dbquery("SELECT news_id, news_subject, news_image FROM ".DB_NEWS." WHERE news_cat='19' AND ".groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().") AND (news_end='0'||news_end>=".time().") AND news_draft='0' ORDER BY news_datestamp DESC LIMIT 0,5");
 while ($data2 = dbarray($result2)) {
 echo '<img src="'.IMAGES_N.''.$data2["news_image"].'" alt="'.$subject2.'" style="width:50px; height:50px; margin-right:10px; margin-left:10px; margin-bottom:5px; border:1px solid #ffffff;" />';
 echo "<a href='news.php?readmore=".$data2['news_id']."'><font color='#ffffff'>".$data2['news_subject']."</font></a><br />";
 }
 echo '</p></div>


Die eigentliche Datenbankabfrage funktioniert auch unter der V9, allerdings habe ich hier das Problem, dass ich die Titelbilder der News nicht reinbekomme.

Zu sehen hier: ->https://60minuten.net/f9/home.php

Wie kann ich, genau wie auf der V7, die jeweiligen News-Titelbilder anzeigen lassen? Ich dreh hier echt bald am Rad....
K
KrelliSeiten Administrator Seiten Administrator
Veröffentlicht am vor 2 Monaten
Hallo Layzee,
v9 nutzt für die Newsbilder eine eigene News-Galerie. Dafür gibt es die Tabelle 'fusionXXXX_news_gallery'.
Du müsstest also innerhalb der while-Schleife eine weitere DB Abfrage durchführen und in dieser Tabelle die Infos für das anzuzeigende Bild holen.

Das ganze aber nur, wenn in der Tabelle 'fusionXXXX_news' beim jeweiligen Beitrag in der Spalte 'news_image_front_default' ein anderer Wert als 0 (Null) steht. Bei 0 ist nämlich das Newskategorie-Bild als Teaser für den Beitrag definiert. Also wenn news_image_front_default = 0 dann alternativ das Kategoriebild aus der Tabelle 'fusionXXXX_news_cats' ermitteln und ausgeben lassen.
Wenn ich die Zeit finde dir den Code so anzupassen werde ich das hier ergänzen.

Zusammengefürt am Donnerstag, 6. Juni 2024, 14:31:
Hab das jetzt mal für dich angepasst. Dieser Code funktioniert nur unter der v9:
// NEWS SEKTION
 echo '<div class="block block--fullbg block--bgcover bottom-null inset-125 block-bg-11">
 <div class="container">
 <div class="title-wrap text-center">
 <h2 class="h--lg">News</h2>
 </div>';

 // DATENBANK AUSLESEN
 $resultln = dbquery("SELECT tn.*, tc.*, tu.user_id, tu.user_name, tu.user_status, news_id, news_subject, news_cat, news_image_front_default
 FROM ".DB_NEWS." tn
 LEFT JOIN ".DB_USERS." tu ON tn.news_name=tu.user_id
 LEFT JOIN ".DB_NEWS_CATS." tc ON tn.news_cat=tc.news_cat_id
 WHERE ".groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().")
 AND (news_end='0'||news_end>=".time().") AND news_draft='0'
 GROUP BY news_id
 ORDER BY news_sticky DESC, news_datestamp DESC LIMIT 0,5"
 );

 // GLOBALE VARIABLEN SETZEN
 //global $locale, $settings, $aidlink, $data, $dataln, $info, $infoln;

 // AUSGABE DER NEWS
 echo '<div class="row news-slider ini-news-slider-mobile">';
 if (dbrows($resultln)) {
 $i = 0;
while ($dataln= dbarray($resultln)) {
 $subjectln = trimlink(strip_tags(parseubb($dataln['news_subject'])), 60);
 $shortnews = trimlink(strip_tags(parseubb($dataln['news_news'])), 100);

// news image
$news_image = IMAGES_N . "news_default.jpg"; // fallback
if ($dataln['news_image_front_default'] != '0') {
 $tmp_q = dbarray(dbquery("SELECT news_image_t1 FROM ".DB_NEWS_IMAGES." WHERE news_image_id = '".$dataln['news_image_front_default']."' LIMIT 1;"));
 if (file_exists(IMAGES_N_T . $tmp_q['news_image_t1'])) { // smaller images have no thumbnail
 $news_image = IMAGES_N_T . $tmp_q['news_image_t1'];
 } else {
 $news_image = IMAGES_N . $tmp_q['news_image_t1'];
 }
} else {
 $tmp_q = dbarray(dbquery("SELECT news_cat_image FROM ".DB_NEWS_CATS." WHERE news_cat_id = '".$dataln['news_cat']."' LIMIT 1;"));
 $news_image = IMAGES_NC . $tmp_q['news_cat_image'];
}

 echo '<div class="col-sm-4 news-item">
 <div class="news-item-inside">
 <a href="'.BASEDIR.'news.php?readmore='.$dataln['news_id'].'" class="news-item-photo">
 <img src="'.$news_image.'" alt="'.$subjectln.'" style="width:370px; height:370px;">
 </a>
 <div class="news-item-date"> '.showdate("%d.%b.%Y", $dataln["news_datestamp"]).'</div>
 <h4 class="news-item-title"><a href="'.BASEDIR.'news.php?readmore='.$dataln['news_id'].'">'.$subjectln.'</a></h4>
 </div>
 </div>';
 }
 }
 echo '</div>
 <!-- <div class="text-center offset-50">
 <h3><a href="'.BASEDIR.'news.php">»Alle Beiträge«</a></h3>
 </div> -->
 </div>
 </div>';
LayzeeLayzeeAnfänger Anfänger
Veröffentlicht am vor 2 Monaten
Hallo Krelli,

vielen lieben Dank!
Es ist bezeichnend und unglaublich traurig zugleich, dass man im Forum auf der offiziellen UK-Page auf Anfragen dieser Art einfach keine Antwort bekommt.
Ich hatte die DB-Änderung schon gesehen, mich gefragt was der Unsinn soll und es mit LEFT JOIN in der ersten DB-Abfrage versucht, aber leider ohne Erfolg.

Ich vermisse die Zeiten, in denen es viel mehr fähige Leute wie dich gab, die mit ihrer Kompetenz Andere untersützen.

Nochmals vielen Dank!
K
KrelliSeiten Administrator Seiten Administrator
Veröffentlicht am vor 2 Monaten
Danke für die Blumen Zwinkern
Hundertprozentig professionell wäre aber gewesen, wenn ich mit 'join' in nur 1 Datenbank-Abfrage gearbeitet hätte. Das wird aber schnell unübersichtlich und kompliziert.
Wie in meinem Beispiel funktioniert das auch und ist besser logisch nachvollziehbar.
Du kannst alle Themen in diesem Forum sehen.
Du kannst nicht ein neues Thema in diesem Forum eröffnen.
Du kannst nicht auf dieses Thema antworten.
Du kannst nicht Umfragen in diesem Forum erstellen.
Du kannst nicht Anhänge in diesem Forum hochladen.
Du kannst nicht Anhänge in diesem Forum herunterladen.