Heute registrierte Benutzer abfragen

Kalma

Erfahrenes Mitglied
Hey...

ich hab wieder ein Problem:

ich wollte die User auslesen, die:
heute geburtstag haben
heute registriert wurden

ich habe das ganze so formuliert:
PHP:
<?php
//abfragen
$newuser = "SELECT * FROM user WHERE `geburtstag`='$todaydatum'";
$userresult = mysql_query($newuser);
$gebdatum = "SELECT * FROM user WHERE `registerdate`='$todaydatum2'";
$gebresult = mysql_query($gebdatum);

echo " <b>Heute haben sich registert</b> ";
echo " <br /> ";
while ($user = mysql_fetch_array($userresult))
{
echo " ".$user['nickname']." ";
echo " <br /> ";
}

echo " <hr /> ";
echo " <b>Wir gratulieren zum Geburtstag</b> ";
echo " <br /> ";
while ($datum = mysql_fetch_array($gebresult))
{
echo " ".$datum['nickname']." ";
echo " <br /> ";
}
?>

das $todaydatum und $todaydatum2 hab ich so erstellt:
PHP:
$todaydatum = date("d.m.Y");
$todaydatum2 = date("d.M.Y um H:i");

Hoffe, ihr könnt mir helfen :(


David
 
Und wie auch im letzten Thread die bekannten Fragen:
  • Wo genau liegt das Problem?
  • Gibt es Fehlermeldungen?
Mensch, lass Dir doch nicht jedes Mal alles aus der Nase ziehen, das wird langsam etwas nervig. :rolleyes:
Wenn Du Dir den Arm brichst und dann zum Doc gehst setzt Du Dich doch auch nicht einfach hin und sagst "Aua".
 
Ja... sry...:rolleyes:

Also:
mein Problem besteht darin:
wenn ich so auslese
WHERE bla == $bla
kommt eine fehlermeldung

wenn ich so auslese
WHERE bla=$bla
kommt gar nix

Fehler meldung ist folgende (Bei WHERE bla == $bla)
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/web245/html/index.php on line 270
 
Die Abfragen oben im Code sehen eigentlich okay aus. Wo kommen denn $todaydatum und $todaydatum2 her?
Du schreibst zwar wie Du die Variablen setzt, aber im oberen Script passiert dies ja anscheinend nicht.
 
Doch Doch...

Ich habe ganz ganz oben im Script ein kleinen php-teil:
PHP:
<?php
//hier werden nochmal schnell die session gestartet, variablen festgelegt, und connected
include "connect.php";
session_start();

//die uhrzeit is auch ganz ganz wichtig
$tag = date("d.M.Y");
$uhr = date("H:i");
$datum = $tag ." um ". $uhr;
$todaydatum = date("d.m.Y");
$todaydatum2 = date("d.M.Y um H:i");
$copydate = date("Y");
?>

der steht ganz oben im script...
 
Ach so. Das war ja nicht ersichtlich.
Werden denn die Zeiten in genau diesem Format in der Datenbank gespeichert oder vielleicht als Timestamp?
 
Ja.

ich habe inner DB als Datum Varchar(150) genommen...

Die dateien werden immer genauso gespeichert, wie eingegeben.. :)
 
Bei der Registrierung hast Du auch die Stunde drin, kann es vielleicht sein, dass das Script funktioniert aber einfach heute niemand Geburtstag hat und in der aktuellen Stunde kein User registriert wurde?

Hol am besten mal ein paar Datensaetze aus der DB und gib auch Deine beiden Daten aus. Dann kannst Du mal vergleichen.
 
Ich habe das Script umformuliert, damit, wenn sich niemand registerd hat, oder niemand Geburtstag hat, keine Fehlermeldung ausgegeben wird.

PHP:
<?php
//abfragen
$newuser = "SELECT * FROM user WHERE geburtstag=='$todaydatum'";
$userresult = mysql_query($newuser);
$gebdatum = "SELECT * FROM user WHERE registerdate=='$todaydatum2'";
$gebresult = mysql_query($gebdatum);

echo " <b>Heute haben sich registert</b> ";
echo " <br /> ";
if ($userresult == "")
{
echo "keine Person hat sich <em>heute</em> registriert";
} else {
while ($user = mysql_fetch_array($userresult))
{
echo " ".$user['nickname']." ";
echo " <br /> ";
}
}

echo " <hr /> ";
echo " <b>Wir gratulieren zum Geburtstag</b> ";
echo " <br /> ";
if ($gebresult == "")
{
echo "keine Person hat <em>heute</em> Geburtstag";
} else {
while ($datum = mysql_fetch_array($gebresult))
{
echo " ".$datum['nickname']." ";
echo " <br /> ";
}
}
?>
 
Ich bin nicht sicher ob die Ergebnisse der Abfragen einem leeren String entsprechen wenn nichts zurueck kommt.
Pruef am besten mit mysql_num_rows() ob 0 Datensaetze drin sind oder mit empty().
 
Zurück