• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

MySQL Inhalte ausgeben

  • Ersteller Ersteller matibaski
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
M

matibaski

Guest
Moin!
Es geht um ein Newsscript, dass alles in eine MySQL Tabelle speichert.
Nun möchte ich sie "billig" ausgeben lassen.
Momentan habe ich es so, dass man die ID und das Datum sieht, sowie den Titel. Jeder Titel ist verlinkt. Wenn man auf einen klickt, soll der Inhalt in ein Div-Fenster kommen.

Hier ist es:
http://habboville.paradoxe.de/mysql/index.php

Wegen dem Error oben. Ignoriert den. Er steht nur dort, weil nichts übermittelt wurde. Es wir von schreiben.php alles übermittelt und dann in die Datenbank geschrieben. Hab noch keinen Nein-Zweig drangemacht. Mach ich später.

Etwa so dachte ich es:
PHP:
if(!isset($_GET['show']))
{
echo'<br><br>Inhalt:<br><br>Wähle einen Beitrag aus';
}
else
{
echo'<br><br>Inhalt:<br><br>'.$row['Inhalt'].'';
}
Und So wird sie aufgerufen:
PHP:
echo "Vorhandene Einträge:<br><br>\n";
if(mysql_num_rows($result))
{
 while($row = mysql_fetch_assoc($result))
 {
  echo '<a href=index.php?show='.$row['ID'].'>'.$row['ID'].'&nbsp;-&nbsp;'.$row['Datum']." &gt; ".$row['Titel'].'</a><br>';
 }
}
else
{
echo'Es sind keine Newseinträge vorhanden';
}
Die Hyperlinks funktionieren. Es kommt immer ein Link mit show=Zahl
Doch es wird nicht eingefügt, unten bei Inhalt:

Ich habe doch alles bestimmt.
PHP:
echo'....'.$row['Inhalt'].'....';
 
Hier ist der ganze Code:
PHP:
// index.php
<?php
error_reporting(E_ALL);

// Config
include"config.php";

// Verbindung wird hergestellt
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die("Die Verbindung kann nicht aufgebaut werden");
// Die Datenbank wird ausgewählt
mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

if(!$_POST['submit'])
{
 echo'<br><br>';
}
else
{
 $titel = $_POST['titel'];
 $text = $_POST['text'];
 $autor = $_POST['autor'];
 $eintrag = "INSERT INTO News (Titel,Inhalt,Datum,Autor) VALUES ('$titel', '$text', 'date()', '$autor')";
                
 mysql_query($eintrag) OR die(mysql_error());
 echo'News gespeichert<br><br><br>';
}

// Liste mit Einträgen wird gelesen
$sql = "SELECT
            ID,
            Titel,
            Datum
        FROM
            News
        ORDER BY
            Datum DESC;";
            
$result = mysql_query($sql) OR die(mysql_error());

// Einträge werden aufgelistet
echo "Vorhandene Einträge:<br><br>\n";
if(mysql_num_rows($result))
{
 while($row = mysql_fetch_assoc($result))
 {
  echo '<a href=index.php?show='.$row['ID'].'>'.$row['ID'].'&nbsp;-&nbsp;'.$row['Datum']." &gt; ".$row['Titel'].'</a><br>';
 }
}
else
{
echo'Es sind keine Newseinträge vorhanden';
}

// 
if(!isset($_GET['show']))
{
echo'<br><br>Inhalt:<br><br>Wähle einen Beitrag aus';
}
else
{
echo'<br><br>Inhalt:<br><br>'.$row['Inhalt'].'';
}
?>
Datei mit MySQL Daten:

PHP:
//config.php
<?php
error_reporting(E_ALL);

define('MYSQL_HOST',      'localhost');
define('MYSQL_USER',      'user');
define('MYSQL_PASS',      'passwort');
define('MYSQL_DATABASE',  'datenbank');
?>

Die Verbindung wird natürlich mit mysql_connect gemacht und meine datenbank mit mysql_select_db verbunden.
Dann kommt der Rest. MYSQL_HOST, _USER usw. wurden mit define() definiert.

Ist eigentlich ne ganz simple und einfache mysql Verbindung, die sehrwarscheindlich viele Benutzten.

MfG, matibaski
 
Zuletzt bearbeitet von einem Moderator:
Wenn ich mich nicht total verguckt habe gibst du $row['Inhalt'] aus, obwohl das überhaupt nicht in deinem SQL-Statement steht.
 
PHP:
<?php
error_reporting(E_ALL);
include"config.php";
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) 
    OR die("Die Verbindung kann nicht aufgebaut werden");
@mysql_select_db(MYSQL_DATABASE) 
    OR die(mysql_error());

