Loading...   Upload Image

Fragen zum News TutorialForum » Tutorials » Help » Fragen zum News Tutorial

Neues Thema verfassen Neues Thema

  • introUser ist offline
    Newbie



    Registriert: 03.11.2009
    Beitraege: 4

    11.03.2012 um 18:24 Uhr

    Guten Tag,
    ich habe drei Fragen bezüglich des Newssystem Tutorials.
    1. Ich würde gerne einen Facebook „gefällt mir“ Button auf meiner Website integrieren.
    Nur weiß ich nicht an welche Stelle der generierte Code

    <iframe src="http://www.facebook.com/plugins/like.php?href&amp;send=false&amp;layout=standard&amp;width=300&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=35"
         scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:300px; height:35px;" allowTransparency="true"></iframe

    hin müsste. Ich habe es schon versucht, den Code am Ende der News Div innerhalb der news.php zwischen den Zeilen 88 – 89 einzufügen - nur funktionierte dies nicht.
    2. Auch würde ich gerne die Kommentarfunktion des Scriptes hervorheben und daher die letzten drei Kommentare auf meiner Website anzeigen lassen, damit der User dann mittels Klick auf das Kommentar zu dem Newseintrag gelangt. Ich wollte mir das aus dem Adminbereich abschauen, aber leider reicht dafür mein PHP Verständnis nicht aus.
    3. Zu guter Letzt, wollte ich noch nach jedem Artikel die Anzahl der geschriebenen Kommentare ermitteln und man mittels Verlinkung zum Kommentarbereich der entsprechenden News gelangt (im Prinzip so wie die Darstellung der Anzahl der Kommentare im Header).



  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    11.03.2012 um 19:35 Uhr

    Hallochen,

    zu 1. funktionierte nicht, ist keine Aussage mit der man wirklich etwas angangen kann ;)

    Probiers damit ...

    Folgende Zeilen 88-91

    }
        echo "</div>\n";
    } // close while


    Wie folgt aendern:
    }
        echo "</div>\n";
    ?>
    <iframe src="http://www.facebook.com/plugins/like.php?href&amp;send=false&amp;layout=standard&amp;width=300&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=35"
         scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:300px; height:35px;" allowTransparency="true"></iframe>
    <?php
    } // close while


    Um die neusten Kommentare anzeigen zu lassen, einfach folgendes an beliebiger Stelle platzieren, wo es eben angezeigt werden soll ...

    <?php 
    
    $new_comi = mysql_query("SELECT id, name, comment, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM comments ORDER BY id DESC LIMIT 3");
    
     echo "<ul class=\"list\">";
     
     // News ausgeben ausgeben
    while($row_c = mysql_fetch_object($new_comi)){
        
        echo "<li><strong>".$row_c->id.".</strong>";
        echo substr($row_c->comment, 0, 80)." [..] <br />\n";
    
    	echo "<div class=\"right\">\n";
        echo "<a href=\"edit_comments.php?id=".$row_c->id."\">Bearbeiten</a>  \n";
        echo "<a href=\"edit_comments.php?action=loeschen&amp;id=".$row_c->id."\">[x]</a>\n";
        echo "</div>\n ";
    		
        echo "<small>".$row_c->name." &#xBB; <span class=\"green\">".$row_c->datum."</span></small>\n";
        echo "</li>\n";
    
    } // close while
    
    echo "</ul>";
    ?>


    Und zu 3., von welcher Datei sprechen wir hier bitte, von der news.php, ja?

    Dann sollte dir das hier weiter helfen:
    echo "<a href=\"comments.php?id=".$row->id."\">Kommentare ".$com_num."</a>\n";


    Liebe Gruesse
    Alice



    ... { signatur } ...
  • introUser ist offline
    Newbie



    Registriert: 03.11.2009
    Beitraege: 4

    11.03.2012 um 23:11 Uhr

    Hallo Alice,

    vielen Dank für die schnelle Antwort zu meinen Fragen.
    Bezogen auf die zweite Frage wollte ich gerne die Kommentare als Links ausgeben ohnne die Bearbeitungsfunktionen. Die Bearbeitungsfunktion habe ich nun einfach rausgelöscht(siehe unten) nur weiß ich nicht, wie der Code verändert werden müsste, damit man über das Kommentar zum entsprechnenden Newseintrag gelangen könnte.

    <?php
    
    $new_comi = mysql_query("SELECT id, name, comment, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM comments ORDER BY id DESC LIMIT 3");
    
     echo "<ul class=\"list\">";
    
     // News ausgeben ausgeben
    while($row_c = mysql_fetch_object($new_comi)){
    
        echo "<li><strong>".$row_c->id.".</strong>";
        echo substr($row_c->comment, 0, 80)." [..] <br />\n";
        echo "<small>".$row_c->name." &#xBB; <span class=\"green\">".$row_c->datum."</span></small>\n";
        echo "</li>\n";
    
    } // close while
    
    echo "</ul>";
    ?>



    Gruß



  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    12.03.2012 um 12:54 Uhr

    Ja sorry, gestern war ein langer Tag ...

    Du musst die news_id mit abfragen, daraus kannst du dir dann einen Link zum Newseintrag basteln.
    Ein Newseintrag ist immer unter comments.php?id=ID-DES-NEWSARTIKELS zu erreichen ;)

    <?php
    
    $new_comi = mysql_query("SELECT id, name, comment, news_id, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM comments ORDER BY id DESC LIMIT 3");
    
     echo "<ul class=\"list\">";
    
     //ausgeben
    while($row_c = mysql_fetch_object($new_comi)){
    
        echo "<li><a href=\"comments.php?id=".$row_c->news_id."\">\n";
        echo substr($row_c->comment, 0, 80)." [..]</a> <br />\n";
        echo "<small>".$row_c->name." &#xBB; <span class=\"green\">".$row_c->datum."</span></small>\n";
        echo "</li>\n";
    
    } // close while
    
    echo "</ul>";
    ?>



    ... { signatur } ...
  • introUser ist offline
    Newbie



    Registriert: 03.11.2009
    Beitraege: 4

    12.03.2012 um 18:13 Uhr

    Hey Alice,

    nochmals danke. Es klappt jetzt alles wie ich mir das vorgestellt habe.



  • introUser ist offline
    Newbie



    Registriert: 03.11.2009
    Beitraege: 4

    30.08.2012 um 23:16 Uhr

    Guten Abend,
    ich würde gerne das Newssystem, für ein Projekt, um ein drei Funktionen erweitern.
    In MYSQL und PHP kenne ich mich leider nicht sonderlich aus, sodass ich Euch um Hilfe bitte.
    I.Zum einen würde ich gerne die zeitlich neusten Einträge hervorheben. Hierzu habe ich im Internet folgenden „Skriptschnipsel“ gefunden:

    <?
     
    $result_query=mysql_query("SELECT * FROM {deinetabelle} limit 5");
     
    while($eintrag=mysql_fetch_array($result_query)) {
     
        if($eintrag[time]>=time()-600){ // vor 10 min
     
        echo "<div style="color:red;font-wight:bold">$eintrag[text]</div>";
     
        }
     
        elseif($eintrag[time]>=time()-3600){  // vor 1 h
     
        echo "<div style="color:red;">$eintrag[text]</div>";
     
        else { // alles andere was älter als 1h ist
     
        echo $eintrag[text]";
     
        }
     
    }
     
    ?>

    Nur weiß ich leider nicht, wie ich den Code verändert müsste bzw. an welcher Stelle ich den Code innerhalb der News.php einfügen müsste.

    II.Außerdem würde ich gerne im Bereich der Suchfunktion die gefundenen Treffer farbig markieren beispielsweise so:
    .highlight {
     font-weight: bold;
     color: red;
     background: yellow;
     }

    Nur weiß ich wiederum nicht wie ich dieses innerhalb der „suchen.php“ am besten umsezten könnte.

    III .Zum Schluss würde ich gerne für den Administrationsbereich des Newssystems ein Bestätigungsfenster einbauen, welches man vor dem Löschen von Newseinträgen und Kommentaren bestätigen muss. Diese Funktion wurde bereits in dem Affiliates Manager umgesetzt:

    } else { 
    	echo "<p class=\"error\">Ganz sicher loeschen?</p> \n"; 
    	echo "<a href=\"new_affi.php?action=loeschen&amp;mode=del&id=$id\">Ja</a>"; 
    	echo "&nbsp;&nbsp;<a href=\"affis.php\">Nein</a>"; 
    	} 
    	}// close if ($action == "loeschen")

    Wie könnte man diese Funktion auch in das Newssystem integrieren?



  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    17.02.2013 um 10:32 Uhr

    Hallo Intro,

    zu 1. : Folgendes in der news.php bitte aendern:

    // ---------------------- ENDE Seitennavigationsdaten----------------------------------------------
    
    $abfrage = mysql_query("SELECT id, autor, title, cat, news, DATE_FORMAT(date, '%d.%m.%Y') AS datum, date AS sdate FROM news ".$where." ORDER BY date DESC LIMIT $start,$ende");
    
    // News ausgeben ausgeben
    while($row = mysql_fetch_object($abfrage)){
        
        if(strtotime($row->sdate) >= time()-600){ // vor 10 min
          
          echo "<div class=\"news\" style=\"border: 1px solid #000; color:red;font-weight:bold\"> \n";
        }elseif(strtotime($row->sdate) >= time()-3600){  // vor 1 h
        
          echo "<div class=\"news\" style=\"color:red;\">\n";
        }else { // alles andere was älter als 1h ist
        
          echo "<div class=\"news\">\n";
        }// close  div farbig
                      
                      
       // Anzahl der Kommentare ermitteln
        $comments = mysql_query("SELECT id FROM comments WHERE news_id='$row->id'"); 
    	  $com_num = mysql_num_rows($comments); // Anzahl der Kommentare
    	
        echo "<h2>".$row->title."\n <small>verfasst von ".$row->autor." am ".$row->datum." | \n";
        
        if(!empty($row->cat)){  // sofern Kategorie angegeben
        	echo "abgelegt unter: <a href=\"news.php?cat=".urlencode($row->cat)."\">".$row->cat."</a> | \n";
        }
        echo "<a href=\"comments.php?id=".$row->id."\">Kommentare ".$com_num."</a></small>\n </h2>";
    
    	if(isset($_GET['cat'])){	// Kategorieseite nur einen Auszug ausgeben
    		$max_show = "250"; // max 450 Zeichen anzeigen
    
    		if (strlen($row->news) > $max_show){ // sofern $news mehr als 450 Zeichen enthaelt
    			echo "<p>".bbcode(substr($row->news, 0, strpos($row->news, ".", 120 )+1 ))."\n"; 
    			// Ab 150 Zeichen nach nem punkt suchen und alles das was davor enthalten ist ausgeben
    	
    			echo "<a href=\"comments.php?id=".$row->id."\" class=\"right\">read more...</a>\n";
    			echo "<br style=\"clear: right;\" /></p>"; // link ausgeben
    		}else{ // komplett ausgeben
    			echo "<p>".bbcode($row->news)."</p>";
    		}
    	}else{
    		echo "<p>".bbcode($row->news)."</p>";
    	}
        echo "</div>\n";
    
    } // close while
    
    // -------------------------------------- Seitennavigation ausgeben ----------------------------



    Zu 2.: Aenderungen wie folgt umsetzten in der Datei suchen.php:

    // Suchergebnisse ausgeben ausgeben
    	while($row = mysql_fetch_object($abfrage)){
        
       // Anzahl der Kommentare ermitteln
        $comments = mysql_query("SELECT id FROM comments WHERE news_id='$row->id'"); 
    	$com_num = mysql_num_rows($comments); // Anzahl der Kommentare
    	
        echo "<div class=\"news\">\n"; 
        echo "<h2>".$row->title."\n <small>verfasst von ".$row->autor." am ".$row->datum." | \n";
        
        if(!empty($row->cat)){  // sofern Kategorie angegeben
        	echo "abgelegt unter: <a href=\"news.php?cat=".urlencode($row->cat)."\">".$row->cat."</a> | \n";
        }
        echo "<a href=\"comments.php?id=".$row->id."\">Kommentare ".$com_num."</a></small>\n </h2>";
    
    	if(isset($_GET['cat'])){	// Kategorieseite nur einen Auszug ausgeben
    		$max_show = "250"; // max 450 Zeichen anzeigen
    
    		if (strlen($row->news) > $max_show){ // sofern $news mehr als 450 Zeichen enthaelt
    			echo "<p>".substr($row->news, 0, strpos(search_mark(bbcode($row->news),$search), ".", 120 )+1 )."\n"; 
    			// Ab 150 Zeichen nach nem punkt suchen und alles das was davor enthalten ist ausgeben
    	
    			echo "<a href=\"comments.php?id=".$row->id."\" class=\"right\">read more...</a>\n";
    			echo "<br style=\"clear: right;\" /></p>"; // link ausgeben
    		}else{ // komplett ausgeben
    			echo "<p>".search_mark(bbcode($row->news),$search)."</p>";
    		}
    	}else{
    		echo "<p>".search_mark(bbcode($row->news),$search)."</p>";
    	}
        echo "</div>\n";
    
    } // close while
    
     		} // close DB gefunden
     	}// close suchbegriff pruefen		
    }// close submit gedrueckt


    Und in die Config Datei bitte noch folgende Funktion einfuegen:
    // Suche => gesuchtes in Text markieren
    function search_mark($text, $suchwort){
      $suchwort = explode(" ",$suchwort);
        foreach($suchwort as $search_str)
        {
        $text = preg_replace("/($search_str)/i", "<span class='highlight'>$search_str</span>", $text);
        }
      return $text;
    }


    Nicht vergessen die highlight class in die Css Datei einzutragen!

    Und zum Schluss nun noch zu 3.: Dazu die post_news.php wie folgt veraendern:

    //------------------------------------------------------------------------------
    // Newseintrag loeschen
    //------------------------------------------------------------------------------
    
    isset($_GET['action']) ? $action = clean_it($_GET['action']) : $action = '';	// Variable definieren
    isset($_GET['mod']) ? $mod = clean_it($_GET['mod']) : $mod = '';	// Variable definieren
    
    if($action == 'loeschen'){
     
      if($mod == 'del'){
    
    	   // Artikel loeschen
    	   $delete = mysql_query("DELETE FROM news WHERE id='$id'");
    
    	   // Kommentare zu diesem Artikel loeschen
    	   $delete_com = mysql_query("DELETE FROM comments WHERE news_id='$id'");
    	
    	   if($delete AND $delete_com){ // Wenn Loeschung nicht erfolgt
    	
    		    header("Location: admin.php"); // Weiterleitung 
    		
    	   }else{ // Wenn Eintrag nicht geloescht wurde => Fehlermeldung
    		  	echo get_error('Der Eintrag konnte leider nicht geloescht werden! ".mysql_error()."');
    	   }// close del
         
       } else { 
    	   echo "<div class=\"error\"><h2>Sicher?</h2>\n";
         echo "<p>Bist du dir sicher, dass du diesen Beitrag loeschen moechtest?</p>\n"; 
    	   echo "<a href=\"admin.php\" class=\"the_button  right\">Nein, lieber doch nicht...</a>\n"; 	   
         echo "<a href=\"post_news.php?action=loeschen&mod=del&id=$id\" class=\"the_button\">Ja, loeschen!</a>\n</div>"; 
    	}  
    }
    //------------------------------------------------------------------------------
    // Formular auswerten
    //------------------------------------------------------------------------------


    Liebe Gruesse
    Alice



    Der Beitrag wurde insgesamt 1 mal editiert, zuletzt 18.02.2013 um 17:52 Uhr ...
    ... { signatur } ...

[ 1 ] Seite 1 von 1


Affiliates:   Pat DG  •   Colorful Gfx  •   Design Grafixx  •   The Seduction  •   Chibi Graphics  •   Blue-Graphics  •   Gallery Yuri  • Show all ...
designenlassen.de - Der Design-Marktplatz für Webdesign, Logo-Design, Flyerdesign u.v.m.        ALL-INKL.COM - Webhosting Server Hosting Domain Provider