Hallo,
ich habe auf einer Vereinsseite einen Dienstplan erstellt. Dieser wird durch ein Formular befüllt. Der Anwender gibt das Datum im Format dd.mm.yyyy ein. Ich wandel es mit einer Funktion aus dem www in das Format YYYY-MM-DD um und speichert es ab. Nun möchte ich es bei der Abfrage sortiert nach dem Datum und wieder im Eingabeformat auswerfen. Ich hänge aber jetzt seit 3 Tagen an dieser Rückumwandlung. Vielleicht mache ich es ehh viel zu umständlich. Ich Poste mal das Script und die Ausgabe.
PHP-Code:
<?PHP
////////
///Mit Hilfe des Scripts schreibe ich das Datum aus dem Formular in die SQL-Datenbank <<<<-------------------
######### datumsfunktionen ###########
/*date_mysql2german wandelt ein MySQL-DATE (ISO-Date) in ein
traditionelles deutsches datum um.Beispiel: wir ziehen 2003-04-07
aus der db und versehen die variable $dbdatum damit.
$dbdatum = date_mysql2german($dbdatum);// rückgabewert: 07.04.2003*/
function date_mysql2german($FTGDatum) {list($jahr, $monat, $tag) = explode("-", $FTGDatum);return sprintf("%02d.%02d.%04d", $tag, $monat, $jahr);}
/*date_german2mysql wandelt ein traditionelles deutsches datum nach
MySQL (ISO-Date).Beispiel: wir geben in ein textfeld (formular) das
datum 07.04.2003 ein und schreiben es in die db$formdatum = date_german2
mysql($formdatum);es wird 2003-04-07 in die db geschrieben*/
function date_german2mysql($FTGDatum) {list($tag, $monat, $jahr) = explode(".", $FTGDatum);return sprintf("%04d-%02d-%02d", $jahr, $monat, $tag);}
// Datum vom Formularfeld umwandeln zum eintragen
////////$a_datum = date_german2mysql($HTTP_POST_VARS["a_datum"]);
////////$e_datum = date_german2mysql($HTTP_POST_VARS["e_datum"]);
define('RECORDSPERPAGE', '15');
error_reporting(E_ERROR | E_WARNING | E_PARSE);
ini_set('track_errors', true);
$mysql_link = @mysql_connect("mysql3.1blu.de", "XXXXXXXXX", "XXXXXXXXXXXX");
if (mysql_errno() > 0) {
echo '<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>Error</title></head><body>MySQL error # ' . mysql_errno() . ' : ' . mysql_error() . '</body></html>';
exit;
}
if (mysql_errno() == 0) {
@mysql_select_db("db43220x394313", $mysql_link);
if (mysql_errno() > 0) {
echo '<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>Error</title></head><body>MySQL error # ' . mysql_errno() . ' : ' . mysql_error() . '</body></html>';
exit;
}
}
$sqlcmd = 'SELECT COUNT(*) AS totalrecords FROM `FFWDDienstplan`';
$result = @mysql_query( $sqlcmd );
if (mysql_errno() > 0) {
echo 'MySQL error # ' . mysql_errno() . ' : ' . mysql_error() . '<br />';
exit;
}
$row = @mysql_fetch_array( $result );
if (mysql_errno() > 0) {
echo 'MySQL error # ' . mysql_errno() . ' : ' . mysql_error() . '<br />';
exit;
}
$totalrecords = $row['totalrecords'];
?>
<html>
<head>
<title></title>
<style type="text/css" media="all">
.thetag{
font-family:verdana,arial,sans-serif;
font-size:12px;
font-weight:bold;
}
.thevalue{
font-family:verdana,arial,sans-serif;
font-size:12px;
}
.paginator{
font-family:verdana,arial,sans-serif;
font-size:10px;
font-weight:bold;
}
</style>
</head>
<body bgcolor="#FFFFFF">
<div align="center">
<?PHP
if ( isset( $_GET['detail'] ) && $_GET['detail'] >= 0 ) {
$sqlcmd = 'SELECT `Uhrzeit`, `Veranstaltung`, `Ort`, `Teilnehmer`, `Datum` FROM `FFWDDienstplan` LIMIT ' . $_GET['detail'] . ',1';
$result = @mysql_query( $sqlcmd );
if (mysql_errno() > 0) {
echo 'MySQL error # ' . mysql_errno() . ' : ' . mysql_error() . '<br />';
exit;
}
$row = @mysql_fetch_array( $result );
if (mysql_errno() > 0) {
echo 'MySQL error # ' . mysql_errno() . ' : ' . mysql_error() . '<br />';
exit;
}
?>
<table border="0" cellspacing="1" cellpadding="2" width="80%" bgcolor="#CCCCCC">
<tr><td class="thetag" align="right" bgcolor="#FFFFFF">Tag</td><td class="thevalue" bgcolor="#FFFFFF"><?PHP echo $row['Datum']; ?></td></tr>
<tr><td class="thetag" align="right" bgcolor="#FFFFFF">Uhrzeit</td><td class="thevalue" bgcolor="#FFFFFF"><?PHP echo $row['Uhrzeit']; ?></td></tr>
<tr><td class="thetag" align="right" bgcolor="#FFFFFF">Veranstaltung</td><td class="thevalue" bgcolor="#FFFFFF"><?PHP echo $row['Veranstaltung']; ?></td></tr>
<tr><td class="thetag" align="right" bgcolor="#FFFFFF">Ort</td><td class="thevalue" bgcolor="#FFFFFF"><?PHP echo $row['Ort']; ?></td></tr>
<tr><td class="thetag" align="right" bgcolor="#FFFFFF">Teilnehmer</td><td class="thevalue" bgcolor="#FFFFFF"><?PHP echo $row['Teilnehmer']; ?></td></tr>
</table>
<?PHP
$thisfrom = floor($_GET['detail'] / RECORDSPERPAGE) * RECORDSPERPAGE;
?>
<br />
<table border="0" cellspacing="1" cellpadding="2" width="80%" bgcolor="#CCCCCC">
<tr>
<td width="33%" class="thevalue" align="center" bgcolor="#FFFFFF"><?PHP echo '<a href="' . $_SERVER['PHP_SELF'] . '?from=' . $thisfrom . '">'; ?>Back to List</a></td>
<td width="33%" class="thevalue" align="center" bgcolor="#FFFFFF">
<?PHP if ( $_GET['detail'] > 0 ) {
echo '<a href="' . $_SERVER['PHP_SELF'] . '?detail=' . ( $_GET['detail'] - 1 ) . '&from=' . $thisfrom . '"><- Previous</a>';
} else {
echo '';
}
?>
</td>
<td width="33%" class="thevalue" align="center" bgcolor="#FFFFFF">
<?PHP if ( $_GET['detail'] < ( $totalrecords - 1 ) ) {
echo '<a href="' . $_SERVER['PHP_SELF'] . '?detail=' . ( $_GET['detail'] + 1 ) . '&from=' . $thisfrom . '">Next -></a>';
} else {
echo '';
}
?>
</td>
</tr>
</table>
<?PHP
} else {
if ( isset( $_GET['from'] ) && is_numeric( $_GET['from'] ) ) {
$from = $_GET['from'];
} else {
$from = 0;
}
$sqlcmd = 'SELECT `Uhrzeit`, `Veranstaltung`, `Ort`, `Teilnehmer`, `Datum` FROM `FFWDDienstplan` LIMIT ' . $from . ', ' . RECORDSPERPAGE;
$result = mysql_query( $sqlcmd );
?>
<table border="0" cellspacing="1" cellpadding="2" bgcolor="#CCCCCC" width="80%">
<tr>
<td class="thetag" bgcolor="#DDDDDD">Uhrzeit</td>
<td class="thetag" bgcolor="#DDDDDD">Veranstaltung</td>
<td class="thetag" bgcolor="#DDDDDD">Ort</td>
<td class="thetag" bgcolor="#DDDDDD">Teilnehmer</td>
<td class="thetag" bgcolor="#DDDDDD">Datum</td>
</tr>
<?PHP
$cnt = $from;
while ( $row = mysql_fetch_array($result) ) {
?>
<tr>
<td class="thevalue" bgcolor="#FFFFFF"><a href="<?PHP echo $_SERVER['PHP_SELF']; ?>?detail=<?PHP echo $cnt; ?>&from=<?PHP echo $from; ?>"><?PHP echo $row['Uhrzeit']; ?></a></td>
<td class="thevalue" bgcolor="#FFFFFF"><a href="<?PHP echo $_SERVER['PHP_SELF']; ?>?detail=<?PHP echo $cnt; ?>&from=<?PHP echo $from; ?>"><?PHP echo $row['Veranstaltung']; ?></a></td>
<td class="thevalue" bgcolor="#FFFFFF"><a href="<?PHP echo $_SERVER['PHP_SELF']; ?>?detail=<?PHP echo $cnt; ?>&from=<?PHP echo $from; ?>"><?PHP echo $row['Ort']; ?></a></td>
<td class="thevalue" bgcolor="#FFFFFF"><a href="<?PHP echo $_SERVER['PHP_SELF']; ?>?detail=<?PHP echo $cnt; ?>&from=<?PHP echo $from; ?>"><?PHP echo $row['Teilnehmer']; ?></a></td>
<td class="thevalue" bgcolor="#FFFFFF"><a href="<?PHP echo $_SERVER['PHP_SELF']; ?>?detail=<?PHP echo $cnt; ?>&from=<?PHP echo $from; ?>"><?PHP echo $row['Datum']; ?></a></td>
</tr>
<?PHP
$cnt++;
}
?>
</table>
<?PHP
if ( $totalrecords > RECORDSPERPAGE ) {
?>
<br />
<table border="0" cellspacing="1" cellpadding="2" width="80%" bgcolor="#CCCCCC">
<tr><td width="100%" class="paginator" align="right" bgcolor="#FFFFFF">
<?PHP
$totalpages = ceil($totalrecords / RECORDSPERPAGE);
for ($cnt = 1; $cnt <= $totalpages; $cnt++) {
if ( $from == ( ($cnt - 1) * RECORDSPERPAGE ) ) {
$paginator = $paginator . $cnt . ' ';
} else {
$paginator = $paginator . '<a href="' . $_SERVER['PHP_SELF'] . '?from=' . ($cnt - 1) * RECORDSPERPAGE . '">' . $cnt . '</a> ';
}
}
$paginator = substr($paginator, 0, -1);
echo $paginator;
?>
</td></tr>
</table>
<?PHP
}
}
?>
</div>
</body>
</html>
Und so sieht das dann aus:
http://ffw-diemerode.de/mysqlbrowserV4_.php
Ich habe es über die Funktionen date_mysql2german und date_german2mysql probiert, was bei Eintrag in der Datenbank funktioniert hat, aber bei auslesen schaffe ich es nicht.
Ich wäre für jede Hilfe dankbar.
Gruß
Oschbert