Toon posts:

[php]berichten van vandaag

Pagina: 1
Acties:
  • 90 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een heel simpel scriptje om berichten uit me database te halen. Bij al die berichten staat ook de volledige tijd en datum. Nu krijg ik nu een lijst met alle bericthen in de db, met de nieuwst bovenaan. Maar wat ik wil is dat het script alleen de bericthen die vandaag gepost zijn laat zien.

Hoe doe ik dat?

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Ik neem aan dat je SQL querys gebruikt?

Dan moet je iets doen als WHERE Datum = enz... :)

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

Topicstarter
Op zaterdag 08 december 2001 16:43 schreef jelmervos het volgende:
Ik neem aan dat je SQL querys gebruikt?

Dan moet je iets doen als WHERE Datum = enz... :)
ja dit is me sql query
$query = "SELECT * FROM articles order by id DESC LIMIT 0, 9";

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Daar voeg je een WHERE aan toe met de datum enzo. Zodat hij alleen alles van vandaag pakt.

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

Topicstarter
SELECT * FROM articles WHERE date = ????

Ja maar wat is de code voor vandaag?
MOrgen moet hij natuurlijk ook weer de bericthen van morgen laten zien....

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Op zaterdag 08 december 2001 16:48 schreef izoman het volgende:
SELECT * FROM articles WHERE date = ????

Ja maar wat is de code voor vandaag?
MOrgen moet hij natuurlijk ook weer de bericthen van morgen laten zien....
Iets met Now() ofzo. Dat weet ik verder niet.

Check iig www.php.net es. :)

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

Topicstarter
helaas heb ik daar nix kunnen vinden. Ik ben er nog niet echt thuis mee met die manual. iemand anders die het weet?

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Op zaterdag 08 december 2001 17:04 schreef izoman het volgende:
helaas heb ik daar nix kunnen vinden. Ik ben er nog niet echt thuis mee met die manual. iemand anders die het weet?
Shit, ik mag geen oplossing meer aanbieden. :)

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

Nouja ik heb er niet zoveel verstand van, maar je kan toch een varibale setten met curdate() ofzo en dan de inhoud van de tabel daarmee vergelijken?

Verwijderd

Topicstarter
Op zaterdag 08 december 2001 17:11 schreef mbitnl het volgende:
Nouja ik heb er niet zoveel verstand van, maar je kan toch een varibale setten met curdate() ofzo en dan de inhoud van de tabel daarmee vergelijken?
klinkt fantasties, maar ik heb geen id hoe ik dat zou moeten doen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<? 
 include "dbconfig.php";
 mysql_connect($dbhost, $dbuser, $dbpassword); 
 $query = "SELECT * FROM articles order by id DESC LIMIT 0, 9";
 $result = mysql_db_query($dbname, $query);

 if ($result)
{
echo "";
    while ($r = mysql_fetch_array($result))
    {
      $date = date ("H:i", $r['date']);
        $NewsID = $r["id"];
        $Titel = $r["title"];
      $Date = $r["date"];
         $Titel = stripslashes($Titel);
        
        $ttl_qry = "SELECT Count(name) AS Total FROM reactions WHERE art_id=$NewsID";
        $ttl_res = MYSQL_DB_QUERY("$dbname", $ttl_qry) OR DIE("Error fetching total: ".MYSQL_ERROR());
        $ttl = MYSQL_FETCH_ARRAY($ttl_res);
        
        echo "[img]\"img/menu_arrow.gif\"[/img] $date - <A HREF=showarticle.php?art_id=$NewsID class=\"front\">$Titel</A> (".$ttl["Total"].")<br>\n";
    }
}
else
{
    echo "Oooops, geen resultaat"; 
}
?>

Dit is me scriptje, zou jij het ajb dan willen aanpassen? Dan kan ik weer fftjes vooruit :D

Verwijderd

Topicstarter
Owja, de tijd is in UNIX vormaat. dus dat sinds 1970 is

  • Jelle Niemantsverdriet
  • Registratie: Februari 2000
  • Laatst online: 19:03
Nou dan moet het nu toch wel lukken? Je weet dat de tijd in UNIX formaat is (epoch of UNIX timestamp, is wel handig bij het zoeken).
Je moet dus op de 1 of andere manier bepalen wat de start-epoch van vandaag is, en hoe je dat dan in je query verwerkt heeft jelmervos al uitgelegd.

Misschien is het handig om wat te neuzen bij de date/time functions van PHP (hoe kom je er op hè? ;))

Verwijderd

Topicstarter
naa het lukt me echt niet, sorry.
Is er niet iemand die dit even voor me kan doen? Ik zit helemaal vast nu :(

  • Jelle Niemantsverdriet
  • Registratie: Februari 2000
  • Laatst online: 19:03
Nou dan maar weer hand in hand door PHP-land ;)

Je had al iets als:
SELECT * FROM ARTICLES ...

Jelmervos legde al uit dat daar iets bij moest als: WHERE datum= ...

Je wilt alles hebben van vandaag, een epoch-veld is aantal seconden sinds 1970 (zoals je zelf al zei) dus heeft de handige eigenschap dat je heel handig kunt 'rekenen' met deze datumvorm. Zo weet je bijvoorbeeld dat alle artikelen met een epoch-waarde groter dan de epoch-waarde van 0:00 uur afgelopen nacht van vandaag moeten zijn.
Dus: zaak om die epoch waarde op de een of andere manier te achterhalen.

Op die pagina die ik net postte staat het volgende:
mktime -- Get UNIX timestamp for a date
Hé dat is handig! Gauw kijken!
Op de pagina van mktime staat hoe je precies kunt opgeven van welke datum/tijdstip je de UNIX timestamp wilt weten.

Nou dat was dus van vanochtend 0:00 uur, dus dan doe je iets als
$epoch = mktime( 0, 0, 0 );
(je kunt maand/dag/jaar weglaten, daar wordt dan default vandaag voor gebruikt).

Nu dus weer combineren met het eerste deel, dat geeft dan iets als:
SELECT * FROM articles WHERE datum>$epoch ORDER BY epoch ...

Verwijderd

Topicstarter
Ik ben op
$query = "SELECT * FROM articles t WHERE TO_DAYS(NOW()) - TO_DAYS(date ('m-d-y H:i', t.date)) = 0 order by t.date DESC LIMIT 0, 9";
gekomen, hij geeft geen error of zo, maar gewoon geen resultaat.

Wat doe ik nou toch fout?

Verwijderd

Op zaterdag 08 december 2001 16:42 schreef izoman het volgende:
Ik heb een heel simpel scriptje om berichten uit me database te halen. Bij al die berichten staat ook de volledige tijd en datum. Nu krijg ik nu een lijst met alle bericthen in de db, met de nieuwst bovenaan. Maar wat ik wil is dat het script alleen de bericthen die vandaag gepost zijn laat zien.

Hoe doe ik dat?
[acm-edit]
Dat kan je ook anders zeggen...
[/acm-edit]

Verwijderd

Topicstarter
ow? leg uit!

Verwijderd

Op zaterdag 08 december 2001 17:30 schreef izoman het volgende:
Owja, de tijd is in UNIX vormaat. dus dat sinds 1970 is
1) $vandaag = mktime(0,0,0,date("m") ,date("d"),date("Y"));
2) WHERE datumfield = $vandaag

  • Jelle Niemantsverdriet
  • Registratie: Februari 2000
  • Laatst online: 19:03
Op zaterdag 08 december 2001 20:03 schreef dj_delta het volgende:

[..]

1) $vandaag = mktime(0,0,0,date("m") ,date("d"),date("Y"));
2) WHERE datumfield = $vandaag
ad 1. Dat was 'm al verteld
ad 2. Zo krijg je alleen het nieuwsbericht dat om 0:00 uur gepost is

Verwijderd

Topicstarter
Op zaterdag 08 december 2001 20:06 schreef Jelle Niemantsverdriet het volgende:

[..]

ad 1. Dat was 'm al verteld
ad 2. Zo krijg je alleen het nieuwsbericht dat om 0:00 uur gepost is
en dat moet idd niet. Wat moet ik aan dat laatste veranderen om de berichten vanaf 0:00 te krijgen?

  • Jelle Niemantsverdriet
  • Registratie: Februari 2000
  • Laatst online: 19:03
Op zaterdag 08 december 2001 20:09 schreef izoman het volgende:
en dat moet idd niet. Wat moet ik aan dat laatste veranderen om de berichten vanaf 0:00 te krijgen?
Een post of 6 omhoog scrollen en kijken naar die query die ik daar gepost heb. Algemeen: =(=) betekent is gelijk, > groter dan, < kleiner dan ;)

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<? 
$epoch = mktime(0,0,0,date("m") ,date("d"),date("Y"));

 mysql_connect($dbhost, $dbuser, $dbpassword); 
SELECT * FROM articles WHERE datum>$epoch ORDER BY epoch DESC"; 
 $result = mysql_db_query($dbname, $query);
 if ($result)

{
    echo "";
    while ($r = mysql_fetch_array($result))
    {
      $date = date ("H:i", $r['date']);
        $NewsID = $r["id"];
        $Titel = $r["title"];
      $Date = $r["date"];
         $Titel = stripslashes($Titel);
      $cato = $r["cato"];

Zo moet hij goed zijn? maar ik krijg nu een parse error in de SELECT * FROM regel :?

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

|:(

SELECT * FROM articles WHERE datum>$epoch ORDER BY epoch DESC";

goh hoe zou dat komen zeg

Doet iets met Cloud (MS/IBM)


  • Jelle Niemantsverdriet
  • Registratie: Februari 2000
  • Laatst online: 19:03
Sorry maar het is geen cursus PHP in 10 eenvoudige stappen, misschien moet je je even verdiepen in de syntax van de taal (gedeeltelijk in het Nederlands achter deze link).
En dan proberen een beetje te begrijpen wat je aan het doen bent in plaats van maar van alles over te typen.

Succes ermee

Verwijderd

Topicstarter
ja, ik weet wel hoe dat zit, ik keek er stomweg overheen |:(

$query = "SELECT * FROM articles WHERE datum>$epoch ORDER BY $epoch DESC";

dat heb ik nu als query en daar boven
$epoch = mktime(0,0,0,date("m") ,date("d"),date("Y"));

De error was dat ik een $ was vergeten. Parse error is weg, maar hij vind nog nix in de db, terwijl ik vandaag wel veel bericthen heb gepost :(

Ik krijg "Oooops, geen resultaat" wat onderaan in het script staat.

Wat doe ik nou toch fout?

  • Cheater
  • Registratie: Januari 2001
  • Laatst online: 22:05
mysql_connect($dbhost, $dbuser, $dbpassword);
SELECT * FROM articles WHERE datum>$epoch ORDER BY epoch DESC";

je moet zeggen:

mysql_connect($dbhost, $dbuser, $dbpassword);
$query = "SELECT * FROM articles WHERE datum =>'$epoch' ORDER BY datum DESC";
$result = mysql_query ( $query );
if ($result)
{
blabla
}

Verwijderd

Topicstarter
werkt ook niet cheater :(
Ik krijg nog steeds oops geen resultaat
Dit is me hele script nu
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<? 
 include "dbconfig.php";
$epoch = mktime(0,0,0,date("m") ,date("d"),date("Y"));
mysql_connect($dbhost, $dbuser, $dbpassword);
$query = "SELECT * FROM articles WHERE date =>'$epoch' ORDER BY date DESC";
$result = mysql_query ( $query );
if ($result)

{
    while ($r = mysql_fetch_array($result))
    {
      $date = date ("H:i", $r['date']);
        $NewsID = $r["id"];
        $Titel = $r["title"];
      $Date = $r["date"];
         $Titel = stripslashes($Titel);
      $cato = $r["cato"];


        
        $ttl_qry = "SELECT Count(name) AS Total FROM reactions WHERE art_id=$NewsID";
        $ttl_res = MYSQL_DB_QUERY("$dbname", $ttl_qry) OR DIE("Error fetching total: ".MYSQL_ERROR());
        $ttl = MYSQL_FETCH_ARRAY($ttl_res);
        

        echo "[img]\"img/$cato.gif\"[/img] $date <A HREF=showarticle.php?art_id=$NewsID class='main'>$Titel</A>  (".$ttl["Total"].")<br>\n";
    }
    echo "";
}
else
{
    echo "Oooops, geen resultaat<br><br>"; 
}


?>

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

k
ik doe ook nog een poging om vriendelijk te zijn



$result = mysql_query ( $query );
if ($result)

wat denk je dat dit doet?

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
kijken of er een resultaat is? zoja, doorsturen?

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

echt de laatste poging

print_r($result);

voor de if zetten

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
:( weer niet
$epoch = mktime(0,0,0,date("m") ,date("d"),date("Y"));
mysql_connect($dbhost, $dbuser, $dbpassword);
$query = "SELECT * FROM articles WHERE date =>'$epoch' ORDER BY date DESC";
$result = mysql_query ( $query );
print_r($result);
if ($result)
{
while ($r = mysql_fetch_array($result))
{
$date = date ("H:i", $r['date']);
$NewsID = $r["id"];
$Titel = $r["title"];
$Date = $r["date"];
$Titel = stripslashes($Titel);
$cato = $r["cato"];

ik heb het voor if gezet, maar het werkt nog niet

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

*diepe zucht*

wat was de uitvoer van die print_r() ???


* D2k geeft het nu echt op

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
ja sorry hoor, waarom post je het niet gewoon in de code? Dat is toch veel makkelijker voor mij en voor jou. Ik ben de draad nu helemaal kwijt.

  • WoutF
  • Registratie: Maart 2000
  • Laatst online: 15-09 19:23

WoutF

Hoofdredacteur
Op zaterdag 08 december 2001 21:32 schreef izoman het volgende:
ja sorry hoor, waarom post je het niet gewoon in de code? Dat is toch veel makkelijker voor mij en voor jou. Ik ben de draad nu helemaal kwijt.
leer jij daar wat van?

nee

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op zaterdag 08 december 2001 21:32 schreef izoman het volgende:
ja sorry hoor, waarom post je het niet gewoon in de code? Dat is toch veel makkelijker voor mij en voor jou. Ik ben de draad nu helemaal kwijt.
nee
daar leer je nix van
je zal het toch moeten snappen
ik kan hier de code wel posten
maar daar heb je nix aan

<edit>
woutf was me voor :)

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Op zaterdag 08 december 2001 21:35 schreef D2k het volgende:

[..]

nee
daar leer je nix van
je zal het toch moeten snappen
ik kan hier de code wel posten
maar daar heb je nix aan

<edit>
woutf was me voor :)
Sorry ben ik het niet mee eens. Als ik eenmaal weet hoe het moet, heb ik het geleerd :p ik kan het dus afkijken uit de code..

En ik heb er wel degelijk wat aan, het werkt, en ik dan na een dag kutten eindelijk verder.... ben als sinds vanmorgen bezig, en het wil gewoon NIET werken.

Dus ajb, help!

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

als jij dat leren vindt
van mij krijg je het directe antwoord echt niet

Doet iets met Cloud (MS/IBM)


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Check de manual es op voorbeelden
www.php.net/mysql_query enzo...
Pagina: 1

Dit topic is gesloten.