MySQL Export auf Text

nelke

Grünschnabel
Hallo,

Hab nicht viel am Hut mit PHP aber versuche immer durchzukommen obwohl ich kein Wissen habe.

Hier gibt es ein Tutorial
http://www.tutorials.de/php-tutorials/221970-mysql-tabelle-exportieren.html

Alles klar das bestimmte Felder aus einer Tabelle exportiert werden können.

Doch ich habe vor das bei bestimmten Felder zuvor gewisse definierte Texte wie [Titel1]. Statt das ich die exportiere möchte ich es direkt an ein externen Form zusenden.

z.B.

Form
<form name="make_psw" enctype="multipart/form-data" action="" method="post">
<input type="file" name="inputfile" value="">
<input type="submit" name="submit" value="PSW">
</form>

Text aus SQL
[Titel1]
Tabellen Feld 1
[Titel2]
Tabellen Feld 2
[Titel3]
Tabellen Feld 3

Tutorial von forsterm
PHP:
<?php 
    if (isset($_POST['export'])){ 

        /*--- Verbindung zur Datenbank aufbauen ---*/ 
        $dbhost = 'localhost'; // MySQL - Host, meist ist es localhost 
        $dbuser = 'root'; // MySQL - Benutzer 
        $dbpass = ''; // MySQL - Passwort 
        $dbdata = ''; // MySQL - Datenbankname 

        mysql_connect($dbhost,$dbuser,$dbpass) or die(mysql_error()); 
        mysql_select_db($dbdata) or die(mysql_error());
		
		/*--- Deklarierung der per Post übergebenen Daten ---*/ 
        $dbtabelle = $_POST['tablename']; 
        $felder = $_POST['fields']; 
  
        if (empty($felder)){ $felder = '*'; }  
		
		/*--- Überprüfen, ob die angegebene Tabelle existiert ---*/ 
            $tabellen = mysql_list_tables($dbdata); 
            $tabellen_zahl = mysql_num_rows($tabellen); 

            for ($t = 0;$t <$tabellen_zahl;$t++){ 
                if (mysql_tablename($tabellen,$t) == $dbtabelle){ 
                    $ergebnis = '1'; 
                } 
            } 

            if (empty($ergebnis)){ 
                echo 'Die Tabelle "<b>'.$dbtabelle.'</b>" ist in der Datenbank nicht vorhanden.'; 
                exit; 
            }  
			
			/*--- SQL Befehle ausführen ---*/ 
            $sql = 'SELECT '.$felder.' FROM '.$dbtabelle; 
            $query = mysql_query($sql) or die(mysql_error()); 
            $feld_anzahl = mysql_num_fields($query);  
			
			
			/*--- Ergebnisse der Mysql Abfrage ausgeben und in Textdateispeichern ---*/ 
            $sql_statement .= "-- Host: ".$_SERVER['HTTP_HOST']."\n-- Erstellungszeit: ".date('d. F Y u\m H:i')."\n-- PHP-Version: ".phpversion()."\n--\n-- Datenbank: `".$dbdata."`\n--\n\n-- --------------------------------------------------------\n\n"; 
            $sql_statement .= "TRUNCATE TABLE `".$dbtabelle."`;\n\n--\n-- Daten für Tabelle `".$dbtabelle."`\n--\n\n"; 
  
            while($ds = mysql_fetch_object($query)){ 
                $sql_statement .= 'INSERT INTO `'.$dbtabelle.'` ('; 
  
                for ($i = 0;$i <$feld_anzahl;$i++){ 
                    if ($i ==$feld_anzahl-1){ 
                        $sql_statement .= mysql_field_name($query,$i); 
                    } else { 
                        $sql_statement .= mysql_field_name($query,$i).', '; 
                    } 
                } 

                $sql_statement .= ') VALUES ('; 
  
                for ($i = 0;$i <$feld_anzahl;$i++){ 
                    $name = mysql_field_name($query,$i); 
                    if (empty($ds->$name)){ 
                        $ds->$name = 'NULL'; 
                    } 
                    if ($i ==$feld_anzahl-1){ 
                        $sql_statement .= '"'.$ds->$name.'"'; 
                    } else { 
                        $sql_statement .= '"'.$ds->$name.'", '; 
                    } 
                } 
                $sql_statement .= ");\n"; 
            }  
			
			/*--- Schreiben des Backups in eine Datei ---*/ 
            $dateiname = 'Backup_von_Tabelle_\''.$dbtabelle.'\'_erstellt_am_'.date('d_m_y').'_-_'.date('H_i_s').'.txt'; 

            if ($datei = fopen($dateiname, 'a+')){ 
                if (!is_writable($dateiname)){ 
                    echo 'In die Datei "'.$dateiname.'" kann nicht geschrieben werden.'; 
                } 
                if (!fwrite($datei, $sql_statement)){ 
                    echo 'In die Datei "'.$dateiname.'" kann nicht geschrieben werden.'; 
                } 
                echo 'Folgendes Backup der Tabelle "<b>'.$dbtabelle.'</b>" wurde erfolgreich in der Datei <b>'.$dateiname.'</b> gespeichert.<hr><pre>'.$sql_statement.'</pre>'; 
                fclose($datei); 
            } else { 
                echo 'Die Datei "'.$dateiname.'" konnte nicht erstellt werden.'; 
            } 
        exit; 
    } 
?>


Vielen Dank für die Hilfe
 
Versteh ich das richtig? Du willst die Daten aus der DB für ein Formular verwenden?
Wenn ja, ist ein Exportscript das falsche. Du findest aber diverse Tutorials und Scripte zum Thema Formulare und Datenbankdaten.
 
Sorry, aber ich verstehe es auch nicht ganz.


Meinst du - wie yaslaw sagte - dass das PHP-Skript Daten aus der DB holen soll und ein Formular mit diesen gewissen Werten vorbelegen soll?

Falls ja, arbeite einfach mit SELECT-Statements.
 
Die Daten sollen von Datenbank herausgeholt werden und an ein externen Formular gesendet werden.

Also versuch mal so zu beschreiben.

So sieht mein Datenbank aus


Code:
INSERT INTO `field1` (`id`, `sn`, `pw`, `status`, `insert_time`, `owner`, `mode`, `upl_time`) VALUES
(1, '930485773849958', 'BF320EEE1A65A9F1518C880947D082173E3459EB', '090500010103060101060801010401', '1307392946', 'congar', 'c7', '1307459177'),
(2, '334385773844348', 'AE388849339BCCDEA999302830D082173E3459EB', '090505010101060101060809040208', '1307392946', 'funghi', 'a7', '1307459177'),
(3, '928339046394829', 'AE388849339BCCDEA999302830D082173E3459EB', '090508010109060101060809010400', '1307392946', 'lightblue', 'd7', '1307459177'),

Ich will aus dem Feld 1 (ID:1) SN, PW und STATUS auslesen und ein Text Datei wie folgt erstellen.

Code:
[SN]
930485773849958
[PW]
BF320EEE1A65A9F1518C880947D082173E3459EB
[STATUS]
090500010103060101060801010401

und dann an das Formular von "www.externedomain.de" zusenden. Das externe Formular sieht wie folgt aus und akzeptiert die Uploads wie oben.

HTML:
<form name="make_psw" enctype="multipart/form-data" action="http://www.externedomain.de/index.php" method="post">
<input type="file" name="inputfile" value="">
<input type="submit" name="submit" value="PSW">
</form>
 
Zuletzt bearbeitet:
Achso ;)

Dann musst du eben die Felder per SELECT auslesen und eine POST-Anfrage an das externe Skript senden.
 
Gibt es ähnliche Beispiele oder Tutorials was ich mir als Hilfe nehmen kann.. Ich weis leider nicht wie ich es nennen kann um zu googlen.
 
fsockopen() hilft dir eine Verbindung zum externen Server aufzubauen. Darüber kannst Du dann auch eine Datei schicken. Alternative: file_put_contents().
 
Habs hinbekommen.. Danke

PHP:
$file="result/$row[sn].cod";
					if(!file_exists($file))
					{
						$row = mysql_fetch_array($result);
						$file="result/$row[imei].cod";
						$fp = fopen("$file", "w+");
						$text = "[SN]\n$row[sn]\n[PW]\n$row[pw]\n[SN]\n$row[sn]";
						$text = stripslashes($text);
						fputs($fp,$text);
						fclose($fp);
						mysql_close($sql);
					}
 
Zurück