Christopher: Mysql Ausgabe vereinfachen?

Grüß euch! Folgendes Problem:

Will die Ausgabe von MYSQL sprich die einzelnen Tabellen unterschiedlich ausgeben! Funktionieren tut es nicht so ganz.

Ausgabe von der Tabelle "filme" darf nur vom jahr 2003 erscheinen!
Das funkt auch aber ich will es in Monat und Tag Sotieren.

Sprich:

1. September
5. September
18. Dezember usw...

Das Funkt aber nicht!

Bitte um Hilfe! Danke CHRISTOPHER

<b>Video+Sound from Year 2003</b><br><br>
<?
include('config/mysql.inc.php');
$tabelle = "filme";

$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "SELECT * FROM $tabelle WHERE jahr='2003' ORDER by 'monat' , 'tag' DESC";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
$id = $_GET['id'] + 1;

while ($ausgabe = mysql_fetch_array ($result))

{
echo ("

$ausgabe[monat] = <b>$ausgabe[filename]</b>
[<a href='video-details.php?id=$ausgabe[id]'><font color='#a3310b'>Video sehen..</font></a>]<br>

");
}
mysql_close ($dbverbindung)

?>

  1. hi,

    Ausgabe von der Tabelle "filme" darf nur vom jahr 2003 erscheinen!
    Das funkt auch aber ich will es in Monat und Tag Sotieren.

    $dbanfrage = "SELECT * FROM $tabelle WHERE jahr='2003' ORDER by 'monat' , 'tag' DESC";

    du sortierst hier nach den _textstrings_ 'monat' und 'tag' ...

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. hi,

      Ausgabe von der Tabelle "filme" darf nur vom jahr 2003 erscheinen!
      Das funkt auch aber ich will es in Monat und Tag Sotieren.

      $dbanfrage = "SELECT * FROM $tabelle WHERE jahr='2003' ORDER by 'monat' , 'tag' DESC";

      du sortierst hier nach den _textstrings_ 'monat' und 'tag' ...

      Ja das Datum ist mir eh egal! Es sollte nur nach den Monaten geordnet werden!

      Jänner
      Februar
      März
      April
      usw.....

      Des geht aber nicht so ganz! Weiss aber nicht wieso?

      1. Da monat ja eine Spalte deiner Tabelle ist bzw. sein muss, sieht die Anfrage dann so aus, falls du nur nach Monat sortieren willst:

        $dbanfrage = "SELECT * FROM $tabelle WHERE jahr='2003' ORDER by monat DESC";

        da ich den MySql-Syntax in PHP irgendwie seltsam finde (wann und wo und wie müssen Hochkommata hin) mache ich das bei jeder Variable so (in deinem Fall auch mit dem 2003):

        $year = 2003;

        $dbanfrage = "SELECT * FROM $tabelle WHERE jahr='$year' ORDER by monat DESC";

      2. Tag Christopher.

        $dbanfrage = "SELECT * FROM $tabelle WHERE jahr='2003' ORDER by 'monat' , 'tag' DESC";
        du sortierst hier nach den _textstrings_ 'monat' und 'tag' ...
        Ja das Datum ist mir eh egal!

        Du willst nach den Spaltennamen monat und tag sortieren, Spaltennamen gehören im Zusammenhang mit ORDER BY aber nicht in Hochkommata:

        "SELECT * FROM $tabelle WHERE jahr='2003' ORDER BY monat DESC"

        Siechfred

        --
        »Sie kochten heimlich mit Wasser und tranken öffentlich Wein.«
  2. Mach folgendes

    [<a href='video-details.php?id=$ausgabe[id]'><font color='#a3310b'>Video sehen..</font></a>]<br>

    erstmal so:

    [<a href='video-details.php?id=$ausgabe[id]' style='color:#a3310b'>Video sehen..</a>]<br>

    hat aber nix mit der Fkt. zu tun.

    Zweitens:

    In welchem Format speicherst du das Datum in der DB? timestamp oder date("d.m.Y");

    1. und wo hier gerade schon der Stil korrigiert wird... Das hier würde ich auch ändern:

      $ausgabe[id]

      Hier wird nämlich erst einmal nach der Konstante id gesucht. Die gibt es aber natürlich nicht. PHP tippt danach mal darauf, daß du vermutlich $ausgabe['id'] meintest und arbeitet dann damit.
      Würde das error_reporting ein weniger strenger eingestellt sein, käme es auch zu einem Hinweis.

      Gruß, rob