XML database specifieke foreach ophalen voor pagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Yoran Kuiper

Yoran Kuiper

06/10/2013 10:49:54
Quote Anchor link
Hallo,

Ik hoop dat jullie mij kunnen helpen.

Ik ben bezig met een website, en hiervoor moet ik vanuit de naam (?action=ophalen)

als action=ophalen moet hij alleen uit de xml database alle resultaten waar <service>ophalen</service> klopt, eruit halen, is hiervoor een simpele code of niet?
(heb het hele internet al afgezocht zonder resultaat...)
Gewijzigd op 06/10/2013 11:30:34 door Yoran Kuiper
 
PHP hulp

PHP hulp

17/11/2024 12:01:25
 
- Ariën  -
Beheerder

- Ariën -

06/10/2013 11:37:52
Quote Anchor link
Heb je al naar SimpleXML gekeken? want daarmee kan je heel handig XML-nodes uitlezen. En vergelijken is ook dan erg makkelijk.
 
- SanThe -

- SanThe -

06/10/2013 11:47:32
Quote Anchor link
Zie $_GET en if(). Dit is gewoon basic php.
Kijk ook eens op www.phptuts.nl
 
Yoran Kuiper

Yoran Kuiper

06/10/2013 11:48:58
Quote Anchor link
- SanThe - op 06/10/2013 11:47:32:
Zie $_GET en if(). Dit is gewoon basic php.
Kijk ook eens op www.phptuts.nl


Waaronder moet ik dan zoeken?
 
- Ariën  -
Beheerder

- Ariën -

06/10/2013 11:50:23
Quote Anchor link
Weet je überhaupt al hoe $_GET en if() werken?

Ik zie op die site al dit staan: PHP Beginnershandleiding
 
Yoran Kuiper

Yoran Kuiper

06/10/2013 11:50:34
Quote Anchor link
Yoran Kuiper op 06/10/2013 11:48:58:
- SanThe - op 06/10/2013 11:47:32:
Zie $_GET en if(). Dit is gewoon basic php.
Kijk ook eens op www.phptuts.nl


Waaronder moet ik dan zoeken?


Ik snap dat dat basis is, en dat gedeelte snap ik ook, maar ik weet niet hoe ik het moet integreren in de xml code...
 
- Ariën  -
Beheerder

- Ariën -

06/10/2013 11:53:23
Quote Anchor link
Heb je al gekeken naar SimpleXML? Dan kan je daarmee je hele XML-tree ophalen...
Een grof voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
// laad hier je XML in met SimpleXML
if($xml->service == "ophalen") {
    echo "Correct";
}

?>

Gewijzigd op 06/10/2013 12:33:46 door - Ariën -
 
Yoran Kuiper

Yoran Kuiper

06/10/2013 12:13:00
Quote Anchor link
- Aar - op 06/10/2013 11:53:23:
Heb je al gekeken naar SimpleXML? Dan kan je daarmee je hele XML-tree ophalen...
Een grof voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
// laad hier je XML in met SimpleXML
if($xml->service="ophalen") {
    echo "Correct";
}

?>



Die had ik dus geprobeerd, en deze ook maar als ik hem aanpas (dus else erbij plaats)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$xml
= simplexml_load_file('products.xml');

if ($xml->service="ophalen") {
        echo "Correct";
}

else {
    echo "niet gevonden..";
}

?>

Als ik dan service verander, blijft hij correct echoön...


geeft uit
 
- Ariën  -
Beheerder

- Ariën -

06/10/2013 12:21:19
Quote Anchor link
Wat meldt
echo "<pre>".print_r($xml,1)."</pre>";
Gewijzigd op 06/10/2013 12:23:08 door - Ariën -
 
Yoran Kuiper

Yoran Kuiper

06/10/2013 12:22:43
Quote Anchor link
- Aar - op 06/10/2013 12:21:19:
Wat meldt print_r($xml);


alles wat er in products.xml staat..
 
- Ariën  -
Beheerder

- Ariën -

06/10/2013 12:23:58
Quote Anchor link
Yoran Kuiper op 06/10/2013 12:22:43:
- Aar - op 06/10/2013 12:21:19:
Wat meldt print_r($xml);


alles wat er in products.xml staat..

Laat de output (tussen <pre>, zoals mijn edit) eens zien dan?
Gewijzigd op 06/10/2013 12:24:18 door - Ariën -
 
Yoran Kuiper

Yoran Kuiper

06/10/2013 12:29:53
Quote Anchor link
- Aar - op 06/10/2013 12:23:58:
Yoran Kuiper op 06/10/2013 12:22:43:
- Aar - op 06/10/2013 12:21:19:
Wat meldt print_r($xml);


alles wat er in products.xml staat..

Laat de output (tussen <pre>, zoals mijn edit) eens zien dan?

dit wordt een grote code..

<code>
SimpleXMLElement Object
(
[product] => Array
(
[0] => SimpleXMLElement Object
(
[id] => 1
[name] => hondenbrokken
[merk] => peddingree
[service] => ophalen
[webshop] => SimpleXMLElement Object
(
[description] => lekkah
[price] => 10,00
[artnmmr] => 1234567890
[catagorie] => Dieren
[image] => product_images/huishoudelijk/170697.jpg
)

)

[1] => SimpleXMLElement Object
(
[id] => 2
[name] => hondenbrok
[merk] => peddingree
[service] => ophalen
[webshop] => SimpleXMLElement Object
(
[description] => lekkahah
[price] => 11,00
[artnmmr] => 1234567891
[catagorie] => Dieren
[image] => product_images/huishoudelijk/170697.jpg
)

)

[2] => SimpleXMLElement Object
(
[id] => 3
[name] => hondenbrok
[merk] => peddingree
[service] => ophalen
[webshop] => SimpleXMLElement Object
(
[description] => lekkahdah
[price] => 12,00
[artnmmr] => 1234567892
[catagorie] => Dieren
[image] => product_images/huishoudelijk/170697.jpg
)

)

[3] => SimpleXMLElement Object
(
[id] => 4
[name] => hondenbrokken
[merk] => peddingree
[service] => ophalen
[webshop] => SimpleXMLElement Object
(
[description] => lekkah
[price] => 10,00
[artnmmr] => 1234567890
[catagorie] => Dieren
[image] => product_images/huishoudelijk/170697.jpg
)

)

[4] => SimpleXMLElement Object
(
[id] => 5
[name] => hondenbrok
[merk] => peddingree
[service] => ophalen
[webshop] => SimpleXMLElement Object
(
[description] => lekkahah
[price] => 11,00
[artnmmr] => 1234567891
[catagorie] => Dieren
[image] => product_images/huishoudelijk/170697.jpg
)

)

[5] => SimpleXMLElement Object
(
[id] => 6
[name] => hondenbrok
[merk] => peddingree
[service] => ophalen
[webshop] => SimpleXMLElement Object
(
[description] => lekkahdah
[price] => 12,00
[artnmmr] => 1234567892
[catagorie] => Dieren
[image] => product_images/huishoudelijk/170697.jpg
)

)

[6] => SimpleXMLElement Object
(
[id] => 7
[name] => hondenbrokken
[merk] => peddingree
[service] => ophalen
[webshop] => SimpleXMLElement Object
(
[description] => lekkah
[price] => 10,00
[artnmmr] => 1234567890
[catagorie] => Dieren
[image] => product_images/huishoudelijk/170697.jpg
)

)

[7] => SimpleXMLElement Object
(
[id] => 8
[name] => hondenbrok
[merk] => peddingree
[service] => ophalen
[webshop] => SimpleXMLElement Object
(
[description] => lekkahah
[price] => 11,00
[artnmmr] => 1234567891
[catagorie] => Dieren
[image] => product_images/huishoudelijk/170697.jpg
)

)

[8] => SimpleXMLElement Object
(
[id] => 9
[name] => hondenbrok
[merk] => peddingree
[service] => ophalen
[webshop] => SimpleXMLElement Object
(
[description] => lekkahdah
[price] => 12,00
[artnmmr] => 1234567892
[catagorie] => Dieren
[image] => product_images/huishoudelijk/170697.jpg
)

)

[9] => SimpleXMLElement Object
(
[id] => 10
[name] => hondenbrokken
[merk] => peddingree
[service] => ophalen
[webshop] => SimpleXMLElement Object
(
[description] => lekkah
[price] => 10,00
[artnmmr] => 1234567890
[catagorie] => Dieren
[image] => product_images/huishoudelijk/170697.jpg
)

)

[10] => SimpleXMLElement Object
(
[id] => 11
[name] => hondenbrok
[merk] => peddingree
[service] => ophalen
[webshop] => SimpleXMLElement Object
(
[description] => lekkahah
[price] => 11,00
[artnmmr] => 1234567891
[catagorie] => Dieren
[image] => product_images/huishoudelijk/170697.jpg
)

)

[11] => SimpleXMLElement Object
(
[id] => 12
[name] => hondenbrok
[merk] => peddingree
[service] => ophalen
[webshop] => SimpleXMLElement Object
(
[description] => lekkahdah
[price] => 12,00
[artnmmr] => 1234567892
[catagorie] => Dieren
[image] => product_images/huishoudelijk/170697.jpg
)

)

)

[service] => ophalen
)
</code>
Gewijzigd op 06/10/2013 12:30:24 door Yoran Kuiper
 
