ebiz-webhosting
- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 14-04-2005, 14:08
Claus
 Newbie
Links : Onlinestatus : Claus ist offline
Registriert seit: Jul 2001
Ort: Muncih
Beiträge: 88
Claus ist zur Zeit noch ein unbeschriebenes Blatt
Standard xml -> sql

Servus,
krieg es mit dem xml nicht auf die Reihe.
Versuche mit folgendem script die Daten in die db zu schreiben.
Bei der Ausgabe wird aber nur der letzte Datensatz angezeigt.
Und er wird noch nicht einmal in die Tabelle eingefügt. Bin schon betriebsblind - vielleicht sieht einer mehr.
PHP-Code:
<?
$file 
"2784_2005-03-31_02-02-13.xml";
$feed = array();
$key "";
$info "";

function 
startElement($xml_parser,  $attrs ) {
  global 
$feed;
   }

function 
endElement($xml_parser$name) {
  global 
$feed,  $info;
   
$key $name;
  
$feed[$key] = $info;
  
$info ""; }

function 
charData($xml_parser$data ) {
  global 
$info;
  
$info .= $data; }

$xml_parser xml_parser_create();
xml_set_element_handler($xml_parser"startElement""endElement");
xml_set_character_data_handler($xml_parser"charData" );
$fp fopen($file"r");
while (
$data fread($fp8192))
!
xml_parse($xml_parser$datafeof($fp));
xml_parser_free($xml_parser);

$sql"INSERT INTO `my_table` ( `";
$j=0;
$i=count($feed);
foreach( 
$feed as $assoc_index => $value )
  {
  
$j++;
  
$sql.= strtolower($assoc_index);
  if(
$i>$j$sql.= "` , `";
  if(
$i<=$j) {$sql.= "` ) VALUES ('";}
  }
 
$h=0;
foreach( 
$feed as $assoc_index => $value )
  {
  
$h++;
  
$sql.= utf8_decode(trim(addslashes($value)));
  if(
$i-1>$h$sql.= "', '";
  if(
$i<=$h$sql.= "','')";
  }
  
$sql=trim($sql);
  echo 
$sql;
?>

Geändert von Claus (14-04-2005 um 14:20 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 14-04-2005, 14:11
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

nicht ohne die php-tags
Mit Zitat antworten
  #3 (permalink)  
Alt 14-04-2005, 14:13
Claus
 Newbie
Links : Onlinestatus : Claus ist offline
Registriert seit: Jul 2001
Ort: Muncih
Beiträge: 88
Claus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

...I'm so sorry
Mit Zitat antworten
  #4 (permalink)  
Alt 14-04-2005, 14:16
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

beweise es
Mit Zitat antworten
  #5 (permalink)  
Alt 14-04-2005, 14:21
Claus
 Newbie
Links : Onlinestatus : Claus ist offline
Registriert seit: Jul 2001
Ort: Muncih
Beiträge: 88
Claus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

...jawohl boss
Mit Zitat antworten
  #6 (permalink)  
Alt 14-04-2005, 14:25
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wun-der-bar.

was ist denn mit testausgaben? wo genau klappt's denn nicht?
Mit Zitat antworten
  #7 (permalink)  
Alt 14-04-2005, 14:36
Claus
 Newbie
Links : Onlinestatus : Claus ist offline
Registriert seit: Jul 2001
Ort: Muncih
Beiträge: 88
Claus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

... echo $sql am Ende gibt nur den letzten Datensatz der xml-Datei aus:

INSERT INTO `energia_vital` ( `merchantcategory` , `cat` , `mappingcategories` , `mfname` , `mfpn` , `name` , `brand` , `description` , `promotiontext` , `parameter`....

Scheint also an der Schleife zu hapern.
Es sollte dann aber wenigstens der Datensatz eingetragen werden - macht er aber auch nicht.
Mit Zitat antworten
  #8 (permalink)  
Alt 14-04-2005, 14:44
marc75
 PHP Senior
Links : Onlinestatus : marc75 ist offline
Registriert seit: Jul 2003
Ort: daheim
Beiträge: 1.366
marc75 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

schonmal was von mysql_error() gehört?

und meinste das funktioniert so wie du gedacht hast?
PHP-Code:
  while ($data fread($fp8192))
!
xml_parse($xml_parser$datafeof($fp));
xml_parser_free($xml_parser);

$sql"INSERT INTO `my_table` ( `"
__________________
mfg
marc75

<Platz für anderes>
Mit Zitat antworten
  #9 (permalink)  
Alt 14-04-2005, 14:56
Claus
 Newbie
Links : Onlinestatus : Claus ist offline
Registriert seit: Jul 2001
Ort: Muncih
Beiträge: 88
Claus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

...mysql_error() sagt nichts

Und was das Andere betrifft: Siehst du was, was ich nicht sehe

go and get my glasses
Mit Zitat antworten
  #10 (permalink)  
Alt 14-04-2005, 15:05
marc75
 PHP Senior
Links : Onlinestatus : marc75 ist offline
Registriert seit: Jul 2003
Ort: daheim
Beiträge: 1.366
marc75 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
//kann mich irren aber die while wiederholt nur die erste zeile

while ($data fread($fp8192))
!
xml_parse($xml_parser$datafeof($fp));
xml_parser_free($xml_parser);
//mach hier mal eine Testausgabe, und schau selbst
echo 123//beispiel 
danach gehe zu php.net und schaue unter while
__________________
mfg
marc75

<Platz für anderes>
Mit Zitat antworten
  #11 (permalink)  
Alt 14-04-2005, 15:11
Claus
 Newbie
Links : Onlinestatus : Claus ist offline
Registriert seit: Jul 2001
Ort: Muncih
Beiträge: 88
Claus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

...hab auch gerade gesehen, dass nach while die { fehlt.
Jetzt werden alle Datensätze angezeigt.

PHP-Code:
INSERT INTO energia_vital ( `merchantcategory` , `cat` , ...'' )
VALUES ('Pflanzenextrakte''958''''''''Beschreibun€''''', ...'''http://....137.jpg''''6.95''',''
Dafür krieg ich jetzt ne Fehlermeldung
Warning: xml_parse(): 3 is not a valid XML Parser resource in
Und in die db wird auch nichts geschrieben - shit

Geändert von Claus (14-04-2005 um 15:13 Uhr)
Mit Zitat antworten
  #12 (permalink)  
Alt 14-04-2005, 15:19
LJedi
 Registrierter Benutzer
Links : Onlinestatus : LJedi ist offline
Registriert seit: Feb 2005
Beiträge: 59
LJedi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Und in die db wird auch nichts geschrieben
vielleicht bin ich ja blind, aber ich seh auch nirgends in deinem Code einen Versuch in eine DB zu schreiben
__________________
...und wieder hat sich die Welt weitergedreht...
Mit Zitat antworten
  #13 (permalink)  
Alt 14-04-2005, 15:21
Claus
 Newbie
Links : Onlinestatus : Claus ist offline
Registriert seit: Jul 2001
Ort: Muncih
Beiträge: 88
Claus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

...nein du bist nicht blind - habs gerade eingefügt
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

E-Mail-Coder Generator ansehen E-Mail-Coder Generator

E-Mail-Coder Generator, komplett in deutscher Sprache. Mit diesem Generator können Sie Ihre E-Mail-Adresse codieren und so gegenüber Spidern schützen.

23.05.2012 fullmedia | Kategorie: PHP/ Mail
EMO Realty Manager ansehen EMO Realty Manager

EMO Realty Manager is a complete realty listing management solution software. It is easily customized to reflect your creativity whether you are starting from scratch or integrating into an existing web site. EMO Realty Manager can be used to promote re

23.05.2012 myrephp | Kategorie: PHP/ Anzeigenmarkt
MatPo Image Hosting Script ansehen MatPo Image Hosting Script

Mit diesem PHP-Script (mini CMS) kann man .jpg, .gif und .png-Dateien auf den Server laden. Bildergröße beim Hochladen änderbar sowie eine Beschreibung zum Bild angegeben werden kann. Damit das Webspace nicht missbraucht werden kann gibt es jetzt auch

23.05.2012 MatPo | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:54 Uhr.