algenfreund: Tabelle auf vorhanden sein prüfen, wenn nicht anlegen..

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?

  1. 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

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  2. 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