- SanThe -

- SanThe -

06/10/2013 12:30:22
Quote Anchor link
@Aar: Laat geworden gisteren?

if ($xml->service="ophalen") {
= moet zijn ==
if ($xml->service=="ophalen") {
 
- Ariën  -
Beheerder

- Ariën -

06/10/2013 12:33:12
Quote Anchor link
Aaarch :P

Verder moet er natuurlijk ook aangegeven worden in welke node er moet worden gecontroleerd op 'ophalen'.
 
Yoran Kuiper

Yoran Kuiper

06/10/2013 12:34:51
Quote Anchor link
<code>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$catagorie
= $xml->catagorie;

if($xml->catagorie==$_GET['cat']) {

foreach ($xml->product as $product) {
    echo '<div class="product_box">';
                echo '<h3>'.$product->name.'</h3>';
foreach ($product->webshop as $webshop) {
            echo '<img src="'.$webshop->image.'" /><br />';
                }

foreach ($product->webshop as $webshop) {
               echo $webshop->description;
                }

foreach ($product->webshop as $webshop) {
               echo '<p class="product_price">'.$webshop->price.'</p>';
                }
            
               echo '<a href="shoppingcart.php?action=add&id='.$product->id.'" class="addtocart"></a>';
               echo '<a href="product.php?id='.$product->id.'" class="detail"></a>';
      echo '</div>';
        }
}

else {
    echo "Je hebt geen catagorie gekozen!";
}

?>

</code>

dit moet in iedergeval gaan werken...

Toevoeging op 06/10/2013 13:05:21:

- Aar - op 06/10/2013 12:33:12:
Aaarch :P

Verder moet er natuurlijk ook aangegeven worden in welke node er moet worden gecontroleerd op 'ophalen'.

Zie jij wat er fout is aan het boven aangegeven script? ik zie het namelijk niet...



Toevoeging op 06/10/2013 14:11:30:

$xml = simplexml_load_file('products.xml');

// 1 van de producten, inclusief naam en dergelijken eruit halen!
echo ' deze '.$xml->product[0]->catagorie.' zijn gemaakt door '.$xml->product[0]->merk.'<br>';

Het gedeelte '.$xml->product[0]->catagorie.' wilt niet werken... heel vreemd

Toevoeging op 06/10/2013 15:27:49:

Dat probleem is nu dus ook opgelost, zit nu alleen nog dattie ze niet weergeeft...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
if($xml->product->categorie==$_GET['cat']) {

foreach ($xml->product as $product) {
                echo '<div class="product_box">';
                echo '<h3>'.$product->name.'</h3>';
                echo '<img src="'.$product->image.'" /><br />';
                echo $product->description;
                echo '<p class="product_price">'.$product->price.'</p>';        
                echo '<a href="shoppingcart.php?action=add&id='.$product->id.'" class="addtocart"></a>';
                echo '<a href="product.php?id='.$product->id.'" class="detail"></a>';
                echo '</div>';
        }
}

else {
                echo "Je hebt geen categorie gekozen!";
}

?>


hij blijft sturen, Je hebt geen Categorie gekozen!..

Toevoeging op 06/10/2013 15:43:41:

Okee, ik ben weer een stukje verder, hij weergeeft nu alles zoals het hoort, maar... hij doet dit dus alleen bij 1 pagina, ik heb één een andere categorie gegeven, en hij zet het niet in de andere pagina... iemand idee hoe dit te veranderen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
if($xml->product->categorie==$_GET['cat']) {

foreach ($xml->product as $product) {
                echo '<div class="product_box">';
                echo '<h3>'.$product->name.'</h3>';
                echo '<img src="'.$product->image.'" /><br />';
                echo $product->description;
                echo '<p class="product_price">'.$product->price.'</p>';        
                echo '<a href="shoppingcart.php?action=add&id='.$product->id.'" class="addtocart"></a>';
                echo $product->id;                
                echo '<a href="product.php?id='.$product->id.'" class="detail"></a>';
                echo $product->categorie;
                echo '</div>';
        }
}

else {
                echo "Je hebt geen categorie gekozen!";
}

?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.