J'ai une foreach et puis une foreach à l'intérieur d'une foreach. Le premier foreach semble fonctionner correctement et je n'ai pas d'erreurs php. Cependant, dans chaque boucle foreach suivante, j'obtiens une erreur Message: Undefined property: stdClass::$filename
(remplacez le nom de fichier par chaque identificateur unique). Quelqu'un peut-il m'aider et me dire ce que je fais mal? MerciForeach boucles à l'intérieur foreach boucles me donnant des problèmes dans codeigniter
if($query = $this->db->get()){
foreach ($query->result() as $row)
{
$textable = $row->text_table;
}
$this->db->distinct('filename');
$this->db->select('location');
$this->db->from('TranslateData');
if($query1 = $this->db->get()){
foreach($query1->result() as $row1){
$this->db->select('string_id');
$this->db->select($textable);
$this->db->where('filename', $row1->filename);
$this->db->from('TranslateData');
$query2 = $this->db->get();
$xml = '<?xml version="1.0" encoding="utf-8" ?>'.PHP_EOL;
$xml .= '<data>'.PHP_EOL;
foreach($query2 as $row2){
$xml .= '<item>'.PHP_EOL;
$xml .= ' <name>'.$row2->string_id.'</name>'.PHP_EOL;
$xml .= ' <copy><![CDATA['.$row2->$textable.']]></copy>'.PHP_EOL;
$xml .= '</item>'.PHP_EOL;
}
$xml .= '</data>'.PHP_EOL;
$path = str_replace('/', '', $row1->location);
$this->save_xml($path, $row1->filename, $xml);
}
}
}
Cela ne semble pas être défini '$ row1-> filename', essayez' var_dump ($ row1) 'pour voir le contenu de cela. – RobertPitt
Robert m'a battu à ça. Je déconseille de construire XML comme ça aussi. Essayez et utilisez quelque chose comme DomDocument de PHP5 –
DomDocument est le moyen idéal pour construire des documents Xml, idéal pour la validation et l'assainissement. – RobertPitt