Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [XML][HTML][PHP]Funkcja wyszukiwania(przeszukiwania XML).
matt77
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 4.05.2018

Ostrzeżenie: (0%)
-----


Cześć
Mam stworzona wyszukiwarkę w HTMLu i wyszukiwanie danych w bazie XML. Problemem jest sposób wyświetlenia. Gdy w oknie szukania wpisze hasło z bazy XML wyświetla wszystkie artykuły zamiast tego jednego konkretnego, a także podczas wpisania hasła z poza bazy nie wyświetla się komunikat "Nie znaleziono szukanego hasła". Ktoś jest w stanie pomóc w stworzeniu poprawnej funkcji?
link wyświetlenia: https://zapodaj.net/1e95528b9926a.png.html
plik szukaj.php
  1. <!doctype html>
  2. <meta charset="utf-8" />
  3. <html>
  4. <head>
  5. <title>Encyklopedia</title>
  6. </head>
  7. <body>
  8. <h2 style="text-align: center; ">Encyklopedia</h2>
  9. <form action="wyniki.php" method="post">
  10.  
  11. <fieldset>
  12. <legend>Wyszukaj hasło</legend>
  13. <input type="text" name="artykul" />
  14. </fieldset>
  15.  
  16. <fieldset>
  17. <legend>Opcje</legend>
  18. <input type="reset" value="Wyczyść" />
  19. <input type="submit" value="Szukaj" />
  20. </fieldset>
  21.  
  22. </form>
  23. </body>
  24. </html>

plik wyniki.php
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Encyklopedia</title>
  5. <meta charset="utf-8" />
  6. </head>
  7. <body>
  8. <h2 style="text-align: center; ">Encyklopedia</h2>
  9.  
  10. <?php
  11. header('Content-Type: text/html; charset = UTF-8');
  12.  
  13. $tytul = (isset($_POST['tytul']))?$_POST['tytul']:'';
  14. $tresc = (isset($_POST['tresc']))?$_POST['tresc']:'';
  15.  
  16. $wpisano=0;
  17. $pokazanowynikow=0;
  18.  
  19.  
  20. if($tytul!="") $wpisano++;
  21. if($tresc!="") $wpisano+=2;
  22.  
  23.  
  24. $tytul = mb_convert_case($tytul, MB_CASE_TITLE, "UTF-8");
  25. $tresc = mb_convert_case($tresc, MB_CASE_TITLE, "UTF-8");
  26.  
  27. $folder = glob('encyklopedia.xml');
  28. foreach($folder as $file){
  29. $plik = file_get_contents($file);
  30. $xml = simplexml_load_string($plik);
  31.  
  32.  
  33. $ilewierszy = count($xml);
  34. for($i=0;$i<$ilewierszy;$i++){
  35. $pokaz = 0;
  36. if((string)$xml->artykul[$i]->tytul == $tytul) $pokaz++;
  37. if((string)$xml->artykul[$i]->tresc == $tresc) $pokaz+=2;
  38. if($pokaz==$wpisano) {
  39. echo $xml->artykul[$i]->tytul.'<br>';
  40. echo $xml->artykul[$i]->tresc.'<br>';
  41.  
  42. $pokazanowynikow++;
  43. }
  44. }
  45. }
  46. if($pokazanowynikow==0) echo "Nie znaleziono szukanego hasła";
  47. ?>
  48. </body>
  49. </html>

plik encyklopedi.xml
  1. <?xml version="1.0" encoding="iso-8859-2"?>
  2. <!DOCTYPE encyklopedia SYSTEM "C:\Users\Matt\Desktop\encyklopedia.dtd">
  3. <?xml-stylesheet href="css01.css" type="text/css"?>
  4.  
  5. <encyklopedia>
  6.  
  7. <artykul>
  8. <tytul>astronomia</tytul>
  9. <tresc>nauka przyrodnicza, której przedmiotem badań są ciała niebieskie, ich rozkład i ruchy w przestrzeni, pochodzenie, budowa oraz ewolucja,a także Wszechświat jako calość</tresc>
  10. <odnośnik></odnośnik>
  11. </artykul>
  12.  
  13. <artykul>
  14. <tytul>grafika komputerowa</tytul>
  15. <tresc>dział informatyki zajmujacy się tworzeniem obrazów obiektów rzeczywistych i wyimagowanych</tresc>
  16. <odnośnik></odnośnik>
  17. </artykul>
  18.  
  19.  
  20. </encyklopedia>


Ten post edytował matt77 4.06.2018, 12:11:08
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 12:23