[FONT=Verdana]Jep, war 5.2**
Habs jetzt mal via .htaccess mit AddHandler php53-cgi .php umgestellt
Fehler ist nun weg....jetzt muss ich nur durchblicken wie ich das ganze via Formular in den [/FONT][COLOR=#000000][COLOR=#CC0000][FONT=Verdana][COLOR=Black]WHERE-Bereich bringe....zumal da ja schon was anderes drin steht[/COLOR][/FONT]
[/COLOR][/COLOR]
MySQL Ausgabe nach eingegebenen Datum
Einklappen
X
-
Ich hab nicht aus Spaß "ab PHP 5.3" dazu geschrieben. Du verwendest offenbar noch eine ältere PHP-Version.
Einen Kommentar schreiben:
-
Hallo,
sowie ich den angegebene Codeblock
eingebe, bekomme ich ne Fehlermeldung: Call to undefined method DateTime::createFromFormat()PHP-Code:$eingabe = '11.08.11';
$datum = DateTime::createFromFormat('d.m.y', $eingabe);
echo $datum->format('Y-m-d');

Deshalb hier mal ein Auszug meiner Tabelle ohne den Codeblock und so wie sie bisher aussieht.
Wo müsste ich jetzt ansetzen ???
PHP-Code:<?php
include("connect.php");
$query = "SELECT * FROM tabelle WHERE `back` NOT LIKE 'JA' GROUP BY datum";
$result = mysql_query($query);
$num = mysql_num_rows ($result);
$sql = mysql_query("SELECT SUM(zeit) AS 'zeit_summe' FROM `tabelle` WHERE `back` NOT LIKE 'JA' ");
$data = mysql_fetch_object($sql);
$abfrage = "SELECT COUNT(id) FROM `tabelle` WHERE `back` NOT LIKE 'JA'";
$ergebnis = mysql_query($abfrage);
$menge = mysql_fetch_row($ergebnis);
$menge = $menge[0];
mysql_close();
number_format($aver ,0);
$count = 1;
$aver=($data->zeit_summe/$menge);
$aver=round($aver , 2);
?>
<table class=stats width="700" border="1" cellspacing="2" cellpadding="2">
<tr>
<td height="30" width="700" class=stat colspan="3">blabla
</td>
</tr>
</table>
</form>
<br>
<table width=700 border=0 cellspacing=1 cellpadding=0>
<tr class=up>
<td width=50><b>Nr.</b></td>
<td width=80><b>Datum</b></td>
<td width=160><b>Wert</b></td>
<td width=130><b>Minuten</b></td>
</tr>
<?php
if ($num > 0 ) {
$i=0;
while ($i < $num) {
$wert = mysql_result($result,$i,"wert");
$zeit = mysql_result($result,$i,"zeit");
$id = mysql_result($result,$i,"id");
$datum = mysql_result($result,$i,"datum");
$datum_de = date("d.m.Y ", strToTime($datum)); // Datumsformatierung für Ausgabe
echo "<tr>\n";
echo "<td>",$count,"</td>\n";
echo "<td>",$datum_de,"</td>\n";
echo "<td><b>",$wert,"</b></td>\n";
echo "<td>",$zeit,"</td>\n";
$count ++;
++$i; } } else { echo "<h1>Keine Daten vorhanden</h1>"; }
echo "</tr>\n";
echo "</table>\n\n";
?>
Einen Kommentar schreiben:
-
Hallo,
wenn du in der Where-Klausel das Datum wie von h3ll beschrieben übergibst, wird es funktionieren. Allerdings wirst du mit BETWEEN arbeiten wollen, weil du ja nicht den genauen Zeipunkt mit = prüfen, sondern sicherlich einen ganzen Tag abdecken willst.
:start ist dabei dann das mit PHP konvertierte Datum. Durch das BETWEEN erfasst du alle Daten, die zwischen diesem Tag 00:00Uhr und dem nächsten Tag 00:00Uhr liegen.Code:select … from … where datum between :start and (:start + interval 1 day)
Gruß,
Amica
Einen Kommentar schreiben:
-
Hallo,
vielen Dank für die schnelle Antwort.
Evtl. habe ich mein Problem falsch beschrieben:
In meiner Tabelle steht neben vielen anderen Daten auch das Datum -> 11.08.2011.
Jetzt möchte ich über oder unter der Tabelle ein Eingabefeld haben wo ich z.B. 01.08.2011 eingebe, dann auf den Formularbutton drücke, und dann nur noch die Einträge sichtbar sind, die das Datum, 01.08.2011 tragen.
Ich habe das schon mit WHERE versucht, aber leider funzt das nur wenn ich das Datum im datetime-Format -> 2011-08-08 06:13:08 direkt bei WHERE eingebe.
Dies ist natürlich für den Endnutzer nicht wirklich praktikabel. Deshalb meine Idee mit dem Formular.
Hat wer ne Idee ?
Einen Kommentar schreiben:
-
PHP-Code:// Ab PHP 5.3
$eingabe = '11.08.11';
$datum = DateTime::createFromFormat('d.m.y', $eingabe);
echo $datum->format('Y-m-d');
PHP-Code:// Nur *nix-Systeme
$eingabe = '11.08.11';
$datum = strptime($eingabe, '%d.%m.%y');
printf(
'%04u-%02u-%02u',
$datum['tm_year'] + 1900,
$datum['tm_mon'],
$datum['tm_mday']
);
Einen Kommentar schreiben:
-
MySQL Ausgabe nach eingegebenen Datum
Hallo,
ich habe eine simple Tabelle mit MySQL & PHP gebaut welche bisher ohne Probleme Funzt
Jeder Datensatz beinhaltet auch das Datum welches in der MySQL-DB via datetime (z.B. 2011-08-08 06:13:08) gespeichert ist auf der Webseite aber mit PHP via date("d.m.Y", strToTime($datum)) nur als Datum formatiert angezeigt wird.
Jetzt möchte ich per Formular durch Eingabe des Datums im Format "tt.mm.yy" das nur die Datensätze mit diesem Datum angezeigt werden.
Ist dies überhaupt machbar ? Wenn ja, wie ?Stichworte: -
Einen Kommentar schreiben: