Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwarka Mysql z poziomu WWW - Problem.
Forum PHP.pl > Forum > Bazy danych > MySQL
obiluk
Witam.

Nim napisałem sprawdziłem różne skrypty, tutki i podobne tematy lecz żaden mi nie zadziałał.. Posiadam bazę MySQL w której jest jedna tabela "Dane" z 6 rekordami Imie, Nazwisko, Data Urodzenia, Obiekt, Kwota, Data Zdarzenia. Chciałbym aby po wejściu na moją stronę widniała tylko i wyłącznie wyszukiwarka, po wpisaniu w niej Nazwiska wyświetli wszystkie 6 rekordów przypisane do danej osoby w postaci czytelnej tabeli. Znalazłem przykładowy skrypt i umieściłem go w Search.php ale po wejsciu na nią dostaje komunikat: Parse error: syntax error, unexpected T_ELSE in /home2/****/public_html/lukas/search.php on line 6

Kod z Search.php
  1. <?php
  2. // program wyszukiwarki - search.php
  3. // wyświetlenie nagłówka
  4. echo'<h2>Wyniki wyszukiwania</h2>';
  5. // usunięcie niepotrzebnych białych znaków
  6. else
  7. {
  8. // połączenie z bazą danych, NIE ZAPOMINJ USTAWIĆ WŁASNYCH DANYCH!
  9. $base=mysqli_connect('86.111.**.**','******','******');
  10. // skonstruowanie zapytania
  11. // zwróć uwagę na operator Like - to on jest sercem całej aplikacji. Pozwala wyszukać dany ciąg w bazie danych
  12. // jak zapewne zauważyłeś, przed frazą i po niej umieszczam znaki procenta %
  13. // ten znak symbolizuje dowolny inny ciąg znaków, więc jest niezbędny do skutecznego wyszukiwania
  14. // połaczenie operatorem Or pozwala na wyszukiwanie danego ciągu zarówno w nazwie, jak i opisie produktu
  15. // UWAGA! Tutaj też nie zapomnij ustawić swoich danych!
  16. $query="SELECT * FROM `wyszukaj` WHERE `Nazwisko` LIKE '%Nazwisko%' AND `Kwota` LIKE '%Obiekt%' AND `Data Urodzenia` LIKE '%Data Zdarzenia%' LIMIT 0 , 30";
  17.  
  18.  
  19. // wysłanie zapytania do bazy danych
  20. $result=mysqli_query($base,$query);
  21.  
  22.  
  23. // ustalenie ilości wyszukanych obiektów
  24. $obAmount=mysqli_num_rows($result);
  25. // wyswietlenie ilości wyszukanych obiektów
  26. echo'Znaleziono: '.$obAmount.' osoby<br /><br />';
  27. // wyświetlenie wyników w pętli
  28.  
  29. for($x=0;$x<$obAmount;$x++)
  30. {
  31. // przekształcenie danych na tablicę
  32. $row=mysqli_fetch_assoc($result);
  33. // wyświetlenie numeru identyfikacyjnego
  34. echo $x+1;
  35. echo '.';
  36.  
  37. // wyświetlenie
  38. echo '<table border="1" align="center"><tr><td width="150"><b></td><td width="650">'.$row['Obiekt'].'</b></td><br /></tr>';
  39. echo '<tr><td width="150"><b> </td><td width="650">'.$row['Nazwisko'].'</b></td><br /></tr>';
  40. echo '<tr><td width="150"><b> </td><td width="650">'.$row['Imie'].'</b></td></tr></table>';
  41. }
  42. }
  43. // zamknięcie połączenia
  44. mysqli_close($base);
  45. // koniec aplikacji
  46. ?>


Serdecznie dziękuje za poświęcony mi czas i nakierowanie na właściwe tory.
Niktoś
To nie jest błąd kwerendy ,ani bazy danych.Dokładnie piszę Tobie w której linice błąd się znajduje.

else
{

Sorki ,ale gdzie masz komendę if do tego else?
obiluk
  1. <?php
  2. // program wyszukiwarki - search.php
  3. // wyświetlenie nagłówka
  4. echo'<h2>Wyniki wyszukiwania</h2>';
  5. // usunięcie niepotrzebnych białych znaków
  6. if else
  7. {
  8. // połączenie z bazą danych, NIE ZAPOMINJ USTAWIĆ WŁASNYCH DANYCH!
  9. $base=mysqli_connect('86.111.**.**','******','******');


Teraz dostaje komunikat: Parse error: syntax error, unexpected T_ELSE, expecting '(' in /home2/***/public_html/lukas/search.php on line 6

Zjadłem na tym cały dzień.. co ciekawe znalazłem na innych stronach że inni mają podobny skrypt wyszukiwarki i też bez if przy else, i mają inny problem dopasowania wyszukiwarki, ale nawet gdy wezmę ich skrypt to ciągle mam w/w błąd. Proszę o pomoc.
Niktoś
Może poducz się trochę podstaw,instrukcji,pętli itp bo to co widzę cieniutko u Ciebie.Oto przkład instrukcji if:

  1. if(warunek1==true){ //jeśli warunek1 jest spełniony
  2. .........
  3. zrób coś
  4. ...........
  5. }
  6. else // w przeciwnym razie
  7. {
  8. .............
  9. zrób coś innego
  10. .................
  11. }
toaspzoo
skasuj else {
obiluk
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home2/aconopro/public_html/lukas/search.php on line 22
Znaleziono: osoby

Czy to oznacza że nie można wyświetlić żadnego rekordu gdyż go niema ? wyczytałem że to może być problem z zapytaniem SELECT * FROM ale zmieniając je to dalej to samo. W pliku HTML mam wyszukiwarkę która odnosi do powyższego skryptu, chciałbym tylko żeby po wpisaniu w niej nazwiska ( Tabela w sql 'Nazwisko') wyświetliła się tabela z wszystkimi tabelami przypisanej do danej osoby.
azbest22
pisane z głowy i nietestowane ale chyba o coś w tym stylu się rozchodzi.
  1. <?php
  2. $conn = mysql_connect("adres", "login", "hasło") or die (mysql_error());
  3. $db = mysql_select_db("nazwa bazy") or die (mysql_error());
  4. if (isset($_POST['nazwisko']) && $_POST['password']!='')
  5. {
  6. $nazwisko=$_POST['nazwisko'];
  7. $query = "select * from wyszukaj where nazwisko = $nazwisko";
  8. $wykonaj = mysql_query($query);
  9. echo '<table>';
  10. while($row = mysql_fetch_array($wykonaj))
  11. {
  12. echo '<tr><td>'.$row['imie'].'</td><td>'.$row['nazwisko'].'</td><td>'.$row['data urodzenia'].'</td><td>'.$row['obiekt'].'</td><td>'.$row['kwota'].'</td><td>'.$row['data zdarzenia'].'</td></tr>';
  13. }
  14. echo '</table>';
  15. }
  16. else
  17. echo'<form action="index.php" method="post" name="logowanie">
  18. <input type="text" name="nazwisko" value="" size="30">
  19. <input type="submit" value="ZALOGUJ">
  20. </form>
  21. ';
  22. ?>


sam dopiero się uczę więc sorki za błędy ewentualne ale chciałem przedstawić swoją koncepcje rozwiązania problemu
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.