Hallo, ich habe mal eine Frage.
Erstmal der Code:
	
Was genau muß ich eingeben wenn ich Tab -selektierte txt Daten einlesen möchte?
$db_Terminated[0] = "\t"; und $db_Terminated[0] = "Chr(9)";
legt mir nur die letzte Zeile in mysql an.
$db_Terminated[0] = (explode (Chr(9))); schmeisst alles durcheinander.
Hat da jemand eine Lösung?
Also ich würde gern eine normale Tab.- getrennte Datei einlesen ohne Sie vorher in externen Programmen zu bearbeiten.
Mit den ";" selektierten funzt es alles super.
Wollte auch eine Mail unter STADTAUS.com ( dem Macher des Scripts) senden... lach , kam ein MySQl Fehler.... lach
 , kam ein MySQl Fehler.... lach  
 
   
Ich danke Euch total!
Gruß Haxley
					Erstmal der Code:
PHP-Code:
	
	
<?php
 $db_MenuTitle[0]  = "TEST";         // Bezeichnung des Eintrags - erscheint im Dropdown
          $db_Hostname[0]   = "localhost";         // Datenbank-Host (muss nicht zwingend immer localhost sein)
          $db_UserName[0]   = "root";                  // Benutzername für diese Datenbank
          $db_Password[0]   = "";                  // Zugehoeriges Passwort
          $db_Database[0]   = "usr_web3_1";                  // Datenbank, auf die zugegriffen werden soll
          $db_Table[0]      = "testtbl";                  // Table, in den die CSV-Datei übertragen werden soll
          $db_File[0]       = "C:/apachefriends/xampp/htdocs/html/test/andere/Beispiel.txt";                  // Verzeichnispfad zur Textdatei (CSV etc.) auf dem Webserver
          //$db_Terminated[0] = (explode (Chr(9)));                 // Trennzeichen, das in der Textdatei verwendet wird
          //$db_Terminated[0] = "Chr(9)";                 // Trennzeichen, das in der Textdatei verwendet wird
          $db_Terminated[0] = "\t";                 // Trennzeichen, das in der Textdatei verwendet wird
if (isset ($select_db)) {
            // Connect zur Datenbank
            mysql_connect($db_Hostname[$select_db], $db_UserName[$select_db], $db_Password[$select_db]) || die("Can't Connect to Database: ".mysql_error());
            mysql_select_db($db_Database[$select_db]);
            // Bisherige Daten aus der Datenbank löschen
            $del = "DELETE FROM ".$db_Table[$select_db];
            // CSV-Datei in die Datenbank übertragen
            $sql = "LOAD DATA INFILE '$db_File[$select_db]' REPLACE INTO TABLE ".$db_Table[$select_db]." FIELDS TERMINATED BY '$db_Terminated[$select_db]'";
           // ertse Zeile (Beschreibung) löschen
           //$del2 = "DELETE FROM" .$db_Table[$select_db] WHERE id=(SELECT min(id) FROM .$db_Table[$select_db];
            // MySQL-Statements ausführen
            if (mysql_query ($del) and mysql_query ($sql)) {
            //if (mysql_query ($del) and mysql_query ($sql)and mysql_query ($del2)) {
                $message = "Übertragung erfolgreich";
                }
            else {
                $message = "Übertragung fehlgeschlagen. Grund: ". mysql_error ();
                }
            }
      // Generierung des DropDown-Menues
      function generate_dropdown () {
          global $db_MenuTitle, $db_Hostname, $db_UserName, $db_Password, $db_Table, $db_File, $db_Terminated;
          if (is_array ($db_MenuTitle)) {
              reset ($db_MenuTitle);
              while (list ($key, $val) = each ($db_MenuTitle)) {
                  echo "<option value=\"".$key."\">".$val."</option>";
                  }
              }
          }
?>
<html>
  <head>
    <title>CSV to SQL</title>
  </head>
  <body bgcolor="#EAEAEA">
    <form action="<?php echo $PHP_SELF; ?>" method="POST">
      <table border="0" cellspacing="0" cellpadding="5" bgcolor="#C0C0C0" width="50%">
        <tr>
          <th>CSV to MySQL</th>
          <th> </th>
        </tr>
        <tr valign="bottom">
          <td>
            <select name="select_db" size="<?php echo count ($db_MenuTitle); ?>">
              <?php generate_dropdown (); ?>
            </select>
          </td>
          <td>
            <input type="Submit" name="submit" value="Und los!">
          </td>
        </tr>
      </table>
    </form>
    <p><?php echo $message; ?></p>
    <table border="0" cellspacing="0" cellpadding="5" bgcolor="#C0C0C0" width="50%">
      <tr>
        <td>
          <p>
            Mit diesem Tool hat der Benutzer die Moeglichkeit, CSV-Dateien
            in eine bestehende MySQL-Datenbank zu uebertragen.
            In erster Linie wurde diese Anwendung entwickelt, um Dateien
            (CSV, Text), die in externen Programmen entstehen
            (Tabellenkalkulation, Warenwirtschaft, Produktdatenbanken)
            und die regelmaessig in eine MySQL-Datenbank auf dem Web-Server
            uebertragen werden muessen, einfach und auf Knopfdruck zu
            konvertieren.
          </p>
          <p>
            Beim Aufruf des Scripts wird ein Select-Menue erzeugt, das auf
            den folgenden Eintraegen basiert. Jeder Block stellt ein
            Eintrag im Menue dar.
            Sollen mehrere Eintraege definiert werden, muessen die folgenden
            Definitions-Bloecke 'entkommentiert' werden.
          </p>
          <p>
            Beim Ausführen des Scripts wird der Inhalt der CSV direkt in die
            Datenbank uebertragen.
          </p>
          <p>
            Wichtig: Um die Daten erfolgreich in die Datenbank uebertragen zu
            koennen, muss eine passende Tabelle bereits bestehen und die Datei
            muss sich auf dem Server befinden. Die alten
            Daten werden dabei komplett gelöscht und durch die neuen Daten
            ersetzt.
          </p>
          <p>
            Verschiedene Ausgangsdateien und Datenbanktabellen können Sie im
            Quellcode des Scripts editieren.
          </p>
        </td>
      </tr>
    </table>
    
  </body>
</html>
$db_Terminated[0] = "\t"; und $db_Terminated[0] = "Chr(9)";
legt mir nur die letzte Zeile in mysql an.
$db_Terminated[0] = (explode (Chr(9))); schmeisst alles durcheinander.
Hat da jemand eine Lösung?
Also ich würde gern eine normale Tab.- getrennte Datei einlesen ohne Sie vorher in externen Programmen zu bearbeiten.
Mit den ";" selektierten funzt es alles super.
Wollte auch eine Mail unter STADTAUS.com ( dem Macher des Scripts) senden... lach
 , kam ein MySQl Fehler.... lach
 , kam ein MySQl Fehler.... lach  
 Ich danke Euch total!
Gruß Haxley
 
          
 csvtosql,  tab selektiert einlesen
									
									
									csvtosql,  tab selektiert einlesen
								
Kommentar