Abfrageergbnis weiterverarbeiten - Abfrage weiter selectieren

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

  • Abfrageergbnis weiterverarbeiten - Abfrage weiter selectieren

    Hallo,
    ich versuche jetzt seit Wochen verzweifelt eine Lösung für mein Problem zu finden..
    Ich habe in meiner Datenbank eine Tabelle "post_meta". In dieser befinden sich 4 Spalten. in einer Spalte befinden sich Angaben wie Datum, Name, etc. Ich schaffe es die gewünschten Daten zu Filtern und erhalte im Grunde schon ein zufriedenstellendes Ergebnis. ABER:
    Wie kann ich aus diesem Ergebnis weiter Filtern? Sprich ich bekomme im Moment den Kundennamen, Kundenkontakt und ein Erinnerungsdatum. Ich möchte eine Email mit den entsprechenden Daten ausgehend vom Erinnerungsdatum - 100 Tage. Leider kann ich es nicht weiter filtern.

    Hier mal einer meiner vielen Ansätze:
    $sql= "meta_value, post_id FROM di0n8s_postmeta WHERE meta_key='name' OR meta_key='kontakt' OR meta_key='start-datum' OR meta_key='befuellung-neu' ORDER BY post_id";
    $suchdatum = new DateTime("-100 days");
    echo $suchdatum->format("d-m-Y");

    Nur wie bekomme ich das kombiniert oder muss ich mit create temporary table arbeiten?

    Auch das war ein Ansatz:
    $suchdatum = new DateTime("-100 days");
    echo $suchdatum->format("d-m-Y"); (Ergebnis: 16-08-2016 - wäre ja richtig in der Formatierung)
    $query = "SELECT meta_value, post_id FROM wb16_postmeta WHERE meta_key='start-datum'AND DATEDIFF(NOW(), 'post_date') > 11";

    Funktioniert leider auch nicht.. Wo ist denn nur mein Denkfehler?

    Hier meine Tabelle - ein Ausschnitt..

    meta_id post_id meta_key meta_value

    9214 2449 _name field_5640b7c8bc98b
    9215 2449 kontakt 0177-3398382
    9218 2449 _start-datum field_559b4ed315caa
    9219 2449 befuellung-neu power-sterilisator
    9205 2449 _shipping_first_name NULL
    9204 2449 _billing_country DE
    9203 2449 _billing_postcode 80997
    9202 2449 _billing_city München
    9201 2449 _billing_address_2
    9199 2449 _billing_company test@vilmo.de
    9200 2449 _billing_address_1 Test Str. 52
    9198 2449 _billing_last_name Testnachname
    9197 2449 _billing_first_name Testvorname
    9195 2449 _fax
    9196 2449 _account_type customer
    9194 2449 _phone 0177-3398382
    9193 2449 _account_owner 3
    9192 2449 _edit_last 3
    9220 2449 _befuellung-neu field_559b4f3d15cab
    9217 2449 start-datum 03-11-2016
    9216 2449 _kontakt field_5640b7debc98c
    9213 2449 name Vilgershofer Bernhard
    9212 2449 _shipping_country NULL
    9211 2449 _shipping_postcode NULL
    9209 2449 _shipping_address_2 NULL
    9210 2449 _shipping_city NULL
    9208 2449 _shipping_address_1 NULL
    9207 2449 _shipping_company NULL
    9206 2449 _shipping_last_name NULL
    9191 2449 _edit_lock 1478275743:3

    Wenn ich versuche das Ganze gleich nach Datum zu durchsuchen:

    $suchdatum = new DateTime("-100 days");
    echo $suchdatum->format("d-m-Y");
    $query = "SELECT meta_value, post_id FROM wb16_postmeta WHERE meta_key='start-datum' LIKE '$suchdatum'";

    erhalte ich folgende Fehlermeldung:
    Catchable fatal error: Object of class DateTime could not be converted to string

    Hilfe, ich steh so auf der Leitung..

    Ich hoffe ich konnte mich einigermaßen Verständlich ausdrücken..

    Über jede Hilfe bin ich dankbar. Google hab ich auch schon befragt, aber mir fehlt einfach der Ansatz..

    Gruß,
    Tanja

  • #2
    Statt
    PHP-Code:
    $sql"SELECT meta_value, post_id FROM di0n8s_postmeta WHERE meta_key='name' OR    meta_key='kontakt' OR meta_key='start-datum' OR    meta_key='befuellung-neu' ORDER BY post_id"
    geht auch
    PHP-Code:
    $sql"SELECT meta_value, post_id FROM di0n8s_postmeta WHERE meta_key IN ('name', 'kontakt', 'start-datum', 'befuellung-neu') ORDER BY post_id"
    Um das Suchdatum miteinzubauen genügt ein einfaches AND:
    PHP-Code:
    $suchdatum="25-12-2016";
    $query "SELECT meta_value, post_id FROM wb16_postmeta WHERE meta_key IN  ('name', 'kontakt', 'start-datum', 'befuellung-neu') AND meta_key='".$suchdatum."' ORDER BY post_id"

    Kommentar

    Lädt...
    X