magpie
10-04-2003, 18:29
Ich habe eine Datenbank in der ich Termine verwalte. Eine Spalte beinhaltet ein Datum. Zur Datumsausgabe möchte ich nun den MySQL-Befeht DATE_FORMAT() verwenden. Ich habe das ganze im phpMyAdmin getestet und da funktioniert es auch. Wenn ich nun die Abfrage in meinen PHP-Script mach krieg ich keine Ausgabe.
Hier ein bischen Code:
Die Tabelle
CREATE TABLE b_termine (
b_id int(4) unsigned NOT NULL auto_increment,
b_date date default '0000-00-00',
b_where varchar(20) default NULL,
b_league varchar(10) default NULL,
b_time time default '00:00:00',
b_who varchar(60) default NULL,
b_rank varchar(8) default NULL,
PRIMARY KEY (b_id)
) ENGINE=MyISAM;
Das PHP-Script
<?php
/* Stellt eine Verbindung zur Datenbank her */
$db = db_connect()
or die ("cannot connect to server");
/* Anfrage an MySQL-Server*/
$query = 'SELECT DATE_FORMAT(b_date,"%d.%m.%Y"), b_where, b_league, b_time, b_who, b_rank ';
$query .= 'FROM b_termine ';
$query .= 'WHERE b_date like \'%' .$fo_jahr. '%\' ';
$query .= 'AND b_league like \'%' .$fo_liga. '%\' ';
$query .= 'AND b_rank like \'%' .$fo_rang. '%\' ';
$query .= 'ORDER BY b_date DESC';
$result = mysql_query ($query)
or die ("cannot execute query");
mysql_close($db);
?>
<br>
<table cellpadding="4" cellspacing="2" border="0" align="center">
<?php
while($daten = mysql_fetch_array($result))
{
$i++;
$color = ($i % 2) ? "#c9c9c9" : "#e5e5e5";
?>
<tr bgcolor="<?=$color?>">
<td><b><?=$daten['b_date']?></b></td>
<td><?=$daten['b_where']?></td>
<td><?=$daten['b_league']?></td>
<td><b><?php $t = explode(':',$daten['b_time']); echo "$t[0]:$t[1]"; ?></b></td>
<td><?=$daten['b_who']?></td>
<td><?=$daten['b_rank']?></td>
</tr>
<?php
}
?>
Bei den ' vor und nach den % sollte noch ein backslash sein zum escapen
In der Ausgabe erscheint einnfach ein leeres Feld, keine Fehlermeldung oder so.
Wenn es im phpMyAdmin geht sollte es doch auch Im Script gehen :confused:
magpie
Hier ein bischen Code:
Die Tabelle
CREATE TABLE b_termine (
b_id int(4) unsigned NOT NULL auto_increment,
b_date date default '0000-00-00',
b_where varchar(20) default NULL,
b_league varchar(10) default NULL,
b_time time default '00:00:00',
b_who varchar(60) default NULL,
b_rank varchar(8) default NULL,
PRIMARY KEY (b_id)
) ENGINE=MyISAM;
Das PHP-Script
<?php
/* Stellt eine Verbindung zur Datenbank her */
$db = db_connect()
or die ("cannot connect to server");
/* Anfrage an MySQL-Server*/
$query = 'SELECT DATE_FORMAT(b_date,"%d.%m.%Y"), b_where, b_league, b_time, b_who, b_rank ';
$query .= 'FROM b_termine ';
$query .= 'WHERE b_date like \'%' .$fo_jahr. '%\' ';
$query .= 'AND b_league like \'%' .$fo_liga. '%\' ';
$query .= 'AND b_rank like \'%' .$fo_rang. '%\' ';
$query .= 'ORDER BY b_date DESC';
$result = mysql_query ($query)
or die ("cannot execute query");
mysql_close($db);
?>
<br>
<table cellpadding="4" cellspacing="2" border="0" align="center">
<?php
while($daten = mysql_fetch_array($result))
{
$i++;
$color = ($i % 2) ? "#c9c9c9" : "#e5e5e5";
?>
<tr bgcolor="<?=$color?>">
<td><b><?=$daten['b_date']?></b></td>
<td><?=$daten['b_where']?></td>
<td><?=$daten['b_league']?></td>
<td><b><?php $t = explode(':',$daten['b_time']); echo "$t[0]:$t[1]"; ?></b></td>
<td><?=$daten['b_who']?></td>
<td><?=$daten['b_rank']?></td>
</tr>
<?php
}
?>
Bei den ' vor und nach den % sollte noch ein backslash sein zum escapen
In der Ausgabe erscheint einnfach ein leeres Feld, keine Fehlermeldung oder so.
Wenn es im phpMyAdmin geht sollte es doch auch Im Script gehen :confused:
magpie