ilch Forum » Allgemein » HTML, PHP, SQL,... » News Filtern lassen

Geschlossen
  1. #1
    User Pic
    Mictlan Mitglied
    Registriert seit
    09.03.2008
    Beiträge
    123
    Beitragswertungen
    0 Beitragspunkte
    Hallo liebe Community...
    ich möchte die News einer Seite in der reihe "news_kat" nach inhalt filtern lassen, dazu möchte ich folgenden Befehl nutzen:

    WHERE `news_kat` LIKE 'Interview'


    dieser Befehl soll bzw. muss meiner Meinung nach in die News.php,
    die beinhaltet folgende Zeilen:

    <?php
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    
    
    $title = $allgAr['title'].' :: News';
    $hmenu = 'News';
    $design = new design ( $title , $hmenu );
    $design->addheader('<link rel="alternate" type="application/atom+xml" title="News (Atom)" href="index.php?news-atom" />
    <link rel="alternate" type="application/rss+xml" title="News (RSS)" href="index.php?news-rss" />');
    
    function news_find_kat ($kat) {
    
    		$katpfad = 'include/images/news/';
    		$katjpg = $katpfad.$kat.'.jpg';
    		$katgif = $katpfad.$kat.'.gif';
    		$katpng = $katpfad.$kat.'.png';
    
    		if ( file_exists( $katjpg ) ) {
    		  $pfadzumBild = $katjpg;
    		} elseif ( file_exists ( $katgif ) ) {
    		  $pfadzumBild = $katgif;
    		} elseif ( file_exists ( $katpng ) ) {
    		  $pfadzumBild = $katpng;
    		}
    
    		if ( !empty( $pfadzumBild ) ) {
    			$kategorie = '<img style="" src="'.$pfadzumBild.'" alt="'.$kat.'">';
    		} else {
    		  $kategorie = '<b>'.$kat.'</b><br /><br />';
    		}
    
    		return ( $kategorie );
    }
    
    
    
    if ( !is_numeric($menu->get(1)) )  {
      if($menu->get(1) == 'rss' || $menu->get(1) == 'atom')
      {
          #ob_clean();
          $feed_type = $menu->get(1);
    
        $abf = "SELECT MAX(news_time) AS last_update FROM prefix_news";
        $erg = db_query($abf);
        $row = db_fetch_assoc($erg);
        $last_update = str_replace(' ', 'T', $row['last_update']) . 'Z';
    
        $abf = "SELECT
          a.news_title as title,
          a.news_id as id,";
        $abf .= ($feed_type == 'atom') ? 'a.news_time as datum,' : "DATE_FORMAT(a.news_time,'%a, %e %b %y %H:%i:%s') as datum,";
        $abf .=
         "a.news_kat as kate,
          a.news_text as text,
          b.name as username
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        WHERE a.news_recht = 0
        ORDER BY news_time DESC LIMIT 15";
        $erg = db_query($abf);
        $tpl = new tpl( 'news_'.$menu->get(1).'.htm' );
    
        header('Content-type: application/' . $menu->get(1)  . '+xml');
    
        $tpl->set_ar_out(array('FEEDTITLE' => $allgAr['title'],
                               'UPDATED' => $last_update,
                               'SITEURL' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF'])), 0);
        while ($row = db_fetch_assoc($erg))
        {
          if($feed_type == 'atom')
          {
    		$Z = (date('Z') > 0 ? '+' : '').date('H:i:s', date('Z') + 23 * 3600);
    		$row['datum'] = str_replace(' ', 'T', $row['datum']) . $Z;
          }
    
          $a = explode('[PREVIEWENDE]', $row['text']);
          $tpl->set_ar_out(array('TITLE' => $row['title'],
                                 'TXT' => bbcode($a[0]),
                                 'LINK' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']). '/index.php?news-' . $row['id'],
                                 'AUTHOR' => $row['username'],
                                 'DATE' => $row['datum']
                                 ), 1);
        }
        $tpl->out(2);
        exit;
      }
      else
      {
        $design->header();
        $limit = $allgAr['Nlimit'];
        $page = ( $menu->getA(1) == 'p' ? $menu->getE(1) : 1 );
        $MPL = db_make_sites ($page , "WHERE news_recht >= ".$_SESSION['authright'] , $limit , '?news' , 'news' );
        $anfang = ($page - 1) * $limit;
    
        $tpl = new tpl ( 'news.htm' );
    
        $abf = "SELECT
          a.news_title as title,
          a.news_id as id,
          DATE_FORMAT(a.news_time,'%d. %m. %Y') as datum,
          DATE_FORMAT(a.news_time,'%W') as dayofweek,
          a.news_kat as kate,
          a.news_text as text,
          b.name as username
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        WHERE ".$_SESSION['authright']." <= a.news_recht
           OR a.news_recht = 0
        ORDER BY news_time DESC
        LIMIT ".$anfang.",".$limit;
        #echo '<pre>'.$abf.'</pre>';
    
        $erg = db_query($abf);
        while ($row = db_fetch_assoc($erg)) {
    
          $k0m  = db_query("SELECT COUNT(ID) FROM `prefix_koms` WHERE uid = ".$row['id']." AND cat = 'NEWS'");
          $row['kom']  = db_result($k0m,0);
    
          $row['kate'] = news_find_kat($row['kate']);
          $row['datum'] = $lang[$row['dayofweek']].' '.$row['datum'];
          if ( strpos ( $row['text'] , '[PREVIEWENDE]' ) !== FALSE ) {
            $a = explode('[PREVIEWENDE]' , $row['text']);
            $row['text'] = $a[0];
            $row['readwholenews'] = '&raquo; <a href="index.php?news-'.$row['id'].'">'.$lang['readwholenews'].'</a>  &laquo;';
          } else {
            $row['readwholenews'] = '';
          }
          $row['text'] = bbcode($row['text']);
          $tpl->set_ar_out($row,0);
        }
        $tpl->set_out('SITELINK', $MPL,1);
        unset($tpl);
      }
    
    
    
    } else {
    
     $design->header();
     $nid = escape($menu->get(1), 'integer');
     $row = db_fetch_object(db_query("SELECT * FROM `prefix_news` WHERE news_id = '".$nid."'"));
    
      if ( has_right(array($row->news_recht)) ) {
        $komsOK = true;
    	  if ( $allgAr['Ngkoms'] == 0 ) {
          if ( loggedin() ) {
            $komsOK = true;
      		} else {
    	  	  $komsOK = false;
    		  }
        }
    	  if ( $allgAr['Nukoms'] == 0 ) {
    	    $komsOK = false;
    	  }
    
        # kommentar add
      	if ( (loggedin() OR chk_antispam ('newskom')) AND $komsOK AND !empty($_POST['name']) AND !empty($_POST['txt']) ) {
          $_POST['txt'] = escape($_POST['txt'],'string');
    		  $_POST['name'] = escape($_POST['name'],'string');
          db_query("INSERT INTO `prefix_koms` (`uid`,`cat`,`name`,`text`) VALUES (".$nid.",'NEWS','".$_POST['name']."','".$_POST['txt']."')");
    	  }
    	  # kommentar add
    
        # kommentar loeschen
        if ($menu->getA(2) == 'd' AND is_numeric($menu->getE(2)) AND has_right(-7, 'news')) {
          $kommentar_id = escape($menu->getE(2),'integer');
          db_query("DELETE FROM prefix_koms WHERE uid = ".$nid." AND cat = 'NEWS' AND id = ".$kommentar_id);
        }
        # kommentar loeschen
        $kategorie = news_find_kat($row->news_kat);
    
    		$textToShow = bbcode($row->news_text);
    		$textToShow = str_replace('[PREVIEWENDE]','',$textToShow);
    		if ( !empty($such) ) {
    		  $textToShow = markword($textToShow,$such);
    		}
    
    		$tpl = new tpl ( 'news.htm' );
    		$ar = array (
          'TEXT'  => $textToShow,
    			'KATE'  => $kategorie,
          'NID' => $nid,
          'uname' => $_SESSION['authname'],
    			'ANTISPAM' => (loggedin()?'':get_antispam ('newskom', 0)),
    			'NAME'  => $row->news_title
    		);
    		$tpl->set_ar_out($ar, 2 );
    
    		if ($komsOK) {
    		  $tpl->set_ar_out ( array ( 'NAME' => $row->news_title , 'NID' => $nid ), 3 );
    		}
        $erg1 = db_query("SELECT text, name, id FROM `prefix_koms` WHERE uid = ".$nid." AND cat = 'NEWS' ORDER BY id DESC");
    		$ergAnz1 = db_num_rows($erg1);
    		if ( $ergAnz1 == 0 ) {
    		  echo '<b>'.$lang['nocomments'].'</b>';
    		} else {
    		  $zahl = $ergAnz1;
    		  while ($row1 = db_fetch_assoc($erg1)) {
            $row1['text'] = bbcode(trim($row1['text']));
            if (has_right(-7, 'news')) {
              $row1['text'] .= '<a href="?news-'.$nid.'-d'.$row1['id'].'"><img src="include/images/icons/del.gif" alt="l&ouml;schen" border="0" title="l&ouml;schen" /></a>';
            }
            $tpl->set_ar_out( array('NAME' => $row1['name'], 'TEXT' => $row1['text'], 'ZAHL' => $zahl ) , 4 );
            $zahl--;
    		  }
        }
    	}
      $tpl->out(5);
    }
    
    $design->footer();
    
    ?>


    meine Frage ist nun, an welche stelle der Befehl muss um nur News mit dem Kategorie-Inhalt "Interview" ausgeben zu lassen?


    Zuletzt modifiziert von Mictlan am 29.05.2010 - 00:48:53
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    112/113
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Mictlan Mitglied
    Registriert seit
    09.03.2008
    Beiträge
    123
    Beitragswertungen
    0 Beitragspunkte
    wenn ich die zeilen 112/113 damit ersetzte... für was stehen dann diese 2 zeilen? ich möchte vom eigentlichen script ja nichts kaputt machen
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mictlan Mitglied
    Registriert seit
    09.03.2008
    Beiträge
    123
    Beitragswertungen
    0 Beitragspunkte
    ich habe zwei einträge in der db mit "news_kat"-Inhalt Interview, wenn ich zeile 112/113 mit meiner zeile ersetzt, zeigt er mir zwar nur die Interviews an, aber auch eine 2. seite wo alle news mit anderem Kategorie-Inhalt stehen

    Look there: 115999.webhosting42.1blu.de/hermodur/index.php?interviews
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Chester Mitglied
    Registriert seit
    17.02.2009
    Beiträge
    753
    Beitragswertungen
    19 Beitragspunkte
    ich glaub du sollst es dazwischen klemmen lachen
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.634
    Beitragswertungen
    1193 Beitragspunkte
    Nicht ersetzen, sondern hinzufügen:

    WHERE ".$_SESSION['authright']." <= a.news_recht 
    OR a.news_recht = 0 
    AND a.news_kat LIKE 'Interview'
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Mictlan Mitglied
    Registriert seit
    09.03.2008
    Beiträge
    123
    Beitragswertungen
    0 Beitragspunkte
    danke ersteinmal für die schnellen antworten,
    ich hab das jetzt wie lord|schirmer schrieb gemacht,
    allerdings zeigt er mir nun wieder alle news einträge an,
    nicht nur die mit dem inhalt Interview
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.634
    Beitragswertungen
    1193 Beitragspunkte
    Probier mal
    AND kate LIKE 'Interview'

    oder
    AND kate = 'Interview'


    Wenn die Newskategorie immer genau gleich ist, brauchst Du LIKE nicht unbedingt, es ist eher für die Suche von Teilen in einer Zeichenfolge zu gebrauchen! '%xyz%'
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Mictlan Mitglied
    Registriert seit
    09.03.2008
    Beiträge
    123
    Beitragswertungen
    0 Beitragspunkte
    AND kate LIKE 'Interview'

    &
    AND kate = 'Interview'

    bringen folgenden Error:

    ZitatZitat
    MySQL Error:
    1054 : Unknown column 'kate' in 'where clause'
    in Query:
    SELECT a.news_title as title, a.news_id as id, DATE_FORMAT(a.news_time,'%d. %m. %Y') as datum, DATE_FORMAT(a.news_time,'%W') as dayofweek, a.news_kat as kate, a.news_text as text, b.name as username FROM ic1_news as a LEFT JOIN ic1_user as b ON a.user_id = b.id WHERE -9 <= a.news_recht OR a.news_recht = 0 AND kate LIKE 'Interview' ORDER BY news_time DESC LIMIT 0,5

    Debug backtrace:
    @ mysql.php:32 -- debug_bt()
    @ mysql.php:50 -- db_check_error(...)
    @ interviews.php:119 -- db_query(...)
    @ index.php:35 -- require_once(...)


    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /hp/bo/ac/ue/www/hermodur/include/includes/func/db/mysql.php on line 58
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Mictlan Mitglied
    Registriert seit
    09.03.2008
    Beiträge
    123
    Beitragswertungen
    0 Beitragspunkte
    ich denke mal, wenn das würde es so heißen:

    AND a.news_kat LIKE 'Interview'

    oder
    AND a.news_kat = 'Interview'


    habe diese auch schon ausprobiert,
    jedoch filtert er es dann nicht,
    sprich, ich sehe dennoch alle News aller Kategorien


    Zuletzt modifiziert von Mictlan am 29.05.2010 - 13:47:41
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Mictlan Mitglied
    Registriert seit
    09.03.2008
    Beiträge
    123
    Beitragswertungen
    0 Beitragspunkte
    kann niemand mehr helfen?
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.634
    Beitragswertungen
    1193 Beitragspunkte
    Probiers mal so! Ansonsten stehe ich auch auf dem Schlauch!

    WHERE a.news_kat = 'Interview' AND ".$_SESSION['authright']." <= a.news_recht OR a.news_recht = 0
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Mictlan Mitglied
    Registriert seit
    09.03.2008
    Beiträge
    123
    Beitragswertungen
    0 Beitragspunkte
    115999.webhosting42.1blu.de/hermodur/index.php?interviews

    also leider filter er es immernoch nicht wenn ich allerdings die zeilen 112/113 mit folgendem ersetzte filtert er es erfolgreich!
    WHERE `news_kat` LIKE 'Interview'

    jedoch fehlt dann das hier:
    #
       WHERE ".$_SESSION['authright']." <= a.news_recht
    #
          OR a.news_recht = 0


    und den filter wendet er dann nur auf die erste seite an, alle anderen news schiebt er automatisch auf seite 2
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    WHERE (".$_SESSION['authright']." <= a.news_recht 
    OR a.news_recht = 0) 
    AND a.news_kat LIKE 'Interview'
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Mictlan Mitglied
    Registriert seit
    09.03.2008
    Beiträge
    123
    Beitragswertungen
    0 Beitragspunkte
    okay super, danke Mairu, funktioniert perfekt...
    wie mach ich das jetzt das er auf der 2. seite sprich den Sitelink sachen das auch filtert?

    den jetzt hab ich trotzdem ne 2. seite obwohl die gar nicht da sein sollte
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    $MPL = db_make_sites ($page , "WHERE (".$_SESSION['authright']." <= news_recht OR news_recht = 0) AND news_kat LIKE 'Interview'" , $limit ,  '?news' , 'news' );
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Mictlan Mitglied
    Registriert seit
    09.03.2008
    Beiträge
    123
    Beitragswertungen
    0 Beitragspunkte
    heyyy super, vielen vielen dank xD
    es klappt alles perfekt
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Mictlan Mitglied
    Registriert seit
    09.03.2008
    Beiträge
    123
    Beitragswertungen
    0 Beitragspunkte
    leider bräuchte ich zu diesem Thema noch einmal erneut Hilfe,
    sobald mehrere einträge vorhanden sind und die Seitenverlinkung weitere Seiten anzeigt sobald man zum beispiel auf die Seite 4 unter Reviews geht,
    wird der Filter wieder deaktiviert und die Beiträge anderer Kategorien erscheinen

    Schaue hier: 115999.webhosting42.1blu.de/hermodur/index.php?news-p5

    Das Ganze müsste theoretisch von der MPL abhängig sein, doch wie behebe ich diesen Fehler?

    Derzeitiger Quellcode:
    <?php
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    
    
    $title = $allgAr['title'].' :: Reviews';
    $hmenu = 'Reviews';
    $design = new design ( $title , $hmenu );
    $design->addheader('<link rel="alternate" type="application/atom+xml" title="News (Atom)" href="index.php?news-atom" />
    <link rel="alternate" type="application/rss+xml" title="News (RSS)" href="index.php?news-rss" />');
    
    function news_find_kat ($kat)  {
     
            $katpfad = 'include/images/news/';
            $katjpg = $katpfad.$kat.'.jpg';
            $katgif = $katpfad.$kat.'.gif';
            $katpng = $katpfad.$kat.'.png';
     
            if ( file_exists( $katjpg ) ) {
              $pfadzumBild = $katjpg;
            } elseif ( file_exists ( $katgif ) ) {
              $pfadzumBild = $katgif;
            } elseif ( file_exists ( $katpng ) ) {
              $pfadzumBild = $katpng;
            }
     
            if ( !empty( $pfadzumBild ) ) {
                $kategorie = '<img style="" src="'.$pfadzumBild.'" alt="'.$kat.'">';
            } else {
              $kategorie = '<b>'.$kat.'</b><br /><br />';
            }
     
            return ( $kategorie );
    }
     
     
     
    if ( !is_numeric($menu->get(1)) )  {
      if($menu->get(1) == 'rss' || $menu->get(1) == 'atom')
      {
          #ob_clean();
         $feed_type = $menu->get(1);
     
        $abf = "SELECT MAX(news_time) AS last_update FROM prefix_news";
        $erg = db_query($abf);
        $row = db_fetch_assoc($erg);
        $last_update = str_replace(' ', 'T', $row['last_update']) . 'Z';
     
        $abf = "SELECT
         a.news_title as title,
         a.news_id as id,";
        $abf .= ($feed_type == 'atom') ? 'a.news_time as datum,' : "DATE_FORMAT(a.news_time,'%a, %e %b %y %H:%i:%s') as datum,";
        $abf .=
         "a.news_kat as kate,
         a.news_text as text,
         b.name as username
       FROM prefix_news as a
       LEFT JOIN prefix_user as b ON a.user_id = b.id
       WHERE a.news_recht = 0
       ORDER BY news_time DESC LIMIT 15";
        $erg = db_query($abf);
        $tpl = new tpl( 'news_'.$menu->get(1).'.htm' );
     
        header('Content-type: application/' . $menu->get(1)  . '+xml');
     
        $tpl->set_ar_out(array('FEEDTITLE' => $allgAr['title'],
                               'UPDATED' => $last_update,
                               'SITEURL' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF'])), 0);
        while ($row = db_fetch_assoc($erg))
        {
          if($feed_type == 'atom')
          {
            $Z = (date('Z') > 0 ? '+' : '').date('H:i:s', date('Z') + 23 * 3600);
            $row['datum'] = str_replace(' ', 'T', $row['datum']) . $Z;
          }
     
          $a = explode('[PREVIEWENDE]', $row['text']);
          $tpl->set_ar_out(array('TITLE' => $row['title'],
                                 'TXT' => bbcode($a[0]),
                                 'LINK' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']). '/index.php?news-' . $row['id'],
                                 'AUTHOR' => $row['username'],
                                 'DATE' => $row['datum']
                                 ), 1);
        }
        $tpl->out(2);
        exit;
      }
      else
      {
        $design->header();
        $limit = $allgAr['Nlimit'];
        $page = ( $menu->getA(1) == 'p' ? $menu->getE(1) : 1 );
        $MPL = db_make_sites ($page , "WHERE (".$_SESSION['authright']." <= news_recht OR news_recht = 0) AND news_kat LIKE 'Review'" , $limit ,  '?news' , 'news' );
        $anfang = ($page - 1) * $limit;
     
        $tpl = new tpl ( 'news.htm' );
     
        $abf = "SELECT
         a.news_title as title,
         a.news_id as id,
         DATE_FORMAT(a.news_time,'%d. %m. %Y') as datum,
         DATE_FORMAT(a.news_time,'%W') as dayofweek,
         a.news_kat as kate,
         a.news_text as text,
         b.name as username
       FROM prefix_news as a
       LEFT JOIN prefix_user as b ON a.user_id = b.id
       WHERE (".$_SESSION['authright']." <= a.news_recht 
       OR a.news_recht = 0) 
       AND a.news_kat LIKE 'Review'
       ORDER BY news_time DESC
       LIMIT ".$anfang.",".$limit;
        #echo '<pre>'.$abf.'</pre>';
     
        $erg = db_query($abf);
        while ($row = db_fetch_assoc($erg)) {
     
          $k0m  = db_query("SELECT COUNT(ID) FROM `prefix_koms` WHERE uid = ".$row['id']." AND cat = 'NEWS'");
          $row['kom']  = db_result($k0m,0);
     
          $row['kate'] = news_find_kat($row['kate']);
          $row['datum'] = $lang[$row['dayofweek']].' '.$row['datum'];
          if ( strpos ( $row['text'] , '[PREVIEWENDE]' ) !== FALSE ) {
            $a = explode('[PREVIEWENDE]' , $row['text']);
            $row['text'] = $a[0];
            $row['readwholenews'] = '&raquo; <a href="index.php?news-'.$row['id'].'" class="m1t1">mehr lesen</a>  &laquo;';
          } else {
            $row['readwholenews'] = '';
          }
          $row['text'] = bbcode($row['text']);
          $tpl->set_ar_out($row,0);
        }
        $tpl->set_out('SITELINK', $MPL,1);
        unset($tpl);
      }
     
     
     
    } else {
     
     $design->header();
     $nid = escape($menu->get(1), 'integer');
     $row = db_fetch_object(db_query("SELECT * FROM `prefix_news` WHERE news_id = '".$nid."'"));
     
      if ( has_right(array($row->news_recht)) ) {
        $komsOK = true;
          if ( $allgAr['Ngkoms'] == 0 ) {
          if ( loggedin() ) {
            $komsOK = true;
            } else {
              $komsOK = false;
              }
        }
          if ( $allgAr['Nukoms'] == 0 ) {
            $komsOK = false;
          }
     
        # kommentar add
        if ( (loggedin() OR chk_antispam ('newskom')) AND $komsOK AND !empty($_POST['name']) AND !empty($_POST['txt']) ) {
          $_POST['txt'] = escape($_POST['txt'],'string');
              $_POST['name'] = escape($_POST['name'],'string');
          db_query("INSERT INTO `prefix_koms` (`uid`,`cat`,`name`,`text`) VALUES (".$nid.",'NEWS','".$_POST['name']."','".$_POST['txt']."')");
          }
          # kommentar add
     
        # kommentar loeschen
       if ($menu->getA(2) == 'd' AND is_numeric($menu->getE(2)) AND has_right(-7, 'news')) {
          $kommentar_id = escape($menu->getE(2),'integer');
          db_query("DELETE FROM prefix_koms WHERE uid = ".$nid." AND cat = 'NEWS' AND id = ".$kommentar_id);
        }
        # kommentar loeschen
       $kategorie = news_find_kat($row->news_kat);
     
            $textToShow = bbcode($row->news_text);
            $textToShow = str_replace('[PREVIEWENDE]','',$textToShow);
            if ( !empty($such) ) {
              $textToShow = markword($textToShow,$such);
            }
     
            $tpl = new tpl ( 'news.htm' );
            $ar = array (
          'TEXT'  => $textToShow,
                'KATE'  => $kategorie,
          'NID' => $nid,
          'uname' => $_SESSION['authname'],
                'ANTISPAM' => (loggedin()?'':get_antispam ('newskom', 0)),
                'NAME'  => $row->news_title
            );
            $tpl->set_ar_out($ar, 2 );
     
            if ($komsOK) {
              $tpl->set_ar_out ( array ( 'NAME' => $row->news_title , 'NID' => $nid ), 3 );
            }
        $erg1 = db_query("SELECT text, name, id FROM `prefix_koms` WHERE uid = ".$nid." AND cat = 'NEWS' ORDER BY id DESC");
            $ergAnz1 = db_num_rows($erg1);
            if ( $ergAnz1 == 0 ) {
              echo '<b>'.$lang['nocomments'].'</b>';
            } else {
              $zahl = $ergAnz1;
              while ($row1 = db_fetch_assoc($erg1)) {
            $row1['text'] = bbcode(trim($row1['text']));
            if (has_right(-7, 'news')) {
              $row1['text'] .= '<a href="?news-'.$nid.'-d'.$row1['id'].'"><img src="include/images/icons/del.gif" alt="l&ouml;schen" border="0" title="l&ouml;schen" /></a>';
            }
            $tpl->set_ar_out( array('NAME' => $row1['name'], 'TEXT' => $row1['text'], 'ZAHL' => $zahl ) , 4 );
            $zahl--;
              }
        }
        }
      $tpl->out(5);
    }
     
    $design->footer();
    ?>



    Zuletzt modifiziert von Mictlan am 21.06.2010 - 04:51:41
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    In der Zeile mit db_make_sites muss man auch den Link angeben, der aufgerufen wird, und da du sicher mehrere Seiten hast, ist der bei dir nicht immer ?news sondern auch mal ?aktuelles oder so, wenn ich das richtig gesehen hab, das musst du in dieser Zeile dann natürlich jeweils entsprechend anpassen, weil sonst die Standardnews aufgerufen werden.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    Mictlan Mitglied
    Registriert seit
    09.03.2008
    Beiträge
    123
    Beitragswertungen
    0 Beitragspunkte
    naja ich hab ja nur 4 php-datein und 1 html...
    ich weiß auch gerade nicht wirklich was du meinst, sry
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.634
    Beitragswertungen
    1193 Beitragspunkte
    In der jeweiligen news-php, den gleichen namen in in db_make_sites Bsp:

    index?reviews
    $MPL = db_make_sites ($page , "WHERE (".$_SESSION['authright']." <= news_recht OR news_recht = 0) AND news_kat LIKE 'Review'" , $limit ,  '?reviews, 'news' );


    oder

    index?banane
    $MPL = db_make_sites ($page , "WHERE (".$_SESSION['authright']." <= news_recht OR news_recht = 0) AND news_kat LIKE 'Banane'" , $limit ,  '?banane, 'news' );
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten