DB bearbeiten

Opul

Mitglied
Hi,
ich habe eine DB, aus der ich jeden Tag Daten (die ein bestimmtes Datum enthalten) verändern und wieder zurückschreiben will (Die Funktion hab ich schon). Wie stelle ich es am einfachsten an, dass die Funktion für jedes Feld angewandt wird, dass das Datum enthält?
 
Sry, hab mich unklar ausgedrückt.
Ich will aus einer DB Daten - die ein bestimmtes Datum enthalten - verändern (z.B. Teststr. 6 / Teststadt 66666 Germany in Teststr. 6 66666 Teststadt, Germany). In den Aufbau der DB hab ich keinen Einfluss, ich bekomme die Daten als CSV-Datei und importiere sie dann in eine DB..
Mein Problem ist, dass ich im Moment die Daten gelistet bekomme, ohne dass explode oder implode ausgeführt werden. Woran kann das liegen? Gibt es vielleicht auch die Möglichkeit, die CSV-Datei direkt zu editieren?
Ich will die Daten in Outlook importieren und dazu brauch ich die Reihenfolge Strasse, PLZ, Ort, Land.

PHP:
mysql_connect ("xxx");
mysql_select_db ("xxx") OR die("Verbindung zur Datenbank fehlgeschlagen");
$sql="SELECT Address
    FROM test
    WHERE Signup='".$date."'";
$result= mysql_query($sql) or die(mysql_error());
if (!$result) {
   echo "Anfrage ($sql) konnte nicht ausgeführt werden : " . mysql_error();
   exit;
}
if (mysql_num_rows($result) == 0) {
   echo "Keine Zeilen gefunden, Abbruch";
   exit;
}
while ($row = mysql_fetch_assoc($result)) {
$string = $row["Address"];
explode(' / ', $string);
echo $string;
echo "<br>";
 
Zuletzt bearbeitet:
Hi, bin ein Stück weitergekommen.
PHP:
<?PHP
$date="09-Feb-2004";
mysql_connect ("xxx");
mysql_select_db ("xxx") OR die("Verbindung zur Datenbank fehlgeschlagen");
$sql="SELECT Address
    FROM test
    WHERE Signup='".$date."'";
$result= mysql_query($sql) or die(mysql_error());
if (!$result) {
   echo "Anfrage ($sql) konnte nicht ausgeführt werden : " . mysql_error();
   exit;
}
if (mysql_num_rows($result) == 0) {
   echo "Keine Zeilen gefunden, Abbruch";
   exit;
}
while ($row = mysql_fetch_assoc($result)) {
$string = $row["Address"];

echo "<br>Vorher: ".$string."<br>";

$old_string = explode(" / ",$string);

$new_string = "";
$old_string[1] = explode(" ",$old_string[1]);

$new_string .= $old_string[0]." ".$old_string[1][count($old_string[1])-1];
for($i=0; $i<count($old_string[1])-1; $i++) $new_string .= " ".$old_string[1][$i];


echo "Nachher: ".$new_string;
echo "<br>";
}
?>
Als Ergebnis erhalte ich Teststr. 6 66666 Germany Teststadt.
Irgendwie raff ich es nicht, dass ich als Ausgabe Teststr. 6 6666 Teststadt Germany erhalte. Habt Ihr einen Tip für mich?
THX im voraus.
 
Sorry ich find mich jetzt net in deinen Code rein, aber ich würd mir es wesentlich einfacher machen. Wenn du eine Adresse in die Datenbank einträgst, einfach für jeden Teil eine Extraspalte nehmen.. also "Str" "Hausnr" "Ort", etc. und diese dann auslesen... so würde ichs jedenfalls machen.
Falls du eine Lösung mit deinem Code willst, musst wohl noch warten ;)

Gruß
Thomas
 
Servus reddi, wenn ich Einfluss auf den Aufbau der DB hätte, würd ich das Teil komplett anders einrichten. Ich krieg die Daten als CSV-Datei und muss mit dem Krempel klarkommen. Die Daten brauche ich dann für den Import in Outlook. Wenn Du eine Idee hast, wie ich es mir einfacher machen kann, bin ich für jeden Tip dankbar.
 
Oh sorry, ich hab deinen oberen Post nicht gelesen.
Ok wenn das so aussieht, geht es wohl wirklich nur mit explode.
Also dein String ist im Format: Str. Hausnr / Stadt Plz (Steht oben ein bisschen unklar) ?
Wenn ich das Format genau wüsste, könnt ich genau schauen was falsch ist.
 
Zurück