Database connectie met xml files
Heb me zojuist aangemeld op dit forum omdat ik graag wat hulp wil bij het maken van een connectie met een xml bestand.
Zelf heb ik niet heel veel ervaring met PHP maar begin het te leren (basis dingen).
Zelf heb ik wat xml bestanden in een map staan, in de xml bestanden staan verschillende gegevens.
Nu wil ik als men op een link klikt dat er data uit een xml bestand word gehaald.
De xml bestanden zijn genummerd:
100
1000
10000
enz.
stel ik geef in een link de nummering van de juiste xml file mee hoe kan ik er dan voor zorgen dat er connectie word gemaakt en dat de data uit de xml file word weergegeven?
Wie o wie kan mij hiermee opweg helpen? Dat zou top zijn!
Groetjes Jop
dank voor de link!
Echter kom ik er niet goed uit als ik mijn file's erbij pak.
De file structuur wat ik heb is:
Code (php)
1
2
3
4
5
2
3
4
5
<?xml version="1.0" encoding="UTF-8"?>
<book>
<book_titel>book 1</book_titel>
<book_gerne>Drama</book_gerne>
</book>
<book>
<book_titel>book 1</book_titel>
<book_gerne>Drama</book_gerne>
</book>
Stel de file naam is: book1.xml
hoe maak ik php duidelijk met een id code dat hij dan book1 moet laden?
bijvoorbeeld:
Link 1: www.boeken.com/index.php?book=book1
Laad book1.xml
link 2: www.boeken.com/index.php?book=book2
Laad book2.xml
enz.
de boeken staan dan in de root --map--> data--map-->books
Groetjes Jop
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Alvast bedankt!
Alvast bedankt!
Gewijzigd op 11/04/2014 11:30:11 door - Ariën -
if($book->title == $_GET['book']) {
Gewijzigd op 11/04/2014 11:35:06 door - Ariën -
ik hoef dus nu alleen maar een link te maken:
www.boeken.com/index.php?book=book1
www.boeken.com/index.php?book=book2
enz.
als ik dan de genre wil laten echo-en kan ik zoiets als dit doen:
Gr. Jop
Uit Aar's voorbeeld en jouw reactie begrijp ik dat je een deel uit een reeds ingeladen XML wilt weergeven.
Dat klopt, zoals ik boven aan heb gegeven heb ik meerdere xml bestanden.
Deze zijn genummerd:
book1.xml
book2.xml
book3.xml
enz.
Als ik pagina heb waar links opstaan wil ik dat de php code de juiste file pak en daarvan de informatie toont.
bijvoorbeeld:
www.boeken.com/index.php?book=book1
nu is het de bedoeling dat hij book1.xml laad.
Nu wil ik nog een stapje verder:
Ik maak een pagina www.boeken.com/gerne.php?book=book1
hiervan wil ik het genre boek weten.
de file van book1 ziet er als volgt uit:
Code (php)
1
2
3
4
5
2
3
4
5
<?xml version="1.0" encoding="UTF-8"?>
<book>
<book_titel>book 1</book_titel>
<book_gerne>Drama</book_gerne>
</book>
<book>
<book_titel>book 1</book_titel>
<book_gerne>Drama</book_gerne>
</book>
De php zou dus nu moet echo-en 'drama'
Als de link verwijst naar book2:
Ik maak een pagina www.boeken.com/gerne.php?book=book2
Moet hij het gerne tonen van boek 2
Gr. Jop
Let er wel op dat er in je XML gerne staat, i.p.v. genre.
Code (php)
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
27
28
29
30
31
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
27
28
29
30
31
<?php
/*
* Geef d.m.v. de url ?book= aan welk boek je wilt laden.
* ?book=book1 laad book1.xml
*/
if(isset($_GET['book'])) {
/*
* ?book is geset. We maken nu een string met het pad en de naam van het boek gevolgd door .xml
*/
$file = dirname(__FILE__).'/books/'.$_GET['book'].'.xml';
/*
* We controleren of dit boek inderdaad in die map voorkomt
*/
if(file_exists($file)) {
/*
* Als het boek voorkomt dan laden we deze in
*/
$book = simplexml_load_file($file);
/*
* en geven het genre weer
*/
echo $book->book_gerne;
} else {
/*
* Als het boek niet kan worden gevonden geven we een melding
*/
echo 'Bestand niet gevonden';
}
}
?>
/*
* Geef d.m.v. de url ?book= aan welk boek je wilt laden.
* ?book=book1 laad book1.xml
*/
if(isset($_GET['book'])) {
/*
* ?book is geset. We maken nu een string met het pad en de naam van het boek gevolgd door .xml
*/
$file = dirname(__FILE__).'/books/'.$_GET['book'].'.xml';
/*
* We controleren of dit boek inderdaad in die map voorkomt
*/
if(file_exists($file)) {
/*
* Als het boek voorkomt dan laden we deze in
*/
$book = simplexml_load_file($file);
/*
* en geven het genre weer
*/
echo $book->book_gerne;
} else {
/*
* Als het boek niet kan worden gevonden geven we een melding
*/
echo 'Bestand niet gevonden';
}
}
?>
edit: genre aangepast naar gerne. correct?
Gewijzigd op 11/04/2014 13:57:22 door Michael -
Deze topic was ik al heel lang het zoeken!!!
Alleen ziet mijn xml file er iets anders uit omdat deze wordt gegeneerd met een programma.
Code (php)
1
2
3
4
5
2
3
4
5
<article>
<LV_ARTICLES_DESCRIPTIONANDMEASURE>
<LV_ARTICLES_LANG_NL><![CDATA[TGB 303, DELIVERY & EXPRESS GASKABEL UNIVERSEEL ]]></LV_ARTICLES_LANG_NL>
</LV_ARTICLES_DESCRIPTIONANDMEASURE>
</article>
<LV_ARTICLES_DESCRIPTIONANDMEASURE>
<LV_ARTICLES_LANG_NL><![CDATA[TGB 303, DELIVERY & EXPRESS GASKABEL UNIVERSEEL ]]></LV_ARTICLES_LANG_NL>
</LV_ARTICLES_DESCRIPTIONANDMEASURE>
</article>
Waar de
staat wat moet ik daar invullen?
Groetjes Yoeri
Je kan $book (waarin laad je je XML-file) voor testdoeleinden een in primt_r() plaatsen. Dan zie je de opbouw.
Het is allemaal gelukt! Super :) d.m.v. deze code kan ik aan de slag om data te tonen!
Gr. Jop