haha, oki. men jag lyckades nog med den "andra" länken tror jag iaf.
fick till denna:
SELECT DATEDIFF(CURDATE(),DATE_ADD(StartDatum, INTERVAL Langd DAY)) as tidKvar, auktID, Rubrik, StartPris, StartDatum, Langd FROM auktion ORDER BY tidKva DESC
men den går inte ner på timmar och minuter. Nu får jag fram tex 5, men jag vill få fram tex 5 dagar, 10 h, 50 min osv.
Jag hade tänkt att du använder sub_time() för att ta fram antalet minuter. Sedan använder man applikationen / scriptet för att dela upp det i dagar, timmar och minuter.
SELECT Time_To_Sec(TIMEDIFF(DATE_ADD(StartDatum, INTERVAL Langd DAY), Now())) as tidKvar, auktID, Rubrik, StartPris, StartDatum, Langd FROM auktion WHERE StartDatum <= Now() ORDER BY tidKvar DESC;
(blir till sekunder)
men nu vill jag att inte att de poster som har minus i tidKvar ska hämtas hur löser jag det??
Om det inte funkar att ange det skapade namnet får du ange hela uttrycket i where-satsen. Dessutom ska du ju inte ha apostrofer runt nollan, det är ju ett tal.
SELECT Time_To_Sec(TIMEDIFF(DATE_ADD(StartDatum, INTERVAL Langd DAY), Now())) as tidKvar, auktID, Rubrik, StartPris, StartDatum, Langd FROM auktion WHERE StartDatum <= Now() AND Time_To_Sec(TIMEDIFF(DATE_ADD(StartDatum, INTERVAL Langd DAY), Now())) >=0 AND Rubrik like % ? % OR Beskrivning like % ? %"
Du ska ha apostrofer runt strängar. Dessutom, hur får du dit frågetecknen?
I tillägg, du måste knyta ihop dina OR-villkor för sökningen med parentes, annars räcker det att det sista villkoret går igenom, utan att något av de andra stämmer.
SELECT Time_To_Sec(TIMEDIFF(DATE_ADD(StartDatum, INTERVAL Langd DAY), Now())) as tidKvar, auktID, Rubrik, StartPris, StartDatum, Langd FROM auktion WHERE StartDatum <= Now() AND Time_To_Sec(TIMEDIFF(DATE_ADD(StartDatum, INTERVAL Langd DAY), Now())) >=0 AND (Rubrik like '% ? %' OR Beskrivning like '% ? %')
? fås genom:
ps.setString(1, text);
ps.setString(2, text);
men den fungerar inte som det är nu:
Parameter index out of range (1 > number of parameters, which is 0).