Daten von einer in eine andere Tabelle

17/05/2011 - 21:44 von spamrecyclinganlage | Report spam
N'Abend,

ich bin php Anfànger und hoffe hier einen Schubs in die richtige
Richtung zu bekommen.
Ich habe eine Tabelle mit fünf Spalten (pID, plz, ort, vorwahl, lID) und
57182 Zeilen. Inhalte sind Postleitzahlen, Orte und Vorwahlen. pID ist
der Autoincrementwert und lID ist die Landeszuordnung, bei den derzeit
vorhandenen Zeilen alles 43 für Deutschland.
Nachteil dieser Tabelle ist, dasz alle Postleitzahlen durch Komma
getrennt in einem Feld stehen, also das Feld plz kann màchtig lang sein.
Ich möchte die Daten nun in eine neue Tabelle überführen und dabei soll
jede Postleitzahl ihr eigenes Feld bekommen und natürlich den
zugehörigen Ortsnamen, die Vorwahl und die Landeskennzahl. Dazu habe ich
mir folgendes Konstrukt zusammen gebaut, was aber, auch in Variationen,
nicht funktioniert, es wird nicht mal der var_dump angezeigt. Ich würde
mich über jede Hilfe freuen.

/* Holen der Daten aus der Tabelle plzort: */
$sql = mysql_query('SELECT * FROM pu_gast77_typo.plzort');

while($dsatz = mysql_fetch_assoc($sql)) { /* links stand auch schon
fetch_array ohne Erfolg */

$plzarray = explode(',', $dsatz('plz');
$ort = $dsatz('ort');
$vorwahl = $dsatz('vorwahl');
$lID = $dsatz('lID');

var_dump($plzarray);

/* Senden der Daten an leh_plzort: */
foreach($plzarray as $i) {
$sqlUp = mysql_query("INSERT INTO pu_gast77_typo.leh_plzort
(
plz,
ort,
vorwahl,
lID
) VALUES (
'" . $i . "',
'" . $ort . "',
'" . $vorwahl . "',
'" . $lID . "'
);");
}

$betrDsatz = mysql_affected_rows();

/* Fehlermeldungen, falls etwas schief laeuft: */
if(!empty($betrDsatz)) $meld = $betrDsatz . ' Daten gesichert,
fertig.<br />';
if(empty($betrDsatz)) $fehler = '<strong>Hehehe, Fehler, Fehler,
Fehler!</strong><br />';

echo $meld . $fehler . $betrDsatz;

}

Mit freundlichen Grüßen Stefan Wowereit
||||42-|||--
 

Lesen sie die antworten

#1 Claus Reibenstein
17/05/2011 - 22:33 | Warnen spam
Stefan Wowereit schrieb:

ich bin php Anfànger und hoffe hier einen Schubs in die richtige
Richtung zu bekommen.



Der erste Schubs: Lass Dir die Fehler anzeigen!

error_reporting(E_ALL);
ini_set('display_errors', 1);

while($dsatz = mysql_fetch_assoc($sql)) { /* links stand auch schon
fetch_array ohne Erfolg */



Was meinst Du mit "ohne Erfolg"? Wurde kein Array geliefert? Fehlermeldung?

$plzarray = explode(',', $dsatz('plz');


¯¯¯¯¯¯¯¯¯¯¯¯¯

Spàtestens hier solltest Du eine Fehlermeldung bekommen: $dsatz ist ein
Array, also muss es $dsatz['plz'] heißen (eckige Klammern!). Außerdem
fehlt da noch eine schließende Klammer.

$ort = $dsatz('ort');
$vorwahl = $dsatz('vorwahl');
$lID = $dsatz('lID');



Auch hier: überall eckige Klammern.

Gruß. Claus

Ähnliche fragen