Anzeigen:
Results 1 to 6 of 6

Thread: Mehrere Ordner aus Datenbank erstellen

  1. #1

    Mehrere Ordner aus Datenbank erstellen

    Hallo zusammen

    Ich bin nun an meiner Abschlussarbeit und habe leider nie gross mich mit MySql und der gleichen befasst.

    Folgende Ausgangslage, was momentan schon vorhanden ist.

    Der User hat ein Eingabeformular das so aussieht.

    Layertype: 2 Checkboxen L1 und UL

    Eingabefeld mit Gerätename, Modell, Firmware, Datapump

    Voicetype: 2 Checkboxen POTS und ISDN

    DSL Type: 3 Checkboxen ADSL, ADSL2P und VDSL.


    Nun je nachdem was der User anklickt werden folgende Tabellen erstellt.

    Also zuerst die Gerät Tabelle z.B

    Device_ID109010292

    Die ID wird durch die Zeit hintendran generiert. In dieser Tabelle stehen die obigen Antworten von dem Formular.


    Zusätzlich folgende Tabelle

    L1_ISDN_ADSL_INV_ID109010292 usw was man halt ausgewählt hat pro Auswahl gibt es 6 Tests und jeweils die Equipment Tabelle dazu.

    In dieser Equipment Tabelle steht drin von welchem Messplatz gemessen wurde.

    L1_ISDN_ADSL_INV_EQ_ID109010292

    PHP Code:
    <?php
    if (!isset($_POST['eintragen'])) {
        include(
    'form.html');
        exit; }

    $server    "localhost";
    $user    "root";
    $pass    "";
    $database "testing_database";
    $timestamp time();
    $date        date("mdHis"$timestamp);
    $devtable    "Device_id".$date;


    $verbindung mysql_connect($server$user$pass)
        or die (
    "Verbindung zur Datenbank nicht möglich");

    mysql_select_db($database$verbindung);

    $layertype $_POST['layertype1']."_".$_POST['layertype2'];
    $voicetype $_POST['voicetype1']."_".$_POST['voicetype2'];
    $dsltype $_POST['dsltype1']."_".$_POST['dsltype2']."_".$_POST['dsltype3'];

    $layertype1 $_POST['layertype1'];
    $layertype2 $_POST['layertype2'];
    $voicetype1 $_POST['voicetype1'];
    $voicetype2 $_POST['voicetype2'];
    $dsltype1 $_POST['dsltype1'];
    $dsltype2 $_POST['dsltype2'];
    $dsltype3 $_POST['dsltype3'];




    function 
    InsertEquipment($name) {
    $sql "CREATE TABLE $name
    ( type text, vendor text, model text, version text, serial texT, details text)"
    ;

    mysql_query($sql) or die ("Fehler, bitte den Datentyp und die Laenge des Texts einhalten. Eventuell ID schon vergeben. Zurueck um einen weiteren Eintrag zu erfassen.");

    }

    function 
    createTabelle($LT,$VT,$DT,$ID) {

    $inv $LT."_".$VT."_".$DT."_"."INV_ID".$ID;
    $inv_eq $LT."_".$VT."_".$DT."_"."INV_EQ_ID".$ID;
    $pt_hn $LT."_".$VT."_".$DT."_"."PT_HN_ID".$ID;
    $pt_hn_eq $LT."_".$VT."_".$DT."_"."PT_HN_EQ_ID".$ID;
    $pt_ln $LT."_".$VT."_".$DT."_"."PT_LN_ID".$ID;
    $pt_ln_eq $LT."_".$VT."_".$DT."_"."PT_LN_EQ_ID".$ID;
    $bs $LT."_".$VT."_".$DT."_"."BS_ID".$ID;
    $bs_eq $LT."_".$VT."_".$DT."_"."BS_EQ_ID".$ID;
    $recimp $LT."_".$VT."_".$DT."_"."RECIMP_ID".$ID;
    $recimp_eq $LT."_".$VT."_".$DT."_"."RECIMP_EQ_ID".$ID;
    $psd $LT."_".$VT."_".$DT."_"."PSD_ID".$ID;
    $psd_eq $LT."_".$VT."_".$DT."_"."PSD_EQ_ID".$ID;

    InsertEquipment($inv_eq);
    InsertEquipment($pt_hn_eq);
    InsertEquipment($pt_ln_eq);
    InsertEquipment($bs_eq);
    InsertEquipment($recimp_eq);
    InsertEquipment($psd_eq);

    $sql "CREATE TABLE $inv
    (
    chipsetVendorId text,
    chipsetCountryCode text,
    chipsetVendorCode text,
    chipsetDetails text,
    systemVendorId text,
    systemCountryCode text,
    systemVendorCode text,
    systemDetails text,
    chipsetVersionId text,
    systemVersionId text
    )"
    ;

    mysql_query($sql) or die ("Fehler, bitte den Datentyp und die Laenge des Texts einhalten. Eventuell ID schon vergeben. Zurueck um einen weiteren Eintrag zu erfassen.");


    $sql "CREATE TABLE $pt_hn
    (
    loopLength integer,
    iteration integer,
    noiseSide text,
    adminState boolean,
    operationState boolean,
    rateUs integer,
    rateDs integer,
    attainableRateUs integer,
    attainableRateDs integer,
    inpUs float,
    inpDs float,
    operationMode text,
    transferMode text,
    reinitDay integer,
    noiseMarginUs float,
    noiseMarginDs float,
    outputPowerUs float,
    outputPowerDs float,
    loopAttenuationUs float,
    loopAttenuationDs float,
    signalAttenuationUs float,
    signalAttenuationDs float,
    psdUs float,
    psdDs float,
    highFreqUs integer,
    highFreqDs integer,
    electricalLength float,
    electricalLengthEstimate float,
    noiseMarginU0 float,
    noiseMarginD1 float,
    noiseMarginU1 float,
    noiseMarginD2 float,
    noiseMarginU2 float,
    noiseMarginU3 float,
    noiseMarginD3 float,
    loopAttenuationU0 float,
    loopAttenuationD1 float,
    loopAttenuationU1 float,
    loopAttenuationD2 float,
    loopAttenuationU2 float,
    loopAttenuationU3 float,
    loopAttenuationD3 float,
    signalAttenuationU0 float,
    signalAttenuationD1 float,
    signalAttenuationU1 float,
    signalAttenuationD2 float,
    signalAttenuationU2 float,
    signalAttenuationU3 float,
    signalAttenuationD3 float,
    factorAttToEffBitrateUs float,
    factorAttToEffBitrateDs float,
    syncTime integer
    )"
    ;

    mysql_query($sql) or die ("Fehler, bitte den Datentyp und die Laenge des Texts einhalten. Eventuell ID schon vergeben. Zurueck um einen weiteren Eintrag zu erfassen.");


    $sql "CREATE TABLE $pt_ln
    (
    loopLength integer,
    iteration integer,
    noiseSide text,
    adminState boolean,
    operationState boolean,
    rateUs integer,
    rateDs integer,
    attainableRateUs integer,
    attainableRateDs integer,
    inpUs float,
    inpDs float,
    operationMode text,
    transferMode text,
    reinitDay integer,
    noiseMarginUs float,
    noiseMarginDs float,
    outputPowerUs float,
    outputPowerDs float,
    loopAttenuationUs float,
    loopAttenuationDs float,
    signalAttenuationUs float,
    signalAttenuationDs float,
    psdUs float,
    psdDs float,
    highFreqUs integer,
    highFreqDs integer,
    electricalLength float,
    electricalLengthEstimate float,
    noiseMarginU0 float,
    noiseMarginD1 float,
    noiseMarginU1 float,
    noiseMarginD2 float,
    noiseMarginU2 float,
    noiseMarginU3 float,
    noiseMarginD3 float,
    loopAttenuationU0 float,
    loopAttenuationD1 float,
    loopAttenuationU1 float,
    loopAttenuationD2 float,
    loopAttenuationU2 float,
    loopAttenuationU3 float,
    loopAttenuationD3 float,
    signalAttenuationU0 float,
    signalAttenuationD1 float,
    signalAttenuationU1 float,
    signalAttenuationD2 float,
    signalAttenuationU2 float,
    signalAttenuationU3 float,
    signalAttenuationD3 float,
    factorAttToEffBitrateUs float,
    factorAttToEffBitrateDs float,
    syncTime integer
    )"
    ;

    mysql_query($sql) or die ("Fehler, bitte den Datentyp und die Laenge des Texts einhalten. Eventuell ID schon vergeben. Zurueck um einen weiteren Eintrag zu erfassen.");


    $sql "CREATE TABLE $bs
    (
    loopLength integer,
    noiseChannelUs text,
    noiseChannelDs text,
    gain integer,
    Bitloading text,
    noiseStep integer,
    minimumLevel integer
    )"
    ;

    mysql_query($sql) or die ("Fehler, bitte den Datentyp und die Laenge des Texts einhalten. Eventuell ID schon vergeben. Zurueck um einen weiteren Eintrag zu erfassen.");



    $sql "CREATE TABLE $recimp
    (
    loopLength integer,
    noiseChannelUs text,
    noiseChannelDs text,
    noiseMarginUs integer,
    noiseMarginDs integer,
    gain integer
    )"
    ;

    mysql_query($sql) or die ("Fehler, bitte den Datentyp und die Laenge des Texts einhalten. Eventuell ID schon vergeben. Zurueck um einen weiteren Eintrag zu erfassen.");



    $sql "CREATE TABLE $psd
    (
    loopLength integer,
    side text,
    frequency1 integer,
    psdValue1 integer,
    frequency2 integer,
    psdValue2 integer,
    frequency3 integer,
    psdValue3 integer,
    frequency4 integer,
    psdValue4 integer,
    frequency5 integer,
    psdValue5 integer,
    frequency6 integer,
    psdValue6 integer,
    frequency7 integer,
    psdValue7 integer
    )"
    ;

    mysql_query($sql) or die ("Fehler, bitte den Datentyp und die Laenge des Texts einhalten. Eventuell ID schon vergeben. Zurueck um einen weiteren Eintrag zu erfassen.");



    }


    $sql "CREATE TABLE $devtable
    (
    Layer_Type text not null,
    Name text not null,
    Model text not null,
    Firmware text not null,
    Datapump text not null,
    Voice_Type text not null,
    DSL_Type text not null
    )"
    ;

     
    mysql_query($sql) or die ("Fehler, bitte den Datentyp und die Laenge des Texts einhalten. Eventuell ID schon vergeben. Zurueck um einen weiteren Eintrag zu erfassen.");

    $sql"INSERT INTO $devtable (Layer_Type, Name, Model, Firmware, Datapump, Voice_Type, DSL_Type)
    VALUES
    ('
    $layertype','$_POST[name]','$_POST[model]','$_POST[firmware]','$_POST[datapump]','$voicetype','$dsltype')";

    mysql_query($sql) or die ("Fehler, bitte den Datentyp und die Laenge des Texts einhalten. Eventuell ID schon vergeben. Zurueck um einen weiteren Eintrag zu erfassen.");



    if (isset(
    $layertype1))
    {
        if (isset(
    $voicetype1))
        {
            if (isset(
    $dsltype1)) 
            {    
    createTabelle($layertype1,$voicetype1,$dsltype1,$date); }
            if (isset(
    $dsltype2)) 
            {    
    createTabelle($layertype1,$voicetype1,$dsltype2,$date); }
                if (isset(
    $dsltype3)) 
            {    
    createTabelle($layertype1,$voicetype1,$dsltype3,$date); }
        }

        if (isset(
    $voicetype2))
        {
            if (isset(
    $dsltype1)) 
            {    
    createTabelle($layertype1,$voicetype2,$dsltype1,$date); }
            if (isset(
    $dsltype2)) 
            {    
    createTabelle($layertype1,$voicetype2,$dsltype2,$date); }
                if (isset(
    $dsltype3)) 
            {    
    createTabelle($layertype1,$voicetype2,$dsltype3,$date); }
        }

    }
            

    $handle fopen "resultat.txt""w" );
              
    fwrite $handle"ID: ");
              
    fwrite $handle$date );
              
    fwrite $handle"\r\n" );
              
    fwrite $handle"Layer Type: ");

    if (isset(
    $layertype1))

    fwrite $handle$_POST['layertype1'].";" );
    }
    elseif (!isset(
    $layertype1))

    fwrite $handle"none;" );
    }

    if (isset(
    $layertype2))

    fwrite $handle$_POST['layertype2'] );
    fwrite $handle"\r\n" );
    }
    elseif (!isset(
    $layertype2))   
    {
    fwrite $handle"none" );
    fwrite $handle"\r\n" );
    }

              
    fwrite $handle"Name: ");
              
    fwrite $handle$_POST['name'] );
              
    fwrite $handle"\r\n" );
              
    fwrite $handle"Model: ");
              
    fwrite $handle$_POST['model'] );
              
    fwrite $handle"\r\n" );
              
    fwrite $handle"Firmware: ");
              
    fwrite $handle$_POST['firmware'] );
              
    fwrite $handle"\r\n" );
              
    fwrite $handle"Datapump: ");
              
    fwrite $handle$_POST['datapump'] );
              
    fwrite $handle"\r\n" );
              
    fwrite $handle"Voice Type: ");

    if (isset(
    $voicetype1))

    fwrite $handle$_POST['voicetype1'].";" );
    }
    elseif (!isset(
    $voicetype1))

    fwrite $handle"none;" );
    }

    if (isset(
    $voicetype2))

    fwrite $handle$_POST['voicetype2'] );
    fwrite $handle"\r\n" );
    }
    elseif (!isset(
    $voicetype2))   
    {
    fwrite $handle"none" );
    fwrite $handle"\r\n" );
    }
              
    fwrite $handle"DSL Type: ");

    if (isset(
    $dsltype1))

    fwrite $handle$_POST['dsltype1'].";" );
    }
    elseif (!isset(
    $dsltype1))

    fwrite $handle"none;" );
    }

    if (isset(
    $dsltype2))

    fwrite $handle$_POST['dsltype2'].";" );
    }
    elseif (!isset(
    $dsltype2))   
    {
    fwrite $handle"none;" );
    }

    if (isset(
    $dsltype3))

    fwrite $handle$_POST['dsltype3'] );
    fwrite $handle"\r\n" );
    }
    elseif (!isset(
    $dsltype3))   
    {
    fwrite $handle"none" );
    fwrite $handle"\r\n" );
    }





    mkdir("/xampp/htdocs/Struktur/".$_POST['name'], 0777);
    mkdir("/xampp/htdocs/Struktur/".$_POST['name']."/".$_POST['model'], 0777);
    mkdir("/xampp/htdocs/Struktur/".$_POST['name']."/".$_POST['model']."/".$layertype0777);

    if (isset(
    $voicetype1,$voicetype2))

    mkdir("/xampp/htdocs/Struktur/".$_POST['name']."/".$_POST['model']."/".$layertype."/".$voicetype10777);
    mkdir("/xampp/htdocs/Struktur/".$_POST['name']."/".$_POST['model']."/".$layertype."/".$voicetype20777);

    if (!isset(
    $voicetype1,$voicetype2))


    mkdir("/xampp/htdocs/Struktur/".$_POST['name']."/".$_POST['model']."/".$layertype."/".$voicetype0777);



    $ausgabe "Die Eingaben wurden erfolgreich in die Datenbank aufgenommen. Zurueck um einen weiteren Eintrag zu erfassen.";



    mysql_close($verbindung);
    echo 
    $ausgabe;
    HTML Code:
    ?> 
    <form action="http://localhost/submit.php" method="POST">
    
      <p>Layer Type:</p>
      <p>
        <input type="checkbox" name="layertype1" value="L1"> Layer 1
        <input type="checkbox" name="layertype2" value="UL"> Upper Layer
    <p>
    
      <p>Voice Type:</p>
      <p>
        <input type="checkbox" name="voicetype1" value="POTS"> POTS
        <input type="checkbox" name="voicetype2" value="ISDN"> ISDN
        
    <p>
    
      <p>DSL Type:</p>
      <p>
        <input type="checkbox" name="dsltype1" value="ADSL"> ADSL
        <input type="checkbox" name="dsltype2" value="ADSL2P"> ADSL2+
        <input type="checkbox" name="dsltype3" value="VDSL2"> VDSL2
    <p>
    
    
    
    Name: <input id="name" type="text" name="name" /><br />  Model: <input id="model" type="text" name="model" /><br />  Firmware: <input id="firmware" type="text" name="firmware"  /><br /> Datapump: <input id="datapump" type="text"  name="datapump" /><br /> 
    
    
    
    
    <input id="eintragen" type="submit" name="eintragen" value="Abschicken" /></form>

    So soabld also dies erstellt wird und der Test fertig ist und die Daten in die Tabellen eingefüllt hat. Soll auf einer Website folgende Ordnerstruktur erstellt werden.

    Cisco - HN 84 - L1 - ISDN wenn man dann im ISDN Ordner ist sollten alle Tests angezeigt werden VDSL ADSL und ADSL2p wenn alle Tabellen vorhanden sind.

    Also Herstellername - Modellname - Layertype - Voicetype

    Nun sollte man die Attribute mit den Werten sehen von jeder Tabelle einzeln anklickbar.

    Es darf dabei nichts überschrieben werden also landet im Prinzip der zweite Test mit einer anderen ID im gleichen letzten Unterverzeichnis wenn man ihn wiederholt.


    Ist diese Umsetzung möglich?

    Vielen Dank für eure Hilfe!!!!

    Gruss

    Jan
    Last edited by waldfex; 11.01.2012 at 21:16. Reason: Code-Formatierung angepasst!

  2. #2
    waldfex
    Gast

    AW: Mehrere Ordner aus Datenbank erstellen

    Quote Originally Posted by Janyboy33 View Post
    Hallo zusammen

    Ist diese Umsetzung möglich?
    Ja, oder was erwartest du jetzt, dass dir jemand die Aufgabe löst?

    Gruß Fex

  3. #3

    AW: Mehrere Ordner aus Datenbank erstellen

    Nein natürlich nicht, vielleicht einen Ansatz wie man das könnte lösen. Welche Methoden u.s.w.

  4. #4
    waldfex
    Gast

    AW: Mehrere Ordner aus Datenbank erstellen

    Als erstes brauchst du nicht für jeden Test eine/mehrere Tabellen anzulegen.
    Lege als erstes für jeden Sachverhalt, den du speichern möchtest eine Tabelle an. Ich kann dir jetzt nicht sagen, ob das vom Datenmodell, so wie du es hast, korrekt ist. Vom Grundsatz sollten "statische" Daten, d.h. z.B. der Versuchsaufbau in einer Tabelle stehen und die "dynamischen" wie Messdaten in einer anderen. Zuerst legst du für jede Versuchskonstellation einen Datensatz an (Wenn möglich!?). Gespeichert werden dann nur die Testergebnisse.

    Die Tabellen werden für die Auswertung dann über einen JOIN verbunden.

    Ich den denke einmal, dass du für die Webausgabe keine "echten" Verzeichnisse anlegen, sondern nur in einer Verzeichnis-Struktur ausgeben musst. Dafür könntest du auf ein JavaScript-Framework, wie DoJo zurückgreifen. (http://dojotoolkit.org/reference-gui...tml#dijit-tree)

    Soviel zum Einstieg.

  5. #5
    dreamworker.de Junior cs_meister's Avatar
    Join Date
    01/2012
    Location
    Stuttgart
    Posts
    8

    AW: Mehrere Ordner aus Datenbank erstellen

    Diese Frage wollte ich seit langen fragen!Danke für die Antwort waldfex!

  6. #6

    AW: Mehrere Ordner aus Datenbank erstellen

    Anzeigen:
    Habe eine Lösung gefunden. Hab ein Treeview mit MySQL Anbindung Beispiel aus dem Internet genommen.

    Das Prinzip funktioniert mit ID und Parent ID.

    Hier der Lösungsansatz

    http://www.dreamworker.de/showthread...e-zu-erstellen

    Jedes Gerät hat eine andere ID und bekommt immer die gleiche Nummer nach Kategorie.

    Nur die Funktion will noch nicht ganz.

    Gruss

    Jan

Similar Threads

  1. Sonstiges: Download-Ordner bei Strato erstellen
    By Eulenspiegel in forum Adobe Dreamweaver
    Replies: 2
    Last Post: 19.02.2011, 01:31
  2. mehrere Listenwerte in Datenbank eintragen
    By dr_gismo in forum Serverseitige Programmierung
    Replies: 1
    Last Post: 09.12.2007, 14:25
  3. Layout: Ordner mit Link öffnen bzw. Ordnerlink erstellen
    By derpeter in forum Adobe Dreamweaver
    Replies: 1
    Last Post: 14.12.2005, 13:28
  4. mit php ordner erstellen und index.php reinkopieren
    By paris in forum Serverseitige Programmierung
    Replies: 1
    Last Post: 02.09.2005, 20:49

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •