dateisalat in mysql einpflegen

Hoi, nachdem ich etliche Stunden vergeblich am tüfteln war, bleibt mir nun der letzte Ausweg. Also es geht sich um folgendes:

[CODE]-

  • [/CODE]

Das will ich sauber inne sql db einarbeiten. Meine Versuche, es als .xml zu speichern klappt auch halbwegs aber ich bleib immer hängen.
In Kurzform:

[PHP]<?php $xml = simplexml_load_file("uni.xml"); #var_dump($xml->universe->sector->planet) print_r($xml->universe->sector->planet) ?>[/PHP]

Allerdings bekomm ich den Rest nicht gefasst mit ->ID oder ->Name etc.
Mein Ziel ist später eine Art Datenbank zu machen um verschiedene Daten anzeigen zulassen, aber erstmal muss ich das ganze in die DB bekommen :frowning:
Meine versuche als .txt schlugen auch fehl, da es nur eine fortlaufende Zeile ist und ich mit den Parametern nicht die Sache greifen kann die ich will.

Kann mir jemand auf die Sprünge helfen? Ich hab son etliche Hilfe Seiten nachgeschaut, aber mir fehlt da immer was :S

Danke schonmal im Vorraus :slight_smile:

Siehe: PHP: SimpleXMLElement::attributes - Manual

hat geklappt, nun stehe ich vor dem nächsten problem >.<

[PHP]<?php
include ‚aktuell.php‘;
$xml = simplexml_load_file(‚uni.xml‘);
$tabs = array(„id“,„name“,„class“,„coords“,„user_id“,„user_name“,„alli_id“,„alli_tag“);

$q_cnt = count($xml->universe->sector);
for($j = 0; $j < $q_cnt; $j++)
{
$planet = $xml->universe->sector[$j]->planet->attributes();
$p_cnt = count($xml->universe->sector->planet);
for($i = 0; $i < $p_cnt; $i++)
{
$planet = $xml->universe->sector[$j]->planet[$i]->attributes();
foreach($planet as $key => $value)
{
$array = array ($key,$value);
if (in_array($tabs[3], $array)) {
if (strlen($array[1]) == 3) {
$new_string = substr_replace($array[1], ‚00-0‘, 0, 0);
$last_string = substr_replace($new_string, ‚-‘, -2, -2);
} elseif (strlen($array[1]) == 4) {
$new_string = substr_replace($array[1], ‚00-‘, 0, 0);
$last_string = substr_replace($new_string, ‚-‘, -2, -2);
} elseif (strlen($array[1]) == 5) {
$new_string = substr_replace($array[1], ‚0‘, 0, 0);
$new_string2 = substr_replace($new_string, ‚-‘, -4, -4);
$last_string = substr_replace($new_string2, ‚-‘, -2, -2);
} elseif (strlen($array[1]) == 6) {
$new_string = substr_replace($array[1], ‚-‘, -4, -4);
$last_string = substr_replace($new_string, ‚-‘, -2, -2);
}
$sql_string_coords = $last_string;
#echo

“,$array[0],': ‚,$last_string;		//Coords
} if (in_array($tabs[2], $array)) {
if ($array[1] <= 2) {
$last_string2 = „A“;
} elseif ($array[1] <= 9) {
$last_string2 = „B“;
} elseif ($array[1] <= 12) {
$last_string2 = „C“;
} elseif ($array[1] <= 18) {
$last_string2 = „D“;
} elseif ($array[1] <= 24) {
$last_string2 = „E“;
} elseif ($array[1] <= 31) {
$last_string2 = „F“;
}
$sql_string_class = $last_string2;
#echo
“,$array[0],‘: ‚,$last_string2;		//Class
} if (in_array(‚id‘, $array)) {
$sql_string_pid = $array[1];
#echo
“,$array[0],‘: ‚,$array[1];			//Planet_ID	
} if (in_array(‚name‘, $array)) {
$sql_string_name = $array[1];
#echo
“,$array[0],‘: ‚,$array[1];   		//Name
} if (in_array(‚user_id‘, $array)) {
$sql_string_userid = $array[1];
#echo
“,$array[0],‘: ‚,$array[1];			//User_ID
} if (in_array(‚user_name‘, $array)) {
$sql_string_usernick = $array[1];
#echo
“,$array[0],‘: ‚,$array[1];			//User_Name
} if (in_array(‚alli_id‘, $array)) {
$sql_string_alliid = $array[1];
#echo
“,$array[0],‘: ‚,$array[1];			//Alli_ID
} if (in_array(‚alli_tag‘, $array)) {
$sql_string_allitag = $array[1];
#echo
“,$array[0],‘: ',$array[1];   		//Alli_TAG
}
$sql = „INSERT INTO evil.liste (
ID,
Planet_ID,
Name,
Class,
Coords,
User_ID,
User_Name,
Alli_ID,
Alli_Tag,
Datum)
VALUES (
NULL,
‚$sql_string_pid‘,
‚$sql_string_name‘,
‚$sql_string_class‘,
‚$sql_string_coords‘,
‚$sql_string_userid‘,
‚$sql_string_usernick‘,
‚$sql_string_alliid‘,
‚$sql_string_allitag‘,
CURRENT_TIMESTAMP);“;
$add_sql = mysql_query($sql) or die("Anfrage fehlgeschlagen: " . mysql_error());

			} 
	}	

}
?>[/PHP]

So siehts inner DB aus. (Zwischen den if schleifen gibt er die werte richtig aus, aber da kann ich die sql anfrage nich einsetzen) bräuchte noch nen Tipp :roll:

http://img682.imageshack.us/img682/7660/12281334.th.jpg

Es gibt keine if-Schleifen. Es gibt höchstens if-Bedingungen.

Was genau ist jetzt das Problem?

na das der alles doppelt und dreifach schreibt
weiss nich wie ich es genau beschreiben soll, daher der screen mit der db

die dinger nennt man dann while → PHP: goto - Manual

hat einer eine idee? oder könnte sich den code mal genauer anschauen?