Tabelle auf vorhanden sein prüfen, wenn nicht anlegen..
algenfreund
- php
Hallo,
ich möchte gerne jeden Tag eine neue Tabelle mit festen Spalten erstellen. Mit der Datefunktion kann man hier ja schön arbeiten.
Gibt es hierfür eine schöne Anwendung?
Sprich:
If tabelle $date not exist (
create $date with Spalte ID (autinc), Test1, Test2
else
....
Gibt es soetws?
Hello,
Du kannst das vorhandensein einer Variable mit isset() prüfen.
Wenn die Variablen einen Zusammenhang haben, bietet sich dafür ein Array an
$_dates = array();
if(!isset($_dates['Januar']))
{
$_dates['Januar'] = make_month_arr(1,2009);
}
Und dann eine Funktion
function make_month_array($month, $year)
{
$_month_arr = array();
$_month_arr[1] = ...
$_month_arr[2] = ...
### ...
return $_month_arr;
}
Und speichern kannst Du den ganzen Kalender dann in einer normalen Datei, indem Du das Array vorher seialisierst:
$data = serialize($_dates);
file_put_contents( ... );
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg

Hallo,
ich möchte gerne jeden Tag eine neue Tabelle mit festen Spalten erstellen.
warum möchtest Du für jeden Tag eine neue Tabelle anlegen? Das hört sich nicht nach einer guten Idee an.
Sprich:
If tabelle $date not exist (
create $date with Spalte ID (autinc), Test1, Test2
else
....
das sieht danach aus, als möchtest Du etwas mit SQL machen und nicht mit PHP. Es bleibt eine schlechte Idee.
> Mit der Datefunktion kann man hier ja schön arbeiten.
Sie produziert meist Bezeichner, die speziell behandelt werden müssen; besonders schön finde ich das nicht.
> Gibt es soetws?
[Ja, hier am Beispiel von MySQL](http://dev.mysql.com/doc/refman/5.0/en/create-table.html). Du solltest Dich weiter darüber informieren, wie Dein Datenbankmanagementsystem (DBMS) Sonderzeichen in Tabellennamen behandelt haben möchte: MS SQL-Server möchte zum Beispiel eckige Klammern oder doppelte Anführungszeichen um solche Bezeichner (Identifier) haben. Wenn Du ein anderes DBMS verwendest, so schau in dessen Doku, wie es dort geht.
Grundsätzlich kann ich mir jedoch keine Verwendung für täglich neue Tabellen vorstellen. Täglich neue Tabellen (mit stets gleicher Struktur) zu erzeugen, ist eine ganz schlechte Idee. Dagegen ist es eine sehr gute Idee, eine einzige Tabelle zu verwenden, die eine Datumsspalte aufweist, anhand derer man die Daten eines bestimmten Tages ermitteln kann. Eine ganz besonders gute Idee ist es, für eine Datumsspalte einen Datumsdatentyp des Datenbankmanagementsystems zu nehmen.
Freundliche Grüße
Vinzenz