News script sortierung

xxnovosxx

Grünschnabel
Hio ich bin es mal wieder und zwar folgendes Problem ich hab ein News script was so weit auch funktioniert aber das Problem ist das es falsch sortiert wird es wird nach bustaben sortiertaber es soll so sotiert werden dass eine neue news oben angezeigt wird und ältere dan folgen hier meine scripts
News.php
PHP:
<?php
// Datensatz-Ausgabe festlegen
$sql = "SELECT
           `id`,
           `title`,
           `text`,
           `date`,
           `imageurl`
       FROM
           `news`
       WHERE
           `check` = '1'";
$result = mysql_query($sql)
    or die("<b>Error:</b> ". mysql_error());

// Wenn Datensatz vorhanden, diesen ausgeben, ansonsten Meldung ausgeben,
// dass kein Datensatz gefunden wurde
if (mysql_num_rows($result)) {
    print "<table border=\"0\" cellspadding=\"2\" cellspacing=\"2\" width=\"600\">\n";
    for ($i = 0; $i < mysql_num_rows($result); $i++) {
        $row = mysql_fetch_object($result);
        // Datum ins Format Tag.Monat.Jahr - Stunde:Minute umwandeln
        $date = date('d.m.Y - H:i', strtotime($row->date));
        print "    <h2>". $row->title ."</h2>\n";
        print "    <p algin=\"right\" width=\"130\">". $date ."</p>\n";
        print "  </tr>\n";
        print "  <tr>\n";
        if ($row->imageurl!='') {
            print "    <td align=\"justify\">". $row->text ."</td>\n";
            print "    <td align=\"center\" valign=\"top\" width=\"130\">\n";
            print "    <img alt=\"". $row->title ."\" height=\"90\" src=\"". $row->imageurl ."\" width=\"120\">\n";
            print "    </td>\n";
        } else {
            print "    <p align=\"justify\" colspan=\"2\">". $row->text ."</p>\n";
			
			
			
			
			
        }
        print "  </tr>\n";
    }   
		
    print "</table>\n";
} else {
    print "Zur Zeit sind noch keine News in der Datenbank vorhanden.\n";}
?>

News_admin.php
PHP:
<?php
if($HTTP_POST_VARS[pw] == "lol") {}

// Mögliche Fehler im Script ausgeben
error_reporting(E_ALL ^ E_NOTICE);

$mysql_host = "";  // Meist localhost
$mysql_user = "";  // Standartmäßig ist root der Benutzername
$mysql_pass = "";  // Dein MySQL-Passwort
$mysql_data = "";  // Datenbankname

// Verbindung zur Datenbank herstellen
$link = mysql_connect($mysql_host, $mysql_user, $mysql_pass)
    or die("<b>Error:</b> ". mysql_error());
mysql_select_db($mysql_data, $link)
    or die("<b>Error:</b> ". mysql_error());

// Datensatz-Ausgabe festlegen
$sql = "SELECT
           `id`,
           `title`,
           `date`,
           `check`
       FROM
           `news`";
$result = mysql_query($sql)
    or die("<b>Error:</b> ". mysql_error());

// Wenn Datensatz vorhanden, diesen ausgeben, ansonsten Meldung ausgeben,
// dass kein Datensatz gefunden wurde
if (mysql_num_rows($result)) {
    print "Es wurden <b>". mysql_num_rows($result) ."</b> Einträge gefunden.\n";
    print "<table border=\"0\" cellpadding=\"2\" cellspacing=\"2\">\n";
    for ($i = 0; $i < mysql_num_rows($result); $i++) {
        $row = mysql_fetch_object($result);
        // Datum ins Format Tag.Monat.Jahr - Stunde:Minute umwandeln
        $date = date('d.m.Y - H:i', strtotime($row->date));
        print "  <tr>\n";
        print "    <td width=\"230\">". $row->title ."</td>\n";
        print "    <td width=\"140\">". $date ."</td>\n";
        print "    <td>\n";
        print "    <a href=\"news_edit.php?action=edit&id=". $row->id ."\">Bearbeiten</a> |\n";
        print "    <a href=\"news_edit.php?action=delete&id=". $row->id ."\">Löschen</a> |\n";
        // Wenn `check` == '1' dann kann der Eintrag gesperrt werden,
        // ansonsten kann er freigeschaltet werden
        if ($row->check=='1') {
            print "    <a href=\"news_edit.php?action=lock&id=". $row->id ."\">Sperren</a>\n";
        } else {
            print "    <a href=\"news_edit.php?action=unlock&id=". $row->id ."\">Freischalten</a>\n";
        }
        print "    </td>\n";
        print "  </tr>\n";#
    }
    print "</table>\n";
} else {
    print "Zur Zeit sind noch keine News in der Datenbank vorhanden.\n";
}

print "<a href=\"news_edit.php?action=new\">Neuer Eintrag</a>\n";

?>

news_edit.php
PHP:
<?php
// Mögliche Fehler im Script ausgeben
error_reporting(E_ALL ^ ~E_NOTICE);

$mysql_host = "";  // Meist localhost
$mysql_user = "";  // Standartmäßig ist root der Benutzername
$mysql_pass = "";  // Dein MySQL-Passwort
$mysql_data = "";  // Datenbankname

// Verbindung zur Datenbank herstellen
$link = mysql_connect($mysql_host, $mysql_user, $mysql_pass)
    or die("<b>Error:</b> ". mysql_error());
mysql_select_db($mysql_data, $link)
    or die("<b>Error:</b> ". mysql_error());

// Verschiedene Aktionen, die durchgeführt werden können
switch ($_GET['action']) {
    case "edit":
        // Datensatz-Ausgabe festlegen
        $sql = "SELECT
                   `id`,
                   `title`,
                   `text`
               FROM
                   `news`
               WHERE
                   `id` = '". $_GET['id'] ."'";
        $result = mysql_query($sql)
            or die("<b>Error:</b> ". mysql_error());
        $row = mysql_fetch_object($result);

        if (isset($_POST['sent']) && $_POST['sent']=='1') {
            // Datensatz-Eingabe festlegen
            $sql = "UPDATE
                       `news`
                   SET
                       `title` = '". $_POST['title'] ."',
                       `text` = '". $_POST['text'] ."'
                   WHERE
                       `id` = '". $row->id ."'";
            mysql_query($sql)
                or die("<b>Error:</b> ". mysql_error());
            // Weiterleitung zu news_admin.php
            header("Location: news_admin.php");
        } else {
            // Formular zum bearbeiten des Eintrags
            print "<form action=\"news_edit.php?action=edit&id=". $_GET['id'] ."\" method=\"post\">\n";
            print "<input name=\"title\" type=\"input\" value=\"". $row->title ."\"><br>\n";
            print "<textarea cols=\"60\" name=\"text\" rows=\"10\">". $row->text ."</textarea><br>\n";
            print "<input name=\"sent\" type=\"hidden\" value=\"1\">\n";
            print "<input name=\"send\" type=\"submit\" value=\"Senden\">\n";
            print "<input name=\"reset\" type=\"reset\" value=\"Zurücksetzen\">\n";
            print "</form>\n";
        }
        break;

    case "delete":
        if (isset($_GET['check']) && $_GET['check']=='ok') {
            // Datensatz-Eingabe festlegen
            $sql = "DELETE FROM
                   `news`
                   WHERE
                   `id` = '". $_GET['id'] ."'";
            mysql_query($sql)
                or die("<b>Error:</b> ". mysql_error());
            // Weiterleitung zu news_admin.php
            header("Location: news_admin.php");
        } elseif (isset($_GET['check']) && $_GET['check']=='no') {
            // Weiterleitung zu news_admin.php
            header("Location: news_admin.php");
        } else {
            print "Wollen Sie den Eintrag wirklich löschen?<br>\n";
            print "<a href=\"news_edit.php?action=delete&id=". $_GET['id'] ."&check=ok\">Ja</a> |\n";
            print "<a href=\"news_edit.php?action=delete&id=". $_GET['id'] ."&check=no\">Nein</a>\n";
        }
        break;

    case "lock":
        // Datensatz-Eingabe festlegen
        $sql = "UPDATE
                   `news`
               SET
                   `check` = '-1'
               WHERE
                   `id` = '". $_GET['id'] ."'";
        mysql_query($sql)
            or die("<b>Error:</b> ". mysql_error());
        // Weiterleitung zu news_admin.php
        header("Location: news_admin.php");
        break;

    case "unlock":
        // Datensatz-Eingabe festlegen
        $sql = "UPDATE
                   `news`
               SET
                   `check` = '1'
               WHERE
                   `id` = '". $_GET['id'] ."'";
        mysql_query($sql)
            or die("<b>Error:</b> ". mysql_error());
        // Weiterleitung zu news_admin.php
        header("Location: news_admin.php");
        break;

    case "new":
        if (isset($_POST['sent']) && $_POST['sent']=='1') {
            if(!$_POST['title'] OR !$_POST['text']) {
                print "Bitte Prüfen Sie, ob die Felder Titel und Text ausgefüllt wurden.";
            } else {
                // Datensatz-Eingabe festlegen
                $sql = "INSERT INTO
                           `news` (title,
                                        imageurl,
                                        text)
                       VALUES
                           ('". $_POST['title'] ."',
                            '". $_POST['imageurl'] ."',
                            '". $_POST['text'] ."')";
                mysql_query($sql)
                    or die("<b>Error:</b> ". mysql_error());
                // Weiterleitung zu news_admin.php
                header("Location: news_admin.php");
            }
        }
        // Formular zum Erstellen des Eintrags
        print "<form action=\"news_edit.php?action=new\" method=\"post\">\n";
        print "Titel: <input name=\"title\" type=\"input\"";
        if (isset($_POST['title'])) {
            print " value=\"". $_POST['title'] ."\" ";
        }
        print "><br>\n";
        print "Bild: <input name=\"imageurl\" type=\"input\"";
        if (isset($_POST['imageurl'])) {
            print " value=\"". $_POST['imageurl'] ."\" ";
        }
        print "> (optional)<br>\n";
        print "Text:<br>\n";
        print "<textarea cols=\"60\" name=\"text\" rows=\"10\">";
        if (isset($_POST['text'])) {
            print $_POST['text'];
        }
        print "</textarea><br>\n";
        print "<input name=\"sent\" type=\"hidden\" value=\"1\">\n";
        print "<input name=\"send\" type=\"submit\" value=\"Senden\">\n";
        print "<input name=\"reset\" type=\"reset\" value=\"Zurücksetzen\">\n";
        print "</form>\n";
        break;

    default:
        break;
}
?>
 
Abend,

dazu musst du dein Query nur anpassen:

PHP:
$sql = "SELECT 
           `id`, 
           `title`, 
           `text`, 
           `date`, 
           `imageurl` 
       FROM 
           `news` 
       WHERE 
           `check` = '1'
       ORDER BY `date` DESC";

Nun wird nach Datum sortiert.

Viele Grüße
 
Führe, bevor du den Query ausführst, mal folgendes aus (am besten gleich nachdem du die Verbindung geöffnet hast)
PHP:
mysql_set_charset('utf8');
 
Zurück