[Php i MySQL] Proste wyszukiwanie informacji z bazy danych


(Dominika Madrecka) #1

(nic ciekawego) #2

Formularz powinien wysyłać POST’em wartości a tego nie robi.


(Dominika Madrecka) #3

Chcę, aby przez formularz po wprowadzeniu jakiejś zmiennej np. branże lub nazwa firmy, żeby wyszukał mi w mojej bazie danych wszystkie firmy związane z tą branżą ( np. Edukacja) lub wg nazwy firmy.

Nie wiem jak z tym sobie poradzić, bo po wprowadzeniu danych nie wyszukuje mi nic w bazie danych tylko wyświetla mi część kodu:

"; echo $zmienna["miejscowosc"]."

"; echo $zmienna["ulica"]."

"; echo $zmienna["kod_poczt"]."

"; echo $zmienna["tel"]."

"; echo $zmienna["tel_kom"]."

"; echo $zmienna["fax"]."

"; echo $zmienna["str_www"]."

"; echo $zmienna["mail"]."

"; echo $zmienna["branza"]."

"; echo $zmienna["wojew"]."

"; echo $zmienna["gmina"]."

"; echo $zmienna["nip"]."

"; echo $zmienna["regon"]."

"; } } } mysql_close($polacz); ?>

(nic ciekawego) #4
$polacz=mysql_connect("localhost","root","localhost") or die("Nie udało połączyć się z bazą danych. ".mysql_error());

if(!$polacz)

{

 echo "Błąd: połączenie z bazą danych nie powiodło się";

 exit;

}

dwa razy sprawdzasz czy połączyło. Wystarczy raz.

polacz = mysql_connect("localhost","root","") or die("Brak połączenia");

// a to na wypadek gdyby baza nie istniała lub nie można było by jej wybrać 

mysql_select_db("wykaz_firm", $polacz) or die("Baza nie istnieje lub coś tam");

(Dominika Madrecka) #5

Musi być gdzieś indziej błąd w kodzie, że wyświetla część kodu a nie wyszukuje informacji z tabeli, tylko ja już nie umiem tego błędu znaleźć. Cały czas coś poprawiam, zmieniam w kodzie, ale bez efektu. Dlatego proszę o pomoc was bardziej doświadczonych programistów, może macie lepsze pomysły i rozwiązanie nad moją wyszukiwarką.


(Grzelix) #6

Przez duplikowanie tematu wkurzyłeś admina i wyrzucił twój drugi wątek do śmieci. Tam ci odpisałem co masz poprawić:

proste-wyszukiwanie-informacji-bazy-danych-t521983.html

do tego wyrzuć tą linijkę z pierwszego pliku:

<?php include_once 'nowy.php'; ?>

(Dominika Madrecka) #7

Przepraszam za dublowanie tematu, to już się nie powtórzy.

Jeszcze się meczem ze swoją wyszukiwarką, ale jestem na etapie, że wypisuje mi na ekranie komunikat:

Ilość znalezionych firm: 0

jeszcze mi nie znajduje informacji w mojej bazie.


(Grzelix) #8

Dodaj echo do zapytania i zobacz jak ono wygląda.

Potem się zastanów jak powinno wyglądać.

Musisz sprawdzić parametry przesłane i zbudować poprawne zapytanie SQL jest troszkę pracy w tym ale nic skomplikowanego. Zacznij od jednego pola, potem dwa i tak dojdziesz do obsługi wszystkich. Nie próbuj od razu robić całości bo nie będziesz wiedział w którym miejscu jest błąd. Dodaj pojedynczo i testuj wynik. Sprawdzaj jak wygląda zapytanie.


(Dominika Madrecka) #9

Po usunięciu w SELECT warunku WHERE wypisuje mi wszystkie rekordy to znaczy, że błąd jest w warunku WHERE, tylko teraz nie wiem jak to zmienić aby wyszukiwało prawidłowo po wpisaniu danej firmy.


(Grzelix) #10

Ostatnim wpisem dobitnie pokazałeś, że:

  1. Nie znasz SQL-a.

  2. Nie czytasz\stosujesz się do porad z poprzednich postów.

Ad 1 Zapoznaj się z podstawami SQL-a.

Ad 2 Jak już poznasz SQL na tyle by wiedzieć do czego on służy i jak z niego korzystać, przeczytaj w moich poprzednich postach jak DEBUG-ować zapytania SQL.

btw albo

albo

jeśli podałeś w Doctype xhtml to używaj drugiego sposobu. To nie jest błąd, ale poprawnie też nie jest (pomijając fakt że można by łamanie linii wyeliminować całkowicie).