Hallo Communtiy,
ich stehe grade voll auf dem Schlauch, vielleicht kennt sich da jemand adhoc mit aus und kann mir helfen?
Am besten beschreibe ich mal was ich gemacht habe und was es nicht macht. Als erstes wird diese Funktion ausgeführt, die als Rückgabewert ein Array mit den verarbeiteten CSV Daten hat:
.
Danach wird diese Funktion ausgeführt die die Daten verheinheitlichen soll:
.
Das funktioniert auch soweit alles, aber ich hänge an der "id" und dem "product_image". Irgendwie will es die id nicht setzen in das Array und auch den Link nicht den Wert aus dem Ursprungsarray zuweisen.
Es sieht so aus:
Soll aber so aussehen:
Mit XML kein Problem bisher. Die dazugehörigen Fehlermeldungen:
Warum werden "id" und "product_image" nicht eingelesen? Ist "id" eine PHP Schlüsselwort und hat "product_image" Probleme weil ein Link hinterlegt ist? Kapiers grade nicht? Wer hat damit Erfahrungen oder ein Idee die mir weiterhelfen könnte, bitte?
ich stehe grade voll auf dem Schlauch, vielleicht kennt sich da jemand adhoc mit aus und kann mir helfen?
Am besten beschreibe ich mal was ich gemacht habe und was es nicht macht. Als erstes wird diese Funktion ausgeführt, die als Rückgabewert ein Array mit den verarbeiteten CSV Daten hat:
PHP-Code:
public function csv_object($csv_file, $delimiter=';'){
if(!file_exists($csv_file) || !is_readable($csv_file)){
return FALSE;
}
$header="";
$rows=file($csv_file);
foreach($rows as $row){
$values=str_getcsv($row,';','"','\\');
if(!$header){
$header=$values;
}else{
$this->data_array[]=array_combine($header,$values);
}
}
return $data_array=$this->data_array;
}
Danach wird diese Funktion ausgeführt die die Daten verheinheitlichen soll:
PHP-Code:
public function load_products_array(){ //Frage: Wiese geht "id" imd "image_link" nicht als Schlüssel?
$data_array=$this->csv_object($this->csv_file);
foreach($data_array as $key=>$value){
$this->set_id($value["id"]); // setzt doublequotes
$this->set_title($value["manufacturer"]);
$this->set_description($value["name"]);
$this->set_image_link($value["product_image"]); // setzt Link nicht
$this->set_price($value["price"]);
$products_array[]=array("id"=>$this->get_id(),
"title"=>$this->get_title(),
"description"=>$this->get_description(),
"image_link"=>$this->get_image_link(),
"price"=>$this->get_price());
}
$this->set_products_array($products_array);
return $this->get_products_array();
}
Das funktioniert auch soweit alles, aber ich hänge an der "id" und dem "product_image". Irgendwie will es die id nicht setzen in das Array und auch den Link nicht den Wert aus dem Ursprungsarray zuweisen.
Es sieht so aus:
... [32] => Array ( [id] => [title] => GOODYEAR [description] => SONAR SX-608 195/60 R14 86 H [image_link] => [price] => 30.25 ) ...
... [32] => Array ( [id] => 132438 [title] => BRIDGESTONE [description] => RIGDON 780 175/65 R13 80 Q [image_link] => http://xxxxx.xxxxx.de/images/tyre/...0-h300-br1.jpg [price] => 25.75 ) ...
Code:
Notice: Undefined index: id in /srv/dev-disk-by-path-pci-0000-00-0b.0/bib/testcase/inc/csv/CSV.inc.php on line 120 Notice: Undefined index: product_image in /srv/dev-disk-by-path-pci-0000-00-0b.0/bib/testcase/inc/csv/CSV.inc.php on line 123.
Kommentar