+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: MySQL - Ausgabe nach Datum sortieren

  1. #1
    Hat hier eine Zweitwohnung Avatar von alex33kassel
    Registriert seit
    21.07.2007
    Ort
    Dortmund- Frankfurt
    Alter
    38
    Beiträge
    1.578
    Bedankte sich
    155
    Erhielt 313 Danksagungen
    in 290 Beiträgen

    Standard MySQL - Ausgabe nach Datum sortieren

    Hallo liebe Mitglieder

    Ich habe ein Geschenke-System in einem User-Profil.

    Leider steht an erster Stelle immer das ältere Geschenke.

    Wie kann ich es so codieren....das neue Geschenke an 1. Stelle stehen ?

    Hier der Codebereich.

    Code:
    $database = &JFactory::getDBO();
    			$database->setQuery("SELECT  a.id AS presentid, a.userid, a.award, a.date,  a.reason,a.donatorid,a.privacy, b.image, b.name, b.desc_text, b.price,  c.username FROM #__jpresents_presents AS a LEFT JOIN #__jpresents_gifts  AS b ON a.award = b.id LEFT JOIN #__users AS c ON a.donatorid = c.id  WHERE a.userid = $curid LIMIT 5");
    			$gifts = $database->loadObjectList();
    In der Ausgabe ist a.datum als Datum deklariert.

    WHERE a.datum = ???? Oder sowas in der Art

    Oder sowas... SELECT * #__jpresents_presents WHERE Startzeit > NOW() ORDER BY startzeit ASC LIMIT 10;

  2. #2
    Wohnt hier Avatar von oldlady
    Registriert seit
    17.09.2008
    Ort
    München
    Beiträge
    4.848
    Bedankte sich
    357
    Erhielt 1.409 Danksagungen
    in 1.290 Beiträgen

    Standard

    Normalerweise SELECT ... WHERE ..... ORDER BY a.date DESC
    es kommt aber drauf an, wie a.datum formatiert ist.

    EDIT: Du schreibst einmal a.date, einmal a.datum, vielleicht ist da was nicht konistent
    Grüße, Christiane
    Joomla braucht dich!

  3. #3
    Hat hier eine Zweitwohnung Avatar von alex33kassel
    Registriert seit
    21.07.2007
    Ort
    Dortmund- Frankfurt
    Alter
    38
    Beiträge
    1.578
    Bedankte sich
    155
    Erhielt 313 Danksagungen
    in 290 Beiträgen

    Standard

    Hi

    Es ist a.date

    Wie müsste ich das hier einfügen ?

    $database->setQuery("SELECT a.id AS presentid, a.userid, a.award, a.date, a.reason,a.donatorid,a.privacy, b.image, b.name, b.desc_text, b.price, c.username FROM #__jpresents_presents AS a LEFT JOIN #__jpresents_gifts AS b ON a.award = b.id LEFT JOIN #__users AS c ON a.donatorid = c.id WHERE a.userid = $curid LIMIT 5");


    Danke für deine Hilfe

    Lg Alex

  4. #4
    Wohnt hier Avatar von oldlady
    Registriert seit
    17.09.2008
    Ort
    München
    Beiträge
    4.848
    Bedankte sich
    357
    Erhielt 1.409 Danksagungen
    in 1.290 Beiträgen

    Standard

    $database->setQuery("SELECT a.id AS presentid, a.userid, a.award, a.date, a.reason,a.donatorid,a.privacy, b.image, b.name, b.desc_text, b.price, c.username FROM #__jpresents_presents AS a LEFT JOIN #__jpresents_gifts AS b ON a.award = b.id LEFT JOIN #__users AS c ON a.donatorid = c.id WHERE a.userid = $curid LIMIT 5 ORDER BY a.date DESC");

    Ich habs aber nicht getestet, bin grad im Stress, aber ich denek es müsste hinhauen.
    Grüße, Christiane
    Joomla braucht dich!

  5. Erhielt Danksagungen von:


  6. #5
    Hat hier eine Zweitwohnung Avatar von alex33kassel
    Registriert seit
    21.07.2007
    Ort
    Dortmund- Frankfurt
    Alter
    38
    Beiträge
    1.578
    Bedankte sich
    155
    Erhielt 313 Danksagungen
    in 290 Beiträgen

    Standard

    Hi
    Das geht leider nicht. Danach werden keine Geschenke mehr angezeigt.

    Lg Alex

  7. #6
    Wohnt hier Avatar von oldlady
    Registriert seit
    17.09.2008
    Ort
    München
    Beiträge
    4.848
    Bedankte sich
    357
    Erhielt 1.409 Danksagungen
    in 1.290 Beiträgen

    Standard

    Schade - aber ich müsste dieselbe Datenbank haben wie du um das zu testen und dieselben Komponeneten, als Trockenübung ist das zu schwer. Du könntest sql kommando ausgeben lassen (per echo) und dann das Kommando direkt auf der db ausprobieren bzw. rumprobieren.
    Grüße, Christiane
    Joomla braucht dich!

  8. Erhielt Danksagungen von:


  9. #7
    Hat hier eine Zweitwohnung Avatar von alex33kassel
    Registriert seit
    21.07.2007
    Ort
    Dortmund- Frankfurt
    Alter
    38
    Beiträge
    1.578
    Bedankte sich
    155
    Erhielt 313 Danksagungen
    in 290 Beiträgen

    Standard

    Hi
    In der Datenbank ist es ein ganz normales date feld was abgefragt wird. Direkt in der Datenbank kann ich aber keinen ASC oder DESC absetzen.

    Für mich stelllt sich die Frage...Wie und wo kann ich ORDER BY .date einfügen ?

    Wäre dankbar für Hilfe

    Lg Alex

  10. #8
    Hat hier eine Zweitwohnung Avatar von alex33kassel
    Registriert seit
    21.07.2007
    Ort
    Dortmund- Frankfurt
    Alter
    38
    Beiträge
    1.578
    Bedankte sich
    155
    Erhielt 313 Danksagungen
    in 290 Beiträgen

    Standard

    Schade Schade

  11. #9
    Wohnt hier Avatar von oldlady
    Registriert seit
    17.09.2008
    Ort
    München
    Beiträge
    4.848
    Bedankte sich
    357
    Erhielt 1.409 Danksagungen
    in 1.290 Beiträgen

    Standard

    Also es läßt mir keine Ruhe , allerdings kann man sowas wirklich schwer aus der Ferne bearbeiten aber eine Versuch ist es wert:

    versuchs mal direkt auf der Datenbank mit sql - das ist das original-Kommando das du gepostet hast und müsste demnach funkionieren, du musst nur die userid durch eine echt zahl ersetzten.

    SELECT a.id AS presentid, a.userid, a.award, a.date, a.reason,a.donatorid,a.privacy, b.image, b.name, b.desc_text, b.price, c.username FROM jos_jpresents_presents AS a LEFT JOIN jos_jpresents_gifts AS b ON a.award = b.id LEFT JOIN jos_users AS c ON a.donatorid = c.id WHERE a.userid = $curid LIMIT 5

    funtioniert das in sql?

    Wenn ja, dann kannst du versuchen was passiert wenn du

    SELECT a.id AS presentid, a.userid, a.award, a.date, a.reason,a.donatorid,a.privacy, b.image, b.name, b.desc_text, b.price, c.username FROM jos_jpresents_presents AS a LEFT JOIN jos_jpresents_gifts AS b ON a.award = b.id LEFT JOIN jos_users AS c ON a.donatorid = c.id WHERE a.userid = $curid ORDER BY a.date DESC LIMIT 5

    eingibtst. Aber das ist ein Gewürge, ich weiss es.
    Trotzdem, gib nicht auf!
    Gruß, old lady
    Grüße, Christiane
    Joomla braucht dich!

  12. Erhielt Danksagungen von:


  13. #10
    Hat hier eine Zweitwohnung Avatar von alex33kassel
    Registriert seit
    21.07.2007
    Ort
    Dortmund- Frankfurt
    Alter
    38
    Beiträge
    1.578
    Bedankte sich
    155
    Erhielt 313 Danksagungen
    in 290 Beiträgen

    Standard

    Hi

    Die Abfrage habe ich ausgeführt direkt in der Datenbank

    Das hat funktioniert.

    Was muss ich den jetzt weiter machen ??

    Muss ich bei der Abfage das auch überschreiben ? Und wie geht das bei allen Usern.

    Muss diese Abfrage jetzt in die php Datei ?

    Ich Danke Dir für deine Hilfe.


    Das habe ich eingeben in MySQL:

    SQL-Befehl: SELECT a.id AS presentid, a.userid, a.award, a.date, a.reason, a.donatorid, a.privacy, b.image, b.name, b.desc_text, b.price, c.username
    FROM jos_jpresents_presents AS a
    LEFT JOIN jos_jpresents_gifts AS b ON a.award = b.id
    LEFT JOIN jos_users AS c ON a.donatorid = c.id
    WHERE a.userid =62
    ORDER BY a.date DESC
    LIMIT 5


    Das wäre die Ausgabe des PHP-Code

    SQL-Befehl:
    $sql = ' SELECT a.id AS presentid, a.userid, a.award, a.date, a.reason, a.donatorid, a.privacy, b.image, b.name, b.desc_text, b.price, c.username'
    . ' FROM jos_jpresents_presents AS a'
    . ' LEFT JOIN jos_jpresents_gifts AS b ON a.award = b.id'
    . ' LEFT JOIN jos_users AS c ON a.donatorid = c.id'
    . ' WHERE a.userid =62'
    . ' ORDER BY a.date DESC'
    . ' LIMIT 5 ';

    Aber das bezieht ja jetzt alles auf User ID 62
    Geändert von alex33kassel (17.04.2010 um 12:04 Uhr)

+ Antworten
Seite 1 von 2 1 2 LetzteLetzte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein