php mysql abfrage

Alles, was PHP betrifft, kann hier besprochen werden.

php mysql abfrage

Postby freeman » 20. July 2003 13:09

:cry: hallo ich habe mit mühe und not ein script geschrieben um eine mysql tabelle auszulesen. in der tabelle stehen termine unseres vereines zu finden ist die tabelle unter folgender url: http://www.1420-duisburg.de/home/aktuel ... ermine.php

funktionieren tut das ganze einwandfrei hier auch noch mal das script:

<?php

// 1. Deklaration der Variablen:
require ("config.php");
require ("funktionen.php");

$timestamp = time();
$heute = date("Y-m-d",$timestamp);

// 2. Erstellung der Verbindung zur Datenbank:
$db = mysql_connect($dbhost, $dbuser, $dbpasswd);
mysql_select_db($mydb, $db);

// 3. Auslesen der Daten:
$query="SELECT id,datum,veranstaltung,uhrzeit,ort FROM termine ORDER BY datum ASC;";
$result=mysql_query($query,$db);

// 4. Ausgabe in einer Tabelle:
echo "<html>";
echo "<head>";
echo "<title>Termine</title>";
echo "</head>";
echo "<body>";
echo "<center>";
echo "<h2>Terminkalender</h2>";
echo "<table border=1>";
echo "<tr><td>Datum</td><td>Veranstaltung</td><td>Uhrzeit</td><td>Ort</td></tr>";

while($output=mysql_fetch_array($result)) {

if ($heute<$output[1])
{
$format_datum = get_datum_lesen($output[1]);
echo"<td>$format_datum </td><td>$output[2]</td><td>$output[3]</td><td>$output[4]</td></tr>";
}

}
echo "</center>";
echo "</table>";
echo "</body>";
echo "</html>";
// 5. Schließen der MySQL-Verbindung:
mysql_close($db);
?>


ich habe aber nicht immer lust mit phpmyadmin die tabelle zu aktualisieren und abgelaufene termine zu löschen kann mir jemand sagen was ich noch reinschreiben muss damit abgelaufene termine rausfliegen??
Linux is like a wigwam, no windows, no gates but apache inside
User avatar
freeman
 
Posts: 1
Joined: 20. July 2003 13:01
Location: Duisburg

Postby Seb » 20. July 2003 17:48

Stell doch einfach die Tabelle ein bisschen um & speichere das Datum mit Zeit (als unixtimestamp) in eine Spalte, dann machst du zur Abfrage nur noch WHERE adate>'$timestamp' mit rein & kannst die alten Termine einfach drin lassen oder halt alle Monate oder so mal rauslöschen mit DELETE FROM termine WHERE adate<'$timestamp';

adate sollte vom Typ INT(11) sein ;)

Das Umwandeln müsste man mit UPDATE termine SET adate=UNIX_TIMESTAMP(CONCAT_WS('',datum,' ',uhrzeit)) einfach durchführen können.
!Dazu muss oder sollte aber das Datum das Format YYYYMMDD, YYYYMMDD oder mit - getrennt haben & uhrzeit müsste schon stimmen.
Seb
 


Return to PHP

Who is online

Users browsing this forum: No registered users and 7 guests