if(!isset($_POST['submit']))
{
    echo"<br><br>\n\n";
}
else
{
    $titel = $_POST['titel'];
    $text = $_POST['text'];
    $autor = $_POST['autor'];
    $eintrag = "INSERT INTO News (
                       Titel,
                       Inhalt,
                       Datum,
                       Autor
                   ) VALUES ( 
                       '{$titel}', 
                       '{$text}', 
                       '".time()."', 
                       '{$autor}'
                   )";               
mysql_query($eintrag) 
    OR die(mysql_error());
echo"News gespeichert<br><br><br>\n\n\n";
}

$sql = "SELECT
            ID,
            Titel,
            Datum,
            Inhalt
        FROM
            News
        ORDER BY
            Datum DESC;";
            
$result = mysql_query($sql) 
                OR die(mysql_error());

echo "Vorhandene Einträge:<br><br>\n\n";
if(mysql_num_rows($result)>0)
{
    while($row = mysql_fetch_assoc($result))
    {
      echo '<a href=index.php?show='.$row['ID'].'>'.$row['ID'].'&nbsp;-&nbsp;'.$row['Datum']." &gt; ".$row['Titel'].'</a><br>';
    }
}
else
{
    echo 'Es sind keine Newseinträge vorhanden';
}

if(!isset($_GET['show']))
{
    echo'<br><br>Inhalt:<br><br>Wähle einen Beitrag aus';
}
else
{
    $sql = "SELECT
            ID,
            Titel,
            Datum,
            Inhalt
        FROM
            News
        WHERE
            ID = ".$_GET['show']."
        ORDER BY
            Datum DESC;";
            
    $result = mysql_query($sql) 
                OR die(mysql_error());
    if(mysql_num_rows($result)>0)
    {
        while($row = mysql_fetch_assoc($result))
       {
          echo'<br><br>Inhalt:<br><br>'.$row['Inhalt'].'';
       }
    }
    else
    {
        echo'<br><br>Inhalt:<br><br>Wähle einen Beitrag aus';
    }
?>
 
Danke, für die Arbeit, jedoch hat es eine undefinierte Variable.
Doch wo, weiss ich nicht.
Habe zum ersten mal solch einen komischen Error erhalten.
Diesen hier:

Parse error: syntax error, unexpected $end in /home/httpd/vhosts/paradoxe.de/subdomains/habboville/httpdocs/mysql/index.php on line 91

ist damit die Variabe $end gemeint oder einfach irgendeine Variable?

MfG, matibaski

edit:
Hab's umegändert. Und zwar so:
PHP:
<?php
error_reporting(E_ALL);

// Config
include"config.php";

// Verbindung wird hergestellt
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die("Die Verbindung kann nicht aufgebaut werden");
// Die Datenbank wird ausgewählt
mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

if(!$_POST['submit'])
{
echo'<br><br>';
}
else
{
$titel = $_POST['titel'];
$text = $_POST['text'];
$autor = $_POST['autor'];
$eintrag = "INSERT INTO News (Titel,Inhalt,Datum,Autor) VALUES ('$titel', '$text', 'date()', '$autor')";
                
mysql_query($eintrag) OR die(mysql_error());
echo'News gespeichert<br><br><br>';
}

// Liste mit Einträgen wird gelesen
$sql = "SELECT
            ID,
            Titel,
            Datum
        FROM
            News
        ORDER BY
            Datum DESC;";
            
$result = mysql_query($sql) OR die(mysql_error());

// Einträge werden aufgelistet
echo "Vorhandene Einträge:<br><br>\n";
if(mysql_num_rows($result))
{
while($row = mysql_fetch_assoc($result))
{
  echo '<a href=index.php?show='.$row['ID'].'>'.$row['ID'].'&nbsp;-&nbsp;'.$row['Datum']." &gt; ".$row['Titel'].'</a><br>';
}
}
else
{
echo'Es sind keine Newseinträge vorhanden';
}

//
if(!isset($_GET['show']))
{
echo'<br><br>Inhalt:<br><br>Wähle einen Beitrag aus';
}
else
{
$sql = "SELECT
            ID,
            Titel,
            Datum,
            Inhalt
        FROM
            News
        WHERE
            ID = ".$_GET['show']."
        ORDER BY
            Datum DESC;";
            
    $result = mysql_query($sql)
                OR die(mysql_error());
    if(mysql_num_rows($result)>0)
    {
        while($row = mysql_fetch_assoc($result))
       {
          echo'<br><br>Inhalt:<br><br>'.$row['Inhalt'].'';
       }
    }
    else
    {
        echo'<br><br>Inhalt:<br><br>Wähle einen Beitrag aus';
    } 
}
?>

So funktioniert es einwandfrei.

MfG, matibaski
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben