PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   durchsuchen einer XML Datenbank mit PHP (http://www.selfphp.de/forum/showthread.php?t=25783)

farewellgil 12.02.2016 12:35:08

durchsuchen einer XML Datenbank mit PHP
 
Hallo,

ich habe ein Problem und zwar möchte ich gern einen Suchbefehl in php schreiben, der alle Knoten in meiner XML Filmdatenbank durchsucht und anschließend alles ausgibt zu dem Film. Die Ajaxkommunikation habe ich schon gechrieben und das funktioniert auch mit der Übergabe des Suchbegriffes. Doch an meiner PHP scheitert es im Moment noch, denn bisher kann ich nur die Filmtitel durchsuchen und ich schaffe es auch nicht, dass er mit neben dem Filmtitel auch noch die dazugehörigen Informationen, wie Jahr, Preis, Regie usw. ausgibt.

Kann mir vlt einer weiterhelfen?

PHP-Code:

<?php 
$data
=simplexml_load_file('mediathek.xml') or die ("Error: Cannot create object");
 
 
$suche strtolower($_GET["suche"]);
 
 foreach(
$data as $node) {
 
 if (
strstr((strtolower($node->title)),$suche)) {
 

 echo 
$node ->title;

}

}



?>


So sieht im groben meine XML Datei aus und mein Ziel ist es, dass wenn ich jetzt "Camille" in das Suchfeld eingeben würde, das sowohl der dazugehörige Titel, der nachname, jahr, preis etc. auch ausgegeben wird:

Code:

<?xml version="1.0" encoding="UTF-8"?>

<mediathek xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="mediathekschema.xsd">

    <film>
        <title>The Transporter Refueled</title>
        <id>1</id>
        <regie>
            <vorname>Camille</vorname>
            <nachname>Delamarre</nachname>
        </regie>
        <dauer>
            <stunde>1</stunde>
            <stundeneinheit>h</stundeneinheit>
            <minute>37</minute>
            <minuteneinheit>min</minuteneinheit> 
        </dauer>
        <fsk>12</fsk>
        <genre>
            <genre1>Action</genre1>
        </genre>
        <jahr>2015</jahr>
        <kosten>
            <preis>9.99</preis>
            <einheit>€</einheit>
        </kosten>   
    </film>

etc.


Danke schon einmal im vorraus!!
LG

vt1816 12.02.2016 15:49:17

AW: durchsuchen einer XML Datenbank mit PHP
 
Hallo und willkommen hier im Forum.


Versuch es mal hiermit:
PHP-Code:

<?php 
$xml_object 
simplexml_load_file('mediathek.xml') or die ("Error: Cannot create object");
$xml_array  object2array($xml_object);

$suche strtolower($_GET["suche"]); 

for (
$i=0$i<count($xml_array['film']); $i++) {
    if (
strstr((strtolower($xml_array['film'][$i]['regie']['vorname'])), $suche)) {
        echo 
"Titel\t" .$xml_array['film'][$i]['title']."<br>";
        echo 
"Nachname\t" .$xml_array['film'][$i]['regie']['nachname']."<br>";
        echo 
"Jahr\t" .$xml_array['film'][$i]['jahr']."<br>";
        echo 
"Kosten\t" .$xml_array['film'][$i]['kosten']['preis'] ." " .$xml_array['film'][$i]['kosten']['einheit']."<br>";
    }
}

function 
object2array($object) { return @json_decode(@json_encode($object),1); }

?>

Leider fehlten mehr Testdaten ...


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:21:50 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.