Datenbankausgabe in template file

In this board you can talk about general questions about phpMyFAQ

Moderator: Thorsten

Post Reply
smartys
Posts: 25
Joined: Mon Jun 23, 2014 3:39 pm

Datenbankausgabe in template file

Post by smartys »

Ich habe eine php Datei welche die Datenbank ausliest und das Ergebnis wiedergibt:

Wie kann ich dieses Ergebnis nun in der index.tpl einbinden, damit es im footer angezeigt wird?

ausgabeergebnis.php:

Code: Select all

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Datensätze aus einer Datenbank auslesen und ausgeben</title>
</head>

<body>
<?php
$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "";

// Verbindung oeffnen und Datenbank ausweahlen
$conID = mysql_connect( $db_host, $db_user, $db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );
if ($conID)
{
    mysql_select_db( $db_name, $conID );
}

// Anfrage zusammenstellen um die Datensaetze auszulesen
$sql = "SELECT `version` FROM `versionierung`";
// Anfrage an die DB schicken und die Rueckmeldung in eine Variable ablegen
$abfrageergebnis = mysql_query( $sql, $conID );

// Ab hier werden die Datensaetze zeilenweise ausgeben (auch fetchen genannt)
while ($datensatz = mysql_fetch_array( $abfrageergebnis ))
{    
// Jeder Datensatz entspricht einer Tabellenzeile
echo "<tr>";
echo "<td>" .htmlspecialchars( $datensatz['version'] ). "</td>";
echo "</tr>";
}

?>
</body>
</html>
smartys
Posts: 25
Joined: Mon Jun 23, 2014 3:39 pm

Re: Datenbankausgabe in template file

Post by smartys »

Bin ich auf der richtigen Spur? die index.tpl habe ich im footer mit

Code: Select all

{abfrageergebnis}
ergänzt. In der index.php habe ich versucht eine neue Zeile (508) hinzuzufügen und will mit der include funktion den code integrieren, aber das will noch nicht so richtig klappen:

Code: Select all

'abfrageergebnis'      => $abfrageergebnis = get_include_contents('abfrageergebnis.php');
smartys
Posts: 25
Joined: Mon Jun 23, 2014 3:39 pm

Re: Datenbankausgabe in template file

Post by smartys »

Kann man irgendwie php code für diese .tpl aktivieren? ich blick nicht durch.
Thorsten
Posts: 15749
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: Datenbankausgabe in template file

Post by Thorsten »

Hi,

PHP in Templates geht aus Sicherheitsgründen nicht. Poste mal das komplette index.tpl File hier.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
smartys
Posts: 25
Joined: Mon Jun 23, 2014 3:39 pm

Re: Datenbankausgabe in template file

Post by smartys »

Code: Select all

<!doctype html>
<!--[if lt IE 7 ]> <html lang="{metaLanguage}" class="no-js ie6"> <![endif]-->
<!--[if IE 7 ]> <html lang="{metaLanguage}" class="no-js ie7"> <![endif]-->
<!--[if IE 8 ]> <html lang="{metaLanguage}" class="no-js ie8"> <![endif]-->
<!--[if IE 9 ]> <html lang="{metaLanguage}" class="no-js ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="{metaLanguage}" class="no-js"> <!--<![endif]-->
<head>
    <meta charset="utf-8">

    <title>{title}</title>
    <base href="{baseHref}" />

    <meta name="description" content="{metaDescription}">
    <meta name="keywords" content="{metaKeywords}">
    <meta name="author" content="{metaPublisher}">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="application-name" content="phpMyFAQ {phpmyfaqversion}">
    <meta name="robots" content="INDEX, FOLLOW">
    <meta name="revisit-after" content="7 days">

    <!-- Share on Facebook -->
    <meta property="og:title" content="{title}" />
    <meta property="og:description" content="{metaDescription}" />
    <meta property="og:image" content="" />

    <link rel="stylesheet" href="{baseHref}assets/template/{tplSetName}/css/{stylesheet}.min.css?v=1">
    <link rel="shortcut icon" href="{baseHref}assets/template/{tplSetName}/favicon.ico">
    <link rel="apple-touch-icon" href="{baseHref}assets/template/{tplSetName}/apple-touch-icon.png">
    <link rel="canonical" href="{currentPageUrl}">

    <script src="{baseHref}assets/js/libs/modernizr.min.js"></script>
    <script src="{baseHref}assets/js/phpmyfaq.min.js"></script>

    <link rel="alternate" title="News RSS Feed" type="application/rss+xml" href="{baseHref}feed/news/rss.php">
    <link rel="alternate" title="TopTen RSS Feed" type="application/rss+xml" href="{baseHref}feed/topten/rss.php">
    <link rel="alternate" title="Latest FAQ Records RSS Feed" type="application/rss+xml" href="{baseHref}feed/latest/rss.php">
    <link rel="alternate" title="Open Questions RSS Feed" type="application/rss+xml" href="{baseHref}feed/openquestions/rss.php">
    <link rel="search" type="application/opensearchdescription+xml" title="{metaTitle}" href="{opensearch}">
