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
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
Kommentar