PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abfrage Problem mit Datum


hanswurst23
25.04.2008, 13:39:57
hallo erst mal!

ich habe volgendes problem und zwar hab ich eine db und eine tabelle.
in der tabelle gibt es eine spalte wo das eintragsdatum mit uhrzeit aufgelöst in einen timestamp steht!

jetzt möchte ich mit einer abfrage mir alle einträge vom aktuellem tag anzeigen lassen!

hat da einer von euch eine idee? ich muss dazu sagen bin noch ein php anfänger!

würde mich freuen wenn mir einer von euch helfen könnte!

schon mal danke

lukgestach
25.04.2008, 14:16:12
Hallo und willkommen im Forum

du kannst mit time(); das aktuelle datum ermitteln
ein vode beispiel wäre dann:

<?
$heute = time();
$heute = date("d,m,Y", $heute);
$heute = mktime(0,0,0,$heute);
$heute /= 1000;
$abend = $heute + 86400;
$sql = "SELECT * FROM tabelle WHERE eintragsdatum > $heute AND eintragsdatum < $abend";
mysql_query($sql);
?>
ich habs nicht getestet, ahbs schnell geschrieben

Gruss Lukas

hanswurst23
25.04.2008, 14:32:36
danke erst mal für die schnelle antwort!

leider funktioniert es immer noch nich!
die abfrage ist immer noch null

hir mal der code dazu denn ich bis jetzt hab


<?php
$heute = time();
$heute = date("m.d.Y", $heute);
$heute = mktime(0,0,0,$heute);
$heute /= 1000;
$abend = $heute + 86400;



// abfrage
$result = mysql_query("SELECT COUNT(*) FROM toc_quallity WHERE zeit_stempel > '$heute' AND zeit_stempel < '$abend'");
$array = mysql_fetch_array($result);
$count = $array[0];



echo $count;
?>


leider ergibt count immer noch "0" obwohl die abfrage "3" zurückliefern müste!

wo könnte mein fehler liegen?

hanswurst23
25.04.2008, 16:21:28
gut ok hab fehler gefunden!!! jetzt hauts hin!!! dank dir!

lukgestach
25.04.2008, 17:53:21
bitte, was war denn der fehler?
EDIT:
Hast du vergessen mysql_query() auszuführen?

Calvados
26.04.2008, 18:07:03
Hallo,

wäre nett, wenn Du Deine Problemlösung der Allgemeinheit zur Verfügung stellen würdest ;-)

Ach ja,

mir ist bei Deinem Code etwas aufgefallen...

Du verwendest mysql_fetch_array() mit $count = $array[0]; - das ist nicht sehr ressourcensparend....

Wenn Du kein assoziatives Array benötigst, verwende in diesem Fall besser mysql_fetch_row().


Grüsse
Calvados

hanswurst23
29.04.2008, 12:25:50
also habs jetzt so gelöst!



<?php
$x = strtotime("1.04.2008");
$y = strtotime("31.04.2008");
// abfrage
$result = mysql_query("SELECT COUNT(*) FROM toc_quallity WHERE zeit_stempel BETWEEN $x AND $y");
$array = mysql_fetch_array($result);
$count = $array[0];



echo $count;
?>



jetzt hab ich aber leider noch ein weiteres problem.. das mit dem zählen der einträge funktioniert jetzt, aber jetzt hab ich noch eine neue tabelle die "toc_mit_aus" heist und wo rin user daten gespeichert werden also z.b. name, id, und mitarbeiter nummer!
jetzt möchte ich zählen wie viele einträge jeder mit arbeiter eingegeben hat! hir mal mein code den ich bis jetzt hab:


<?php
$toc_mit_aus_SQL="SELECT mit_name FROM toc_mit_aus ";
$toc_mit_aus_result=mysql_query($toc_mit_aus_SQL);
while ($toc_mit_aus=mysql_fetch_array($toc_mit_aus_result)){
?>
<tr bgcolor="#999999">
<td><div align="center"><?php echo $toc_mit_aus['mit_name'] ?></div></td>
<td>

<div align="center">
<?php


$x = strtotime("1.04.2008");
$y = strtotime("31.04.2008");
// abfrage
$result = mysql_query("SELECT COUNT(*) FROM toc_mit_aus JOIN toc_quallity WHERE mit_VO = toc_quallity.perso_Nr AND zeit_stempel BETWEEN $x AND $y ");
$array = mysql_fetch_array($result);
$count = $array[0];



echo $count;
?>
</div></td>
<td><div align="center">
<?php

$x = strtotime("1.04.2008");
$y = strtotime("31.04.2008");
// abfrage
$result = mysql_query("SELECT COUNT(*) FROM toc_mit_aus JOIN toc_quallity WHERE mit_VO = toc_quallity.perso_Nr AND status='1' AND zeit_stempel BETWEEN $x AND $y"); // Unter der Annahme, dass die fragliche Spalte time hei&szlig;t
$array = mysql_fetch_array($result);
$count = $array[0];



echo $count;
?>
</div></td>
<td><div align="center">
<?php

$x = strtotime("1.04.2008");
$y = strtotime("31.04.2008");
// abfrage
$result = mysql_query("SELECT COUNT(*) FROM toc_mit_aus JOIN toc_quallity WHERE mit_VO = toc_quallity.perso_Nr AND status='2' AND zeit_stempel BETWEEN $x AND $y"); // Unter der Annahme, dass die fragliche Spalte time hei&szlig;t
$array = mysql_fetch_array($result);
$count = $array[0];



echo $count;
?>
</div></td>
<td><div align="center">
<?php

$x = strtotime("1.04.2008");
$y = strtotime("31.04.2008");
// abfrage
$result = mysql_query("SELECT COUNT(*) FROM toc_mit_aus JOIN toc_quallity WHERE mit_VO = toc_quallity.perso_Nr AND status='0' AND zeit_stempel BETWEEN $x AND $y"); // Unter der Annahme, dass die fragliche Spalte time hei&szlig;t
$array = mysql_fetch_array($result);
$count = $array[0];



echo $count;
?>
</div></td>
<td><div align="center"></div></td>
<td><div align="center"></div></td>
<td><div align="center"></div></td>
<td><div align="center"></div></td>
<td><div align="center"></div></td>
</tr>

<?php
}
?>


wenn dieser code ausgeführt wird steht aber in meiner tabelle die ich ausgebe jedesmal der selbe name wie kann ich für jeden benutzer/mitarbeiter diese statistik ausgeben lassen?

würd mich freuen wenn ihr mir noch mal helfen könntet.