</head>
<body dir="{dir}">

<!--[if lt IE 8 ]>
<div class="internet-explorer-error">
    Do you know that your Internet Explorer is out of date?<br/>
    Please use Internet Explorer 8+, Mozilla Firefox 4+, Google Chrome, Apple Safari 5+ or Opera 11+
</div>
 <![endif]-->

<div class="navbar navbar-fixed-top hidden-print">
    <div class="navbar-inner">
        <div class="container-fluid">
            <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="brand" title="{header}" href="{faqHome}">{header}</a>
            <nav class="nav-collapse">
                <ul class="nav">
                    
                    <li class="{activeAddContent}">{msgAddContent}</li>
                    <li class="{activeAddQuestion}">{msgQuestion}</li>
                    <li class="{activeOpenQuestions}"> </li>
					<li class="{activeQuickfind}"> </li>
					
                </ul>
                <ul class="nav pull-right">
                    [notLoggedIn]
                    <li class="{activeRegister}">{msgRegisterUser}</li>
                    <li class="divider-vertical"></li>
                    <li class="{activeLogin}">{msgLoginUser}</li>
                    [/notLoggedIn]
                    [userloggedIn]
                    <li class="{activeUserControl}">{msgUserControl}</li>
                    <li class="divider-vertical"></li>
                    <li class="dropdown">
                        <a class="dropdown-toggle" data-toggle="dropdown" href="#">
                            <span title="{msgFullName}">{msgLoginName}</span><b class="caret"></b>
                        </a>
                        <ul class="dropdown-menu">
                            <li>{msgUserControlDropDown}</li>
                            <li>{msgLogoutUser}</li>
                        </ul>
                    </li>
                    [/userloggedIn]
                </ul>
            </nav>
        </div>
    </div>
</div>

<section id="content" class="container-fluid">
<img src="freestar.gif" alt="Logo Freestar" width=180 height=180><p>
    <div class="row-fluid">
        <div class="span3 hidden-print" id="leftContent">
            <div class="well categories">
                <ul class="nav nav-list">
                    <li class="home">{backToHome}</li>
                    <li>{allCategories}</li>
                    <li class="divider-horizontal"></li>
                    {showCategories}
                </ul>
                <div class="users-online">
                    <small>{userOnline}</small>
                </div>
            </div>
        </div>
        <div class="span6" id="mainContent">
            [globalSearchBox]
            <section class="well hidden-print" id="searchBox">
                <form id="search" action="{writeSendAdress}" method="get" class="form-search" accept-charset="utf-8">
                    <div class="input-append">
                        <input type="hidden" name="searchcategory" value="{categoryId}" />
                        <input type="hidden" name="action" value="search" />
                        <input type="text" name="search" id="searchfield" placeholder="{searchBox} ..."
                               class="input-xlarge search-query" />
                        <button class="btn btn-primary" type="submit" name="submit">
                            {searchBox}
                        </button>
                    </div>
                </form>
                <small>{msgSearch}</small>
            </section>
            [/globalSearchBox]
            [globalSuggestBox]
            <section class="well hidden-print" id="searchBox">
                <form id="instantform" action="?action=instantresponse" method="post" class="form-search" accept-charset="utf-8">
                    <input type="hidden" name="ajaxlanguage" id="ajaxlanguage" value="{ajaxlanguage}" />
                    <input type="search" name="search" id="instantfield" class="input-xxlarge search-query" value=""
                           placeholder="{msgDescriptionInstantResponse}" />
                </form>
                <small>{msgSearch}</small>
            </section>
            [/globalSuggestBox]
            {writeContent}
        </div>
        <div class="span3 hidden-print" id="rightContent">
            {rightBox}
            [stickyFaqs]
            <section class="well">
                <header>
                    <h3>{stickyRecordsHeader}</h3>
                </header>
                <ul>
                    {stickyRecordsList}
                </ul>
            </section>
            [/stickyFaqs]
        </div>
    </div>
</section>

<footer id="footer" class="container-fluid hidden-print">
    <div class="row-fluid">
        <div class="span6">
            <ul class="footer-menu">
                <li>{showSitemap}</li>
                <li>{msgContact}</li>
              
			  
			  {abfrageergebnis}
			  
			  
            </ul>
        </div>
        <div class="span6">
            <form action="{writeLangAdress}" method="post" class="pull-right" accept-charset="utf-8">
                <input type="hidden" name="action" value="" />
            </form>
        </div>
    </div>
    <div class="row">
        <p class="copyright pull-right">
            {copyright}
        </p>
    </div>
</footer>

</body>
</html>
Thorsten
Posts: 15749
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: Datenbankausgabe in template file

Post by Thorsten »

Hi,

in der index.php müsste das so aussehen:

Code: Select all

'abfrageergebnis' => include('abfrageergebnis.php');
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
smartys
Posts: 25
Joined: Mon Jun 23, 2014 3:39 pm

Re: Datenbankausgabe in template file

Post by smartys »

Leider will das nicht so richtig klappen
smartys
Posts: 25
Joined: Mon Jun 23, 2014 3:39 pm

Re: Datenbankausgabe in template file

Post by smartys »

Mein Abfrageergebnis.php funktioniert soweit:

Code: Select all

<body>
<?php
$db_host = "localhost";
$db_user = "root";
$db_pass = "pass";
$db_name = "name";

// Verbindung oeffnen und Datenbank ausweahlen
$conID = mysql_connect( $db_host, $db_user, $db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );
if ($conID)
{
    mysql_select_db( $db_name, $conID );
}

// Anfrage zusammenstellen um die Datensaetze auszulesen
$sql = "SELECT `version` FROM `versionierung`";
// Anfrage an die DB schicken und die Rueckmeldung in eine Variable ablegen
$abfrageergebnis = mysql_query( $sql, $conID );

// Ab hier werden die Datensaetze zeilenweise ausgeben (auch fetchen genannt)
while ($datensatz = mysql_fetch_array( $abfrageergebnis ))
{    
// Jeder Datensatz entspricht einer Tabellenzeile
echo "<tr>";
echo "<td>" .htmlspecialchars( $datensatz['version'] ). "</td>";
echo "</tr>";
}


?>
</body>
</html>
Thorsten
Posts: 15749
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: Datenbankausgabe in template file

Post by Thorsten »

Hi,

den <body> und </html> Tags brauchst du nicht. Was passiert denn, wenn du das einbindest?

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
smartys
Posts: 25
Joined: Mon Jun 23, 2014 3:39 pm

Re: Datenbankausgabe in template file

Post by smartys »

Thorsten wrote:Hi,

den <body> und </html> Tags brauchst du nicht. Was passiert denn, wenn du das einbindest?

bye
Thorsten
Die Seite wird nicht mehr geladen. Blankpage, kein error mit errorreporting
Thorsten
Posts: 15749
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: Datenbankausgabe in template file

Post by Thorsten »

Hi,

mach mal das Error Reoporting in der inc/Bootstrap.php an :)

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
smartys
Posts: 25
Joined: Mon Jun 23, 2014 3:39 pm

Re: Datenbankausgabe in template file

Post by smartys »

Es funktioniert nun. Ich habe es so gelöst dass ich die Abfrage direkt in die Tabelle "faqconfig" schreibe und im index.php Zeile 515

Code: Select all

'abfrageergebnis'      => $faqConfig->get('versionierung'),
Danke Thorsten
Thorsten
Posts: 15749
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: Datenbankausgabe in template file

Post by Thorsten »

Hi,

ah, noch schönere Idee :)

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
Post Reply