datum en tijd selecteren

Status
Niet open voor verdere reacties.

Frenske123

Terugkerende gebruiker
Lid geworden
2 jul 2007
Berichten
1.260
Hallo,

Ik als voorbeeld onderstaande in een tabel:

+----+--------------------+--------------------------+------+
| id | Begin | eind |tekst |
+----+--------------------+--------------------------+------+
| 1 | 17-04-2015 09:00:00| 17-04-2015 14:00:00|test1 |
| 2 | 17-04-2015 14:00:00| 18-04-2015 22:00:00|test2 |
| 3 | 21-04-2015 09:00:00| 24-04-2015 14:00:00|test3 |
| 4 | enz | | |
+----+--------------------+--------------------------+------+

Nou wil ik de tekst van de actuele datum/tijd weergeven en als deze is verlopen naar de volgende tekst

Mijn vraag is hoe de queryer dan moet uitzien

Dus iets als: WHERE (date_field BETWEEN ???

en tussen 21-4 en 24-4 , kan dit?
 
[sql]SELECT
*
FROM
table
WHERE
begin <= NOW()
AND
eind > NOW()
[/sql]
Hiermee zou het toch moeten lukken?
 
Laatst bewerkt:
Bedankt Tha Devil

Ik heb:

PHP:
  <?php  $result = $mysqli->query("SELECT *
FROM `kopregel_home_page_test` WHERE id=".$_GET['edit']);

doe ik
PHP:
  <?php  $result = $mysqli->query("SELECT *
FROM `kopregel_home_page_test` WHERE
    begin <= NOW
AND
    eind > NOW();

if ($mysqli->connect_errno)
	{
	printf("Connect failed: %s\n", $mysqli->connect_error);
	exit();
	}?>

Krijg ik melding
Parse error: syntax error, unexpected 'Connect'

Verder neem ik aan dat begin en eind een kolom is met bijv 2015-04-17 14:00:00 ?

edit welicht moet de WHERE id.. is erin blijven wat melding betreft

edit2 id niet nodig , kijkt naar datum tijd?

Nu volgende
PHP:
  <?php  $result = $mysqli->query("SELECT *
FROM `kopregel_home_page_test`
WHERE
begin <= NOW
AND
eind > NOW() ");

melding:
Fatal error: Call to a member function fetch_array() on boolean in....
PHP:
  <?php  while ($row = $result->fetch_array())    {......
 
Laatst bewerkt door een moderator:
Achter de eerste NOW horen ook haakjes, ik zie dat ik die ben vergeten :)
 
Achter de eerste NOW horen ook haakjes, ik zie dat ik die ben vergeten :)

Ik heb nou dit

PHP:
  <?php  $result = $mysqli->query("SELECT *
FROM `kopregel_home_page_test`
WHERE
begin <= NOW ()
AND
eind > NOW() ");

if ($mysqli->connect_errno)
	{
	printf("Connect failed: %s\n", $mysqli->connect_error);
	exit();
	}?>

  <?php  while ($row = $result->fetch_array())    {


Melding blijft
Fatal error: Call to a member function fetch_array() on boolean in......

In table:

rij begin en eind met datatype datetime, kan het zijn dat er nog een default waarde in moet (nu NULL)

vb:

begin 2015-04-17 12:59:27
eind 2015-04-17 17:05:17
 
Laatst bewerkt:
Zet de haakjes eens tegen NOW aan (Dus NOW() en niet NOW ()) :)

rij begin en eind met datatype datetime, kan het zijn dat er nog een default waarde in moet (nu NULL)
Wat bedoel je hiermee?
 
Zet de haakjes eens tegen NOW aan (Dus NOW() en niet NOW ()) :)


Wat bedoel je hiermee?

Dat was em ..NOW()

Ik dacht dat er nog een standaardwaarde in moest in de kolom begin en eind , maar werkt dus.

Bedankt ! kan ik wat experimenteren nu.
 
Ik krijg een Undefined variable: id en koptekst tenzij ik dit nu ff weglaat.
een idee wat er mis is?

PHP:
begin <= NOW()
AND
eind > NOW()
AND




---------------------------------------

PHP:
   <?php  $result = $mysqli->query("SELECT *
FROM `kopregel_home_page_test`
WHERE
begin <= NOW()
AND
eind > NOW()
AND
id=".$_GET['edit']);
if ($mysqli->connect_errno)
	{
	printf("Connect failed: %s\n", $mysqli->connect_error);
	exit();
	}?>

  <?php  while ($row = $result->fetch_array())    {
	$id = stripslashes($row['id']);
	$koptekst = stripslashes($row['koptekst']);
	}?>

edit

Merk nu dat dat dit voorkomt waar datum tijd niet binnen NOW vallen , logisch dus)
(Ik heb dit om resultaat van een rij vooraf te kunnen bekijken op een test pagina)
Dus zal ik voor de test pagina gewoon op de ID te werk gaan en Op de "echte" pagina de NOW
 
Laatst bewerkt:
Dit moet beter kunnen via database dacht ik , alleen kom ik niet tot de exacte oplossing:

PHP:
$monday = date("Y-m-d",strtotime('monday this week '));
$maandag= $mysqli->query(" SELECT * ,
DATE_FORMAT(fromDate, '%W %d %M') as formatdatum 
FROM `test` 
WHERE DATE(fromDate) = '$monday'");

Hier moeten dus de gegevens van maandag deze week worden geselecteerd,
verder begint hier de week op zondag zou ik op maandag willen laten beginnen, nu krijg ik al maandag 20 april terwijl dit nog 13 april zou moeten zijn.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan