Avatar billede rampagezz Nybegynder
17. januar 2008 - 19:10 Der er 8 kommentarer og
1 løsning

Er min betingelse rigtig?

Hej eksperter.

Kan i fortælle mig hvad fejlen er her:

<?php

$datonu = getdate(); 
$dato = $row_Recordset1['EventDate'];
if ($datonu == $dato) {
echo $row_Recordset1['Event']; ?>
<?php } ?>

Det skal siges at feltet "EventDate" er sat til Date i MySQL.

- rampagezz
Avatar billede kimg Nybegynder
17. januar 2008 - 20:11 #1
<?php

Jeg ville nok gøre sådan

$datonu = date("Ymd");; 
$dato = $row_Recordset1['EventDate'];
if ($datonu == $dato) {
echo $row_Recordset1['Event']; ?>
<?php } ?>


Kim
Avatar billede kimg Nybegynder
17. januar 2008 - 20:11 #2
$datonu = date("Ymd");
$dato = $row_Recordset1['EventDate'];
if ($datonu == $dato) {
echo $row_Recordset1['Event']; ?>
<?php } ?>
Avatar billede rampagezz Nybegynder
18. januar 2008 - 08:29 #3
Halløj kim

Mit problem bliver ikke løst. Det kan være at jeg skal bruge en while-løkke.
Jeg skal lave en popup, som skal vise dagens arrangement. Og EventDate er dato'en som skal sammenlignes med dagens dato.
Hvordan ville du skrive det..? Med en while?

Kode:

<?php require_once('../Connections/connect.php'); ?>
<?php
mysql_select_db($database_connect, $connect);
$query_Recordset1 = "SELECT * FROM calendar_events";
$Recordset1 = mysql_query($query_Recordset1, $connect) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<?php

$datonu = date("Ymd");
$dato = $row_Recordset1['EventDate'];
if ($datonu == $dato) {
echo $row_Recordset1['Event']; ?>

Indhold:
<?php echo $row_Recordset1['Event']; ?>

<?php } ?>
</html>
<?php
mysql_free_result($Recordset1);
?>

-rampagezz
Avatar billede rampagezz Nybegynder
18. januar 2008 - 08:30 #4
Giver gerne flere point, for en hjælp til et eventuelt script.. :-)
Avatar billede zurekk Nybegynder
18. januar 2008 - 14:36 #5
Altså hvis du skal sammenligne den nuværende dato med en DATE-række fra din database kan det gøres således:

$now = date( 'Y-m-d' );
$match = $row_Recordset1['EventDate';

if( $now == $match ) print 'Success';
Avatar billede rampagezz Nybegynder
18. januar 2008 - 18:46 #6
Det virker stadig ikke. Den viser kun en blank side. :-(
Tror du jeg skal ændre i min "$query_Recordset1", Så den bliver hentet som en Date?
Avatar billede zurekk Nybegynder
18. januar 2008 - 21:58 #7
Har du husket at sætte en "]" på "$match = $row_Recordset1['EventDate'>>HER<<;"??

Altså.. Hvis `EventDate` er i DATE format, så ser den således ud: YYYY-MM-DD.
Derfor er det noget andet der fejler : D

Hvis "$query_Recordset1 = "SELECT * FROM calendar_events";" returnerer flere rækker, bør du checke i et loop :)

while( $row = mysql_fetch_assoc( $Recordset1 ) )
{
  $now = date( 'Y-m-d' );
  $match = $row_Recordset1['EventDate'];
 
  if( $now == $match ) print 'Success';
}


Det kan også skyldes at ingen rækker matcher den nuværende date :-)
Avatar billede rampagezz Nybegynder
19. januar 2008 - 07:35 #8
Jeg har selv været inde over alle muligheder.. Havde set at ] manglede.. :)
Mht. at checke i et loop, går jeg ud fra du mener noget i stil med:

<?php do {
echo $row_Recordset1['EventDate'];
} while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>

En af mine records ser således ud i "EventDate" (2008-01-17).

Her er alt hvad der står på siden:

<?php require_once('../Connections/connect.php'); ?>
<?php
$maxRows_Recordset1 = 1;
$pageNum_Recordset1 = 0;
if (isset($_GET['pageNum_Recordset1'])) {
  $pageNum_Recordset1 = $_GET['pageNum_Recordset1'];
}
$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;

mysql_select_db($database_connect, $connect);
$query_Recordset1 = "SELECT * FROM calendar_events";
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = mysql_query($query_limit_Recordset1, $connect) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);

if (isset($_GET['totalRows_Recordset1'])) {
  $totalRows_Recordset1 = $_GET['totalRows_Recordset1'];
} else {
  $all_Recordset1 = mysql_query($query_Recordset1);
  $totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<?php

$now = date( 'Y-m-d' );
$match = $row_Recordset1['EventDate'];

if( $now == $match ) print 'Success'; ?>

<body>
<?php do {
echo $row_Recordset1['EventDate'];
} while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>
</html>
Avatar billede rampagezz Nybegynder
02. februar 2008 - 14:44 #9
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester