php script auslagern in eigene datei

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • php script auslagern in eigene datei

    nabend schön.

    ich möchte gern die php aufgabe in eine eigene datei auslagern und die tabelle innerhalb nur mit html gestalten und dort die ergebnisse trotzdem erhalten, die dann auch in den meta tags wiedergegeben werden sollen. hab schon mehrere sachen getestet aber irgendwie find ich nicht den richtigen weg.

    PHP-Code:
    <?PHP
        
    // Einbinden der Verbindungsdaten
        
    include("db.inc.php");
        
    // Verbindung zum Datenbankserver herstellen
        
    $db = new mysqli($dbserver$dbuser$dbpasswd$dbname);
        if (
    mysqli_connect_errno == 0)
        {

            
    $rezeptid mysqli_real_escape_string($dbtrim($_GET["rezeptid"]));

            
    $sqlstatement "SELECT * FROM rezepte WHERE kunr = '$rezeptid'";

            
    $result $db->query($sqlstatement);

            if (
    $result)
            {
               print 
    "<table border=\"0\" cellspacing=\"2\" ".
               
    "cellpadding=\"5\" width=\"100\%\" >";

               while (
    $dataset mysqli_fetch_assoc($result))
                       {
                print 
    "<tr>";
                print 
    "<th width=\"40\%\" >eingestellt von: </th>";
                print 
    "<td width=\"364\px\" >".$dataset['user']."</td>";
                print 
    "</tr>";
                print 
    "<tr>";
                print 
    "<th width=\"40\%\" >Rezeptname: </th>";
                print 
    "<td width=\"70\%\" >".$dataset['rezn']."</td>";
                print 
    "</tr>";
                print 
    "<tr>";
                print 
    "<th width=\"40\%\" >Vorschau: </th>";
                if(
    file_exists($dataset['big']))
                         {
    $img $dataset['big'];}
                    else
                         {
    $img "bildup/big/peperoni.jpg";}
                       
    printf ('<td><img src="%s"></td>'$img);
                print 
    "</tr>";
                print 
    "<tr>";
                print 
    "<th width=\"40\%\" >Kategorie: </th>";
                print 
    "<td width=\"70\%\" >".$dataset['kat']."</td>";
                print 
    "</tr>";
                print 
    "<tr>";
                print 
    "<th width=\"40\%\" >Menge: </th>";
                print 
    "<td width=\"70\%\" >".$dataset['menge']." ".$dataset['mengenart']."</td>";
                print 
    "</tr>";
                print 
    "<tr>";
                print 
    "<th width=\"40\%\" >Schwierigkeitsgrad: </th>";
                print 
    "<td width=\"70\%\" >".$dataset['schwg']."</td>";
                print 
    "</tr>";
                print 
    "<tr>";
                print 
    "<th width=\"40\%\" >Zubereitungszeit: </th>";
                print 
    "<td width=\"70\%\" >".$dataset['zubzeit']."</td>";
                print 
    "</tr>";
                print 
    "<tr>";
                print 
    "<th width=\"40\%\" >Zutaten: </th>";
                print 
    nl2br("<td width=\"70\%\" >".$dataset['zutaten']."</td>");
                print 
    "</tr>";
                print 
    "<tr>";
                print 
    "<th width=\"40\%\" >Zubereitung: </th>";
                print 
    nl2br("<td width=\"70\%\" >".$dataset['zub']."</td>");
                print 
    "</tr>";
                 }
            print 
    "</table>";
                }
        }

        else
        { 
            
    //Es konnte keine Datenbankverbindung aufgebaut werden
            
    echo 'Die Datenbank konnte nicht erreicht werden. Folgender Fehler trat auf: <span class="hinweis">' .mysqli_connect_errno(). ' : ' .mysqli_connect_error(). '</span>';
        
        }
        
        
    // Datenbankverbindung schliessen
        
    $db->close();
        
    ?>
    danke schonmal für hilfreiche tips. und bitte keine verweise lies da oder arbeite dir dieses thema durch.
    ich hab schon abende in google verbracht aber für die meta zags find ich keine lösung oder ich suche falsch.

    gruß matze

    fals der titel nicht ganz so passt bitte ich um entschuldigung
    Zuletzt geändert von matze511; 15.08.2015, 20:40.

  • #2
    db.config.php
    PHP-Code:
    <?php

    return [
        
    'server' => 'localhost',
        
    'user' => 'root',
        
    'password' => '',
        
    'database' => 'test'
    ];
    layout.php
    PHP-Code:
    <!DOCTYPE html>
    <html>
    <head>
    <title>Title</title>
    </head>

    <body>
    <?php require $viewPath?>
    </body>
    </html>
    recipesRepository.php
    PHP-Code:
    <?php

    function getAllRecipes(mysqli $db) {
        
    $sql "
            SELECT id, name
            FROM recipes
            ORDER BY id
        "
    ;
        
        
    $result $db->query($sql);
        return 
    $result->fetch_all(MYSQLI_ASSOC);
    }
    recipesView.php
    PHP-Code:
    <?php

    $e 
    = function ($value) {
        return 
    htmlspecialchars($valueENT_COMPAT ENT_HTML5'UTF-8');
    };

    ?>
    <table>
        <thead>
            <tr>
                <th>ID</th>
                <th>Name</th>
            </tr>
        </thead>
        <tbody>
            <?php foreach ($recipes as $recipe): ?>
            <tr>
                <td><?php echo $e($recipe['id']); ?></td>
                <td><?php echo $e($recipe['name']); ?></td>
            </tr>
            <?php endforeach; ?>
        </tbody>
    </table>
    index.php
    PHP-Code:
    $dbConfig = require 'db.config.php';

    $db = new mysqli(
        
    $dbConfig['server'],
        
    $dbConfig['user'],
        
    $dbConfig['password'],
        
    $dbConfig['database']
    );

    require_once 
    'recipesRepository.php';
    $recipes getAllRecipes($db);

    $viewPath 'recipesView.php';
    require 
    'layout.php'
    ungetestet

    Kommentar


    • #3
      oh das ging aber schnell. danke erstmal dafür, vergass allerdings das ich kein php profi bin aber ich werd versuchen es umzusetzen.

      was ich noch dazu sagen sollte bzw welchen zweck ich eigendlich verfolge ist:

      ich hab eine fanpage (kleines kochbuch, weil mein kleines hobby kochen ist) noch bei facebook und wollte da etwas mehr in der chronik posten wie auch die rezepte. um diese aber nicht immer nochmal zu schreiben wollte ich die gleich beim anzeigen auf der webseite sharen/teilen. den botten hab ich ja soweit hinbekommen doch leider wird der inhalt der rezepte nicht mitgeliefert bis auf das richtige bild zum jeweiligen rezept und deshalb wollte ich einige teile wie rezeptname mit in den metatags haben weil die von dem fb script mitgelesen werden, so hab ich es zumindest er-google-t. vlt ist die lösung ja viel einfacher als die komplette seite auseinander zu pflücken.

      beispielseite: Das Kochbuch! Rezepte für jederman.
      dort ist unter dem rezept der teilen botton und noch eine andere lösung als link aber beides füllt leider den post nicht so wie erwünscht

      ich weiß das ist nicht php aber vlt liegt ja der fehler in meinem php script

      besteht vlt auch die möglichkeit wenn ein rezept neu eingetragen wird, dass es auch sofort mit gepostet wird?

      lg matze
      Zuletzt geändert von matze511; 15.08.2015, 21:29.

      Kommentar

      Lädt...
      X