Loading...   Upload Image

content für startseite aus anderer Datei statt mysql tabelleForum » Webzone » PHP & MySQL » content für startseite aus anderer Datei statt mysql tabelle

Neues Thema verfassen Neues Thema

  • selfmadeUser ist offline
    Newbie



    Registriert: 09.07.2013
    Beitraege: 4

    09.07.2013 um 16:40 Uhr

    Hallo an alle,

    mir wie leider kein besserer Titel ein :D

    Ich komme mit meinen Kenntnissen leider nicht mehr weiter und hoffe ihr könnt mir helfen.
    Ich schreibe ein kleines CMS mit den Funktionen die ich brauche. Nun habe ich das Template der späteren Website schon fertig. Der Inhalt der einzelnen Seiten wird aus mysql ausgelesen und im CMS kann ich das ganze per TinyMCE verändern.

    Nun möchte ich aber auf der Startseite nicht aus der Tabelle auslesen wo der Seiteninhalt herkommt sonder aus einer anderen, da die Startseite wie ein Blog benutzt werden soll. Dazu will ich das Newssystem aus dem Tutorial von dieser Seite verwenden. Es funktioniert alles bis auf die Einbindung auf der Startseite.

    Hier der Code für die index.php:

    
    
    
    
    
    <?php echo $metadaten['title']; // Titel der Seite ?>
    
    
    
          
    
    
    
    
    


    Hier der Code meiner function.inc.php:
     0)
    		{
    			// ... werden die Informationen für die Menüeinträge in ein Array umgeladen
    			while ($zeile = mysql_fetch_array( $ergebnis ))
    			{
    				$datensatz['alias'][]      = $zeile['alias'];
    				$datensatz['link_title'][] = $zeile['link_title'];
    			}
    		}
    		else
    		{
    			// Wenn keine Datensätze für das Menü ausgelesen wurde, bricht das Script ab
    			die( 'Es wurden keine Links fuer die Navigation gefunden!' );
    		}
    		// Abfrageergebnis löschen und Speicher freigeben
    		mysql_free_result( $ergebnis );
    		// Das Array mit den Informationen für das Menü in den öffentlichen Bereich zurückgeben
    		return $datensatz;
    	}
    }
    
    /* ********************** */
    /* * METADATEN AUSLESEN * */
    /* ********************** */  
    function metadaten( $conid )
    {
    	// Prüfen ob eine gültige Resource ID (geöffnete DBverbindung) vorhanden ist
    	if ($conid)
    	{
    		// Menüeinträge auslesen
    		$ergebnis = mysql_query( "SELECT `title`, `author`, `keywords`, `description` FROM `np_meta`", $conid);
    		// Wenn etwas ausgelesen wurde ...
    		if (@mysql_num_rows($ergebnis) > 0)
    		{
    			// ... werden die Informationen für die Menüeinträge in ein Array umgeladen
    			while ($zeile = mysql_fetch_array( $ergebnis ))
    			{
    				$datensatz['title']       = $zeile['title'];
    				$datensatz['keywords']    = $zeile['keywords'];
    				$datensatz['description'] = $zeile['description'];
    				$datensatz['autor']       = $zeile['autor'];
    			}
    		}
    		// Abfrageergebnis löschen und Speicher freigeben
    		mysql_free_result( $ergebnis );
    		// Das Array mit den Informationen für das Menü in den öffentlichen Bereich zurückgeben
    		return $datensatz;
    	}
    }
    
    
    /* ********************* */
    /* *** Artikel laden *** */
    /* ********************* */
    function artikel( $conid )
    {
    	// Die aufgerufene Adresse (z.B. http://www.domain.tld/ordner/dateiname.html)
    	// wird am Slash (/) zerlegt und mittels array_pop() wird der letzte Teil des Array
    	// (dateiname.html) abgetrennt und in der Variable $aufgerufene_url abgelegt.
    	$array = explode( "/", $_GET['url'] ); 
    	$aufgerufene_url = array_pop($array);  
    	// Prüft ob ein Dateiname aufgerufen wurde.
    	// Ist kein Wert vorhanden, wurde die Index Datei oder eine unbekannte Datei aufgerufen.
    	if (!isset( $aufgerufene_url ) ||
    		empty( $aufgerufene_url ) ||
    		strpos( $aufgerufene_url, '.html' ) === false )
    	{
    		// Setzt manuell den Artikel Alias für die Startseite
    		$alias = "news";
    	}
    	else
    	{
    		// Ist ein Wert vorhanden, haben wir hier eine Zeichenkette nach dem Muster von
    		// z.B. dateiname.html
    		// Diesen String zerlegen wir wieder mit explode am Punkt (.) aber diesmal
    		// trennen wir den ersten Teil des Array ab, da sich darin unser benötigter Artikel Alias
    		// befindet. array_shift() ist also das Gegenstück zu array_pop()
    		$array = explode( ".", $aufgerufene_url ); 
    	    $alias = array_shift($array);
    	}
    	// Datensatz aus der DB laden
    	// Prüfen ob eine gültige Resource ID (geöffnete DBverbindung) vorhanden ist
    	if ($conid)
    	{
    		// Artikel mit dem entsprechenden Alias auslesen
    		$ergebnis = @mysql_query( "SELECT `inhalt` FROM `np_content` WHERE `alias` = '" .mysql_real_escape_string($alias). "'", $conid );
    		// Wurde exakt 1 Artikel gefunden ...
    		if (@mysql_num_rows($ergebnis) == 1)
    		{
    			// ... werden die Artikel Informationen in einem Array abgelegt
    			while ($zeile = mysql_fetch_array( $ergebnis ))
    			{
    				$datensatz['inhalt']      = $zeile['inhalt'];
    			}
    		}
    		else
    		{
    			// Wurde kein Artikel in der DB gefunden, bricht das Script ab
    			// Hier könnte man auch eine Fehlerseite ausgeben oder auf die Startseite umleiten
    			die( 'Es wurde kein Artikel gefunden!' );
    		}
    		// Abfrageergebnis löschen und Speicher freigeben
    		mysql_free_result( $ergebnis );
    		// Array mit den Artikel Information in den öffentlichen Bereich zurückgeben
    		return $datensatz;
    	}
    }
    
    
    /* Datenbankverbindung öffnen */
    $conid = dbconnect();
    
    // Navigation laden
    $navi = navigation( $conid );
    
    // METADATEN LADEN
    $metadaten = metadaten( $conid );
    
    // CONTENT AUSLESEN
    $artikel = artikel( $conid );
    ?>


    Das ganze funktioniert einwandfrei. Habe auf meinem Server noch eine .htaccess liegen. Damit sieht die URL anstatt lalala.de/index.php?....... nun so aus lalala.de/news.html

    Nun will ich das ein Standartcontent auf der Newsseite platziert wird:

    Hier der Code aus dem Newssystem Tut der als Standartcontent dienen auf news.html dienen soll:
        Abgelegtes unter '".clean_it($_GET['cat'])."'";	
    
    	$pfad = "news.php?cat=".urlencode(clean_it($_GET['cat']))."go=";
    	
    }else{
    
    	$pfad = "news.php?go=";
    }
    
    // News auslesen
    $abfrage = mysql_query("SELECT id FROM np_posts ".$where."");
    $total = mysql_num_rows($abfrage); 					// Anzahl aller Zeilen in DB ermitteln
    
    // ---------------------- Seitennavigationsdaten --------------------------------------------------
    
    $per_page = "5";      		// Anzahl der News die Pro Seite ausgegeben werden sollen
    $p = "5";                  // Anzahl der Links die in der Seitenavigation ausgegeben werden
    
    isset($_GET['go']) ? $go = clean_it($_GET['go']) : $go = ''; // Variable definieren
    
    // Blaetterfunktion aufrufen
    list ($start, $ende) = get_navi($go, $total, $pfad, false, $per_page, $p);
    // ---------------------- ENDE Seitennavigationsdaten----------------------------------------------
    
    $abfrage = mysql_query("SELECT id, autor, title, cat, news, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM np_posts ".$where." ORDER BY date DESC LIMIT $start,$ende");
    
    // News ausgeben ausgeben
    while($row = mysql_fetch_object($abfrage)){
        
       // Anzahl der Kommentare ermitteln
        $comments = mysql_query("SELECT id FROM np_comments WHERE news_id='$row->id'"); 
    	$com_num = mysql_num_rows($comments); // Anzahl der Kommentare
    	
        echo "
    \n"; echo "

    ".$row->title."\n verfasst von ".$row->autor." am ".$row->datum." | \n"; if(!empty($row->cat)){ // sofern Kategorie angegeben echo "abgelegt unter: cat)."\">".$row->cat." | \n"; } echo "id."\">Kommentare ".$com_num."\n

    "; 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 "

    ".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 "id."\" class=\"right\">read more...\n"; echo "

    "; // link ausgeben }else{ // komplett ausgeben echo $row->news); } }else{ echo $row->news); } echo "
    \n"; } // close while // -------------------------------------- Seitennavigation ausgeben ---------------------------- get_navi($go, $total, $pfad, true, $per_page, $p); // -------------------------------------- Seitennavigation ende -------------------------------- ?>


    AUF DEN PUNKT: ruft einer die seite auf kommt news.html auf der soll das aus dem Newssystem angezeigt werden klickt er auf einen andern Link soll der Content der Seite wechseln auf das was aus der content Tabelle (mysql) kommt.

    Ich hoffe das ich das richtig erklärt habe und das nicht viel zu viel Code ist.
    Bitte helft mir!! :)

    LG selfmade



    Der Beitrag wurde insgesamt 1 mal editiert, zuletzt 11.07.2013 um 09:48 Uhr ...
  • selfmadeUser ist offline
    Newbie



    Registriert: 09.07.2013
    Beitraege: 4

    09.07.2013 um 21:23 Uhr

    Habs jetzt selber geschafft..man sollte eben doch mal in die php Manuals schauen und lernen ;)

    :::::::::: CLOSED ::::::::::



  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    11.07.2013 um 09:49 Uhr

    Hallo Selfmade,

    freut mich, dass du es selbst hinbekommen hast!

    Liebe Gruesse
    Alice



    ... { signatur } ...

[ 1 ] Seite 1 von 1


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