Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: DOMDocument - problem z appendChild
Forum PHP.pl > Forum > PHP
kacpero1094
Mam taki kod:
  1. $doc=new DOMDocument("1.0","UTF-8");
  2. $doc->formatOutput=true;
  3. $ul[]=$doc->appendChild($doc->createElement("ul"));
  4. $ul[]=$doc->appendChild($doc->createElement("ul"));
  5. $ul[]=$doc->appendChild($doc->createElement("ul"));
  6. while ($row=mysql_fetch_assoc($sql) {
  7. $li=$ul[$i]->appendChild($doc->createElement("li")); //tutaj jest błąd
  8. $a=$li->appendChild($doc->createElement("a"));
  9. $a->setAttribute("href","/company/" . $row['url']);
  10. $text=$a->appendChild($doc->createTextNode($row['name']));
  11. $e++;
  12. if ($e==4) { $i++; $e=0; }
  13. }

I dostaję taki błąd w linii z komentarzem:
Call to a member function appendChild() on a non-object
Nie mam pojęcia co się stało. Kiedy ten kod był wewnątrz funkcji w klasie, wszystko było ok.
erix
To może pokaż kod tamtej klasy?
kacpero1094
  1. public function getCompanies($where=null,$order="acc_type=desc,reg_date=desc") {
  2. $query="SELECT * FROM `company` WHERE `category` LIKE '" . $this->category . "' ";
  3. if (!empty($where)) {
  4. $query.=$where . " ";
  5. }
  6. $query.="ORDER BY " . SQLOrder($order);
  7. if ($this->limit>0) {
  8. $query.=" LIMIT " . $this->limit;
  9. }
  10. $sql=mysql_query($query);
  11. //tutaj był ten kod i return $doc->saveXML()
  12. return $sql;
  13. }
erix
Chyba coś jeszcze zjadłeś, ale mniejsza o to:
  1. $li=$ul[$i]->appendChild($doc->createElement("li")); //tutaj jest błąd

Skąd $i bierzesz?
kacpero1094
Wcześniej było przed pętlą while, ale to nic nie zmieniało.
Było tak:
  1. $i=0;
  2. $e=0;
  3. while ($row=mysql_fetch_assoc($sql)) { //......
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.