Wyszukiwarka xml with php

2016-03-11 21:26
0

Witam
znalazłem ciekawy przykład, który chcę użyć przy przeszukiwaniu dokumentu xml do przerobienia
z katalogu ksiazki przeszukuje pliki xml i ma wyświetlić rezultat
oczywiście xml i html z formularzem mam zrobiony
No i problem występuje:
Parse error: syntax error, unexpected T_INC in ....... on line 10
Dlaczego jest błąd?

search.php


<?php
    header('Content-Type: text/html; charset = UTF-8');

    $tytul = $_POST['tytul'];
    $autor = $_POST['autor'];
    $gatunek= $_POST['gatunek'];

    //Oznaczenie które pola były wpisane
    $wpisano=0;

  # 10 linia z ew. błędem
    if ($tytul != "") wpisano ++;
    if ( $autor != "") wpisano =+ 2;
    if ( $gatunek != "") wpisano =+ 4;

    $tytul = mb_convert_case($tytul, MB_CASE_TITLE, "UTF-8");
    $autor = mb_convert_case($autor, MB_CASE_TITLE, "UTF-8");

    $folder  = glob('ksiazki/*.xml');
    foreach ($folder as $file) {
    $plik = file_get_contents($file);
    $xml = simplexml_load_string($plik);

    $pokaz = 0;
    if ((string) $xml->ksiazka->tytul == $tytul) $pokaz ++;
    if ((string) $xml->ksiazka->autor == $autor) $pokaz =+ 2;
    if ((string) $xml->ksiazka->gatunek == $gatunek) $pokaz =+ 4;
    if($pokaz==$wpisano) {
        echo "TYTUŁ:", ' ', $xml->ksiazka->tytul, '<br>';
        echo "AUTOR:", ' ', $xml->ksiazka->autor, '<br>';
        echo "GATUNEK:", ' ', $xml->ksiazka->gatunek, '<br>';
        echo "OPIS:", ' ', $xml->ksiazka->opis, '<br>';
        echo "WYDAWNCTWO:", ' ', $xml->ksiazka->wydawnictwo, '<br>';
        echo "ROK WYDANIA:", ' ', $xml->ksiazka->wydana, '<br><br>';
    }
    else echo "Nie znaleziono żadnych książek";
    }
    ?>

plik.html


<head><title>Wyszukiwarka książek</title></head>
<body><h2 style="text-align: center; ">Wyszukiwarka książek</h2>
<form method="post" action="search.php">

<fieldset>
<legend>Tytuł</legend>
<input type="text" name="tytul" />
</fieldset>

<fieldset>
<legend>Autor</legend>
<input type="text" name="autor" />
</fieldset>

<fieldset>
<legend>Gatunek</legend>
<input type="text" name="gatunek" />
</fieldset>

<fieldset>
<legend>Opcje</legend>
<input type="reset" value="Wyczyść formularz" />
<input type="submit" value="Szukaj książek" />
</fieldset>

</form>
</body></html>
edytowany 5x, ostatnio: loleq1111, 2016-03-11 21:35

Pozostało 580 znaków

2016-03-11 21:33
1

$wpisano a nie wpisano.

Pozostało 580 znaków

2016-03-11 22:04
0

ma ktoś pomysł by dopasować to w taki sposób by przeszukało cały dokument xml ?
bo aktualnie skupia się na pierwszym wpisie <ksiazka> </ksiazka> a dalej nie przeszukuje
tzn. jeśli pierwszy element w xml jest wyszukiwany to pokazuje wynik poprawnie
jeśli element jest drugi lub później w kolejności w pliku xml zwraca wynik nie znaleziono...

Pozostało 580 znaków

2016-03-12 22:37
0

Zrób tak:

$plik = file_get_contents($file);
    $xml = simplexml_load_string($plik);
    foreach ($xml->ksiazka as $book) {
          if ((string) $book->tytul == $tytul) $pokaz ++;
    }

Tak na szybko. Na tej podstawie sobie to przerób.

edytowany 1x, ostatnio: kalar, 2016-03-12 22:38

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0