Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP | SimpleXML] Aktualizacja/Wyswietlanie nodów
Forum PHP.pl > Forum > PHP
fafiktheking
Witam,
Dotychczas pracowałem tylko na MySQL'u. Od niedawna ucze sie XML'a. Chciałbym zrobić za pomocą SimpleXML dokładnie to samo co w artykule: http://wortal.php.pl/wortal/artykuly/php/p...usuwanie_danych.

Krotko mowiac - wylistowac elementy do tabeli i umiescic przyciski Usun/Update przy kazdym rekordzie.

W powyzszym tutorialu wszystko odbywa sie za pomoca $id=$_GET['id'] oraz update.php?id='.$row['id'].
Do tej pory żeby wyświetlić zawartość konkretnego NODA używałem foreach. I zastanawiam się czy nie lepiej uzyc while albo for.
Czy zmiana petli pomoże.
blooregard
Zmiana pętli nie ma znaczenia.
Pętla ma za zadanie powtórzyć blok kodu x razy i nie ma związku z kodem, który się w niej wykonuje (poza warunkiem wykonania).
fafiktheking
Oczywiscie ze petla powtarza pewien blok. ale w odwolaniu do kokretnego child'a np:
Uzywając petli for badz while mozna uzyć $i w wyrazeniu: $xml->xpath('eventserieses/eventseries[$i]/events/event') i moze troche pomoc.
tehaha
w każdej pętli możesz umieścić taką zmienną $i , i nadać jej inkrementację w trakcie pętli
fafiktheking
chodzi mi konkretnie jak stworzyc link analogiczny do tego:
update.php?id='.$row['id']....



udało mi się pobrać numer noda za pomocą pętli for
  1. for($i; $i<= $count; $i++) {
  2. echo '<a href="'.$eventseries[$i]->url.'" target="_blank">'.$eventseries[$i]->title.'</a><br />';
  3. echo '<a href="java script: void(0)" onclick="window.open(\'info.php?id='.$i.'\', \'windowname1\', \'width=600, height=450\'); return false;">Update</a><br />';

ale do wyświetlenia uzywam:

  1. $xml = simplexml_load_file('large_3.xml');
  2. $a = $_GET["id"];
  3. echo $a;
  4. echo $xml->eventserieses->eventseries[$a]->text;


echo jest po to zeby sprawdzic czy pobiera prawidłowy numer noda - i działa ale nie wiem dlaczego nic nie wyświetla kiedy $a próbuje użyć w składni. Jeżeli zamiast $a użyję numeru np. 2 wszystko działa.

Rozwiązałęm problem. Wartość $i była pobierana jako string. Trzeba było zrobić konwersję typu

  1. $a = $_GET["id"];
  2. settype($a, "integer");
  3. echo $xml->eventserieses->eventseries[$a]->title;
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.