Op dit moment worden de thumbs de desbetreffende dag opgehaald door een cronjob. Het probleem is dat ik de vorige dag ook nog wil weergeven, maar krijg dit op het moment niet voor elkaar. Heeft iemand enig idee?PHP Code:
$datum = date("j-m-Y");
$query2 = "SELECT * FROM instellingen WHERE id='3'";
$result2 = mysql_query($query2);
$query_data2 = mysql_fetch_array($result2);
$id = $query_data2["id"];
$aantal = $query_data2["aantal"];
$thumb = $query_data2["thumb"];
$query = "SELECT * FROM data where data_datum = '$datum' and data_type = 'thumb' limit $thumb";
$result = mysql_query($query);
while($query_data = mysql_fetch_array($result)) {
$data_ID = $query_data["data_ID"];
$data_url = $query_data["data_url"];
$data_omschrijving = $query_data["data_omschrijving"];
$data_datum = $query_data["data_datum"];
?>
- Thumbs 1dag terug
-
13-01-2010, 00:54 #1
Online Web Solution
- Berichten
- 261
- Lid sinds
- 18 Jaar
Thumbs 1dag terug
-
-
13-01-2010, 08:01 #2
- Berichten
- 935
- Lid sinds
- 17 Jaar
www.php.net/date zal je wel helpen lijkt mij.....
-
13-01-2010, 11:27 #3
- Berichten
- 9
- Lid sinds
- 17 Jaar
Staat je veldtype van "data_datum" wel op DATE() ? Krijg de indruk dat dit op text of varchar staat? Anders kan je gewoon met MySQL al selecteren...
-
13-01-2010, 13:57 #4
- Berichten
- 49
- Lid sinds
- 15 Jaar
Ik haal data van de afgelopen 48 uur op als volgt:
$nr_days_back = 2; // number of days to go back in time
$past = time()-86400*$nr_days_back;
$past = date("Y-m-d H:i:s", $past);
In je query kan je dan $past gebruiken: WHERE datetime > '".$past."'
Hier kan je wel wat mee denk ik.
Je moet trouwens '$datum' veranderen in '".$datum."' zodat je variabele buiten de quates staat.
-
13-01-2010, 15:51 #5
- Berichten
- 257
- Lid sinds
- 15 Jaar
Waarom niet door MySQL laten oplossen.
Probeer dit statement eens in MySQL:
Code:select FROM_DAYS(TO_DAYS(now())-1)
-
13-01-2010, 23:22 #6
- Berichten
- 376
- Lid sinds
- 18 Jaar
Inderdaad, dit moet je door MySQL laten oplossen en niet door PHP. Het ligt echter aan het type veld van "data_datum" hoe je dit moet oplossen. Ik gok op DATE en dan moet je niet NOW() gebruiken maar CURDATE(), ofwel
PHP Code:.... WHERE data_datum BETWEEN CURDATE() - INTERVAL 1 DAY AND CURDATE() ...
-
14-01-2010, 00:11 #7
Online Web Solution
- Berichten
- 261
- Lid sinds
- 18 Jaar
Nog geen geluk :( Het lijkt eenvoudiger dan het is, want het lukte mij ook niet echt 1 2 3 :P
-
14-01-2010, 08:37 #8
- Berichten
- 257
- Lid sinds
- 15 Jaar
Misschien kun je even de structuur van je tabel exporteren en hier posten? Dan moet het echt eenvoudig zijn om op te lossen. Versie van MySQL eventueel vermelden.
-
14-01-2010, 08:44 #9
- Berichten
- 1.263
- Lid sinds
- 16 Jaar
Ik gebruikte deze query om actieve topics op te halen in mybboard, lastpost veld was een bigint met unix tijd formaat erin. Denk dat je deze query wel kunt aanpassen, weet niet welk formaat jij voor date gebruikt, anders kun je deze pagina raadplegen.
PHP Code:SELECT * FROM mybb_threads WHERE DATE_SUB(NOW(),INTERVAL 12 HOUR) <= FROM_UNIXTIME(lastpost) ORDER BY FROM_UNIXTIME(lastpost) DESC
-
14-01-2010, 10:19 #10
Online Web Solution
- Berichten
- 261
- Lid sinds
- 18 Jaar
CREATE TABLE IF NOT EXISTS `data` (
`data_ID` int(20) NOT NULL AUTO_INCREMENT,
`data_url` text NOT NULL,
`data_omschrijving` text NOT NULL,
`data_datum` varchar(255) NOT NULL DEFAULT '',
`data_type` varchar(200) NOT NULL DEFAULT '',
`data_genre` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`data_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=445 ;
-
14-01-2010, 10:30 #11
- Berichten
- 330
- Lid sinds
- 18 Jaar
Om het in mysql op te lossen moet je je date_datum op het type DATE danwel DATETIME zetten (i.p.v. VARCHAR(255)). Zo kan je door middel van onderstaande query (zoals eerder aangegeven) thumbs van 1 dag terug ophalen.
Code:SELECT * FROM data WHEE data_datum = FROM_DAYS(TO_DAYS(CURDATE()) - 1) OR data_datum = CURDATE()
Code:INSERT INTO data (id,data_datum) VALUES (null,CURDATE())
-
14-01-2010, 10:37 #12
Online Web Solution
- Berichten
- 261
- Lid sinds
- 18 Jaar
Ja, maar de thumbs van vandaag worden via een cronjob opgehaald, niet zelf toegevoegd.
-
14-01-2010, 10:39 #13
- Berichten
- 330
- Lid sinds
- 18 Jaar
Ja maar een cronjob is niets anders dan een script wat uitgevoerd wordt (lijkt mij). Dus daar kan je het toch ook aanpassen?
Maar waarom haal je uberhaupt thumbs op door middel van een cronjob? Meestal wordt een cronjob gebruikt om in een bepaalde regelmaat een script uit te voeren om gegevens in een database te plaatsen.
-
14-01-2010, 10:45 #14
Online Web Solution
- Berichten
- 261
- Lid sinds
- 18 Jaar
Het script haal extern plaatjes op vanuit een thumbdatabase. In verband met het feit dat ik dit liever automatisch zag gebeuren heb ik toen een cronjob gemaakt die dit voor me deed.
-
14-01-2010, 10:51 #15
- Berichten
- 330
- Lid sinds
- 18 Jaar
En je hebt geen toegang tot die database?
Wat je in je php script doet is enkel uit een database thumbs halen en de database gegevens in een variabele zetten. Ik snap niet zo goed wat je met dit script wilt als je hiervan een cronjob maakt (niemand die het te zien krijgt, enkel wordt het script uitgevoerd). En wanneer je toegang hebt tot je database dan kan je toch van je data_datum een DATE veld maken?Laatst aangepast door Arjen Rademaker : 14-01-2010 om 10:59
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic