Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyswietlenie danych z MySQL do XML
Forum PHP.pl > Forum > Przedszkole
Magdalena1001
Witam,

Probuje wyswietlic dane z MySQL w PHP do XML poprzez metode post w HTML, aby dzialalo jak wyszukiwarka (powiedzmy jak Google - tylko jeden box do wpisywania). Udalo mi sie z uzyciem jednej kolumny z bazy danych ale nie mam pojecia jak to zrobic zeby pobralo dane rowniez z innych kolumn.

Ponizej podaje kod ktory dziala lecz wyswietla tylko jedna kolumne, mianowicie 'area' - chce wyswietlic rowniez 'price', 'type', itd. :

  1. header('Content-type: text/xml');
  2. if (isset($_REQUEST['property'])) {
  3. $narea = trim($_REQUEST['property']);
  4.  
  5.  
  6. if ( preg_match("/[^a-zA-Z0-9 \-']|^$/", $narea) ) die ('<No_data/>');
  7. } else {
  8. die ('<Error/>');
  9. }
  10.  
  11. //Connect to MySQL server with PHP
  12. $conn = mysqli_connect("mysql.cms.gre.ac.uk","pm336","pm336","mdb_pm336") or die
  13. ('<property_details><error>'.mysqli_error().'</error></property_details>');
  14.  
  15. $query = 'SELECT id, contact, area, type, bedrooms, price FROM PROPERTY WHERE area RLIKE "'.$narea.'"';
  16. // AND price RLIKE "'.$narea.'" AND id RLIKE "'.$narea.'" AND contact RLIKE "'.$narea.'" AND type RLIKE "'.$narea.'" AND bedrooms RLIKE "'.$narea.'"
  17.  
  18. $result = mysqli_query($conn, $query) or die
  19. ('<property_details><error>'.mysqli_error().'</error></property_details>');



Jakies pomysly? Co robie zle? PS. Chce uzyc REQUEST a nie POST.
Tomplus
CHyba zapominasz o funkcji wyświetlającej dane wynikowe mysqli_fetch_array($result)

  1. while($row = mysqli_fetch_array($result)) {
  2. echo "<property>";
  3. foreach($row as $key => $value) {
  4. echo "<$key>$value</$key>";
  5. }
  6. echo "</property>";
  7. }



PS. Nie wklejaj na fora hosta serwera, loginu/hasła do bazy danych.
nospor
@Tomplus to nie jest funkcja wyswietlajaca dane, a funkcja pobierajace dane. Ot drobna roznica wink.gif
Poza tym chyba nie zapomnial, skoro napisal wyraznie, ze dla jednej kolumny dziala wink.gif

@Magdalena
1) Problem nie ma zadnego zwiazku z ajax czy xml, no chyba ze pozniej doprecyzujesz. Poki co przenosze
2) Ale co ci nie dziala dla innych kolumn? Skoro umiesz wyswietlic jedna kolumne, to jaki problem wyswietlic dwie? CHyba ze mowiac "wyswietlic" masz na mysli warunek w zapytaniu, ktory widac zakomentowany w kodzie. Ale wowczas to wypadaloby odrozniac pojecia: WARUNEK oraz WYSWIETLIC wink.gif
Tomplus
Pytanie na ile poprawnie zostało przedstawione pytanie oraz jaki jest dalszy ciąg kodu. Albo może to zwykły błąd w zapytaniu, atrybut encji który nie istnieje.
thek
Pytanie co konkretnie chcesz zrobić i czy wiesz co siedzi w tych kolumnach. Możesz mieć bowiem błąd na poziomie logiki zapytania. Nie ma zwyczajnie wyniku dla tego co chcesz zrobić bo zapytanie ma złą konstrukcję. Przykład? Szukasz rekordu, który w kolumnie pasuje do wzorca i w innej też pasuje do tego samego wzorca. Pytanie tylko czy aby na pewno to miano osiągnąć? Może miał pasować nie do obu naraz, ale do któregokolwiek z nich? Może błąd zakradł się do tego co kolumna zawiera? Dane tam mają w treści znak, który nie może być wprost wrzucony do XML? Może trzeba wpierw zamienić takie na encje, by nie spowodować błędu parsera? Przyczyny mogą być tym samym różnej natury i dobrze by było gdyby określono gdzie konkretnie problem się pojawia. Na jakim poziomie? Czym się objawia?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.