Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Wyszukiwarka...
assasin
post
Post #1





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 13.11.2008

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


Witam, obrazu na wstępie pisze że jestem amatorem....
Proszę zajrzeć tutaj http://www.pizzeria.krakow.pl/menu.php#p
Chodzi mi o ten skrypt wyszukiwarki, wie ktoś może czy taki skrypt można skądś ściągnąć, uzupełniając tylko nazwy(składniki, pizze)?
Czy zrobienie takiego czegoś jest trudne?
Od czego zacząć? wstydnis.gif
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
bim2
post
Post #2





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Hmm, to jest normalny podział an kategorię.
  1. <input type="checbox" name="cat[]" value="3" />
  2. <input type="checbox" name="cat[]" value="1" />

i w php
  1. <?php
  2. $sql = 'SELECt * FROM lala WHERE cat_id IN("'.implode(',', $_POST['cat']).'")';
  3. ?>


Ten post edytował bim2 15.11.2008, 00:47:06


--------------------
Go to the top of the page
+Quote Post
melkorm
post
Post #3





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


to bardziej szuka po składnikach w każdej pizzy tongue.gif nie katygoriami ;p więc bardziej ma zbiór nazw produktów lub id-ków do nich niż 1 katygorie smile.gif


--------------------
Go to the top of the page
+Quote Post
bim2
post
Post #4





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


no to
  1. <input type="checbox" name="cat[]" value="oliwki" />
  2. <input type="checbox" name="cat[]" value="ser" />

i w php
  1. <?php
  2. $where = array();
  3. foreach($_POST['cat'] as $v)
  4. {
  5.  $where[] = 'skladnik LIKE '%'.$v.'%'';
  6. }
  7. $sql = 'SELECt * FROM lala WHERE cat_id WHERE '.implode(' OR ', $where);
  8. ?>


Ten post edytował bim2 15.11.2008, 00:46:51


--------------------
Go to the top of the page
+Quote Post
melkorm
post
Post #5





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


może się troche czpiam ale patrząc pod kąt tej akurat wyszukiwarki powinno być and haha.gif


--------------------
Go to the top of the page
+Quote Post
assasin
post
Post #6





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 13.11.2008

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


Jak już pisałem jestem zielony z sql i mysq.
To tak:
<input type="checbox" name="cat[]" value="oliwki" />
<input type="checbox" name="cat[]" value="ser" />

to mam dodać do bazy mysq? przed dodaniem muszę utworzyć bazę, ok utworzyłem teraz muszę utworzyć tabele i tutaj jest problem:)
Przeczytałem że te zapytanie tworzy tabele:
CREATE TABLE nazwa_tabeli (nazwa_pola1 typ_pola1 [atrybuty], nazwa_pola2 nazwa_pola2 [atrybuty], ... nazwa_polaN typ_polaN [atrybuty], PRIMARY KEY(nazwa_polaX))

Tylko jak to ma być uzupełnione dla takiej wyszukiwarki....
Go to the top of the page
+Quote Post
bim2
post
Post #7





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


nieee
tabela to:
NAZWA PIZZY | ROZMIAR | SKLADNIKI
----------------------------------------------
Margerita........| 30...........| oliwki,ser,boczek

I później moje zapytanie
  1. <?php
  2. $where = array();
  3. foreach($_POST['cat'] as $v)
  4. {
  5. $where[] = 'skladnik LIKE '%'.$v.'%'';
  6. }
  7. $sql = 'SELECT * FROM lala WHERE '.implode(' AND ', $where);
  8. ?>


--------------------
Go to the top of the page
+Quote Post
assasin
post
Post #8





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 13.11.2008

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


Nic a nic nie rozumie wstydnis.gif ....
Go to the top of the page
+Quote Post
bim2
post
Post #9





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


To powoli. Umiesz zrobić FORMa? smile.gif
  1. <form action="test.php" method="post">
  2. <input type="checkbox" name="skladnik[]" value="oliwka" />Oliwka<br />
  3. <input type="checkbox" name="skladnik[]" value="ser" />Ser<br />
  4. <input type="submit" />
  5. </form>

Później php:
  1. <?php
  2. print_r($_POST['skladnik']); //jak widzisz jest to tablica, więc użyjemy pętli foreach
  3. foreach($_POST['skladnik'] AS $val)
  4. {
  5. $nowa_tablica_where[] = "skladnik LIKE '%$val%'"; // tworzę kolejne klauzule dla WHERE, które potem połącze funkcją implode
  6. }
  7. $sql = 'SELECT * FROM lala WHERE '.implode(' AND ', $nowa_tablica_where);
  8. ?>

jesli czegoś nie rozumiesz to sprawdź funkcję implode(), pętlę foreach() i zapytanie a dokładniej WHERE ... LIKE smile.gif

Ten post edytował bim2 15.11.2008, 00:46:41


--------------------
Go to the top of the page
+Quote Post
assasin
post
Post #10





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 13.11.2008

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


Dalej nie rozumie:)

Kod
[/b]<h2 style="margin-top: 20px; margin-bottom: 10px">Wybierz składniki szukanej pizzy</h2>Proszę pamiętać, że wraz z ilością składników zmniejsza się szansa na znalezenie pizzy.<div style="margin-bottom: 20px"></div>
<form name="listForm" enctype="multipart/form-data" method="post" action="">
<div style="width: 150px; float: left"><label for="0"><input type="checkbox"  name="i0" value="1" />ananasy</label>
<label for="1"><input type="checkbox"  name="i1" value="1" />anchois</label>
<label for="2"><input type="checkbox"  name="i2" value="1" />banany</label>
<label for="3"><input type="checkbox"  name="i3" value="1" />bekon</label>
<label for="4"><input type="checkbox"  name="i4" value="1" />brokuły</label>
<label for="5"><input type="checkbox"  name="i5" value="1" />brzoskwinie</label>
<label for="6"><input type="checkbox"  name="i6" value="1" />cebula</label>
<label for="7"><input type="checkbox"  name="i7" value="1" />curry</label>
<label for="8"><input type="checkbox"  name="i8" value="1" />czosnek</label>
<label for="9"><input type="checkbox"  name="i9" value="1" />fasola czerwona</label>
<label for="10"><input type="checkbox"  name="i10" value="1" />fasola szparagowa</label>
</div><div style="width: 150px; float: left"><label for="11"><input type="checkbox"  name="i11" value="1" />frutti di mare</label>
<label for="12"><input type="checkbox"  name="i12" value="1" />groszek zielony</label>
<label for="13"><input type="checkbox"  name="i13" value="1" />jabłka</label>
<label for="14"><input type="checkbox"  name="i14" value="1" />jogurt</label>
<label for="15"><input type="checkbox"  name="i15" value="1" />kabanosy</label>
<label for="16"><input type="checkbox"  name="i16" value="1" />kapary</label>
<label for="17"><input type="checkbox"  name="i17" value="1" />kebab drobiowy</label>
<label for="18"><input type="checkbox"  name="i18" value="1" />kiełbasa</label>
<label for="19"><input type="checkbox"  name="i19" value="1" />kiwi</label>
<label for="20"><input type="checkbox"  name="i20" value="1" />krewetki</label>
<label for="21"><input type="checkbox"  name="i21" value="1" />kukurydza</label>
</div><div style="width: 150px; float: left"><label for="22"><input type="checkbox"  name="i22" value="1" />kurczak wędzony</label>
<label for="23"><input type="checkbox"  name="i23" value="1" />louisiana tabasco</label>
<label for="24"><input type="checkbox"  name="i24" value="1" />łosoś</label>
<label for="25"><input type="checkbox"  name="i25" value="1" />majonez</label>
<label for="26"><input type="checkbox"  name="i26" value="1" />małże</label>
<label for="27"><input type="checkbox"  name="i27" value="1" />ogórek konserwowy</label>
<label for="28"><input type="checkbox"  name="i28" value="1" />oliwki</label>
<label for="29"><input type="checkbox"  name="i29" value="1" />oregano</label>
<label for="30"><input type="checkbox"  name="i30" value="1" />papryczka jalapenos</label>
<label for="31"><input type="checkbox"  name="i31" value="1" />papryka</label>
<label for="32"><input type="checkbox"  name="i32" value="1" />pieczarki</label>
</div><div style="width: 150px; float: left"><label for="33"><input type="checkbox"  name="i33" value="1" />polędwica z indyka</label>
<label for="34"><input type="checkbox"  name="i34" value="1" />pomidory</label>
<label for="35"><input type="checkbox"  name="i35" value="1" />salami</label>
<label for="36"><input type="checkbox"  name="i36" value="1" />ser feta</label>
<label for="37"><input type="checkbox"  name="i37" value="1" />ser mozzarella</label>
<label for="38"><input type="checkbox"  name="i38" value="1" />ser pleśniowy</label>
<label for="39"><input type="checkbox"  name="i39" value="1" />szparagi</label>
<label for="40"><input type="checkbox"  name="i40" value="1" />szpinak</label>
<label for="41"><input type="checkbox"  name="i41" value="1" />szynka</label>
<label for="42"><input type="checkbox"  name="i42" value="1" />tuńczyk</label>
</div><br style="clear: both" />
<input type="hidden" name="search" value="1" />
<input type="submit" value="Wyszukaj pizze" />
<input type="button" value="Wyświetl całe menu" onclick="goToMenu()" /></form>
[b]


Tak wygląda ta wyszukiwarka w html.
Ten kod który podałeś, muszę go dodać do bazy?
Pisałem już że zielony jestem ..
Go to the top of the page
+Quote Post
bim2
post
Post #11





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Nie mam siły. Może jesteś zielony, ale porównac kodu tez nie umiesz. Podałem to samo co tutaj jest ... Do bazy dodaj tabele jaką już podawałem wcześniej.


--------------------
Go to the top of the page
+Quote Post
assasin
post
Post #12





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 13.11.2008

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


Zaraz pierw ma być form pod nim skrypt php który ty podałeś....
Mój problem w tej chwili tkwi w tym że nie wiem jak stworzyć tabele

NAZWA PIZZY | ROZMIAR | SKLADNIKI
----------------------------------------------
Margerita........| 30...........| oliwki,ser,boczek

nic mi to nie mówi sciana.gif
Go to the top of the page
+Quote Post
bim2
post
Post #13





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Zainstaluj phpmyadmin


--------------------
Go to the top of the page
+Quote Post
assasin
post
Post #14





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 13.11.2008

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


Zainstalowałem:)
Wchodze do mojej bazy klikam otwórz tabele, wpisuje nazwe ,,składniki'' w liczna pól 25 (chyba chodzi o liczbę składników(ser, czosnek,cebula i inne))
Teraz mam:
Kod
Pole      TypDokumentacja      Długość/Wartości*1      Domyślnie2      Metoda porównywania napisów      Atrybuty      Null      Indeks      A_I      Komentarze


I nie wiem jak to wypełnić....
Go to the top of the page
+Quote Post
erix
post
Post #15





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Masz nawet po sąsiedzku tongue.gif
http://wortal.php.pl/wortal/artykuly/php/p...orial_php_mysql

Ale się nie chce...


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
assasin
post
Post #16





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 13.11.2008

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


Przeczytałem z 10 poradników o tworzeniach tabel żaden nie pomógł.... nie ma napisane jak uzupełniać tabele w phpmyadmin... krok po kroku dla takiej wyszukiwarki:)


Przykład:

http://wortal.php.pl/phppl/wortal/artykuly...cja_bazy_danych
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #17





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Bardzo proszę o dodanie bbcode przez autorów postów.
@bim2 - prawie 1000 na karku i takie coś? Nieładnie dry.gif

Cytat
Przeczytałem z 10 poradników o tworzeniach tabel żaden nie pomógł.... nie ma napisane jak uzupełniać tabele w phpmyadmin... krok po kroku dla takiej wyszukiwarki:)

Powiem Ci jedną rzecz, zupełnie bez złośliwości. Nie zrobisz tego w taki sposób. Nie ma przepisu na tabelę dla pizzeri. Na pewno nie zrobisz tego na jednej tabeli. Ja tu widzę relację wiele do wielu pizza_składnik, wiec masz już co najmniej 3 powiązane tabele. Proponuję gruntowne poszerzenie wiedzy na temat baz danych. Mówisz, że czytałeś 10 poradników - widać nic nie zrozumiałeś rolleyes.gif
Zobacz sobie to: http://web.pertus.com.pl/~stanley/access_pigulka/Relacje.htm

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
bim2
post
Post #18





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


@Cysiaczek
Czasami to mi się nie chce bbcode wpisywać. smile.gif [poprawione] Co do bazy, dla prostego usera wystarczy 1 tabela. Na większej sobie nie poradzi, a tak może mieć prowizorkę. smile.gif


--------------------
Go to the top of the page
+Quote Post
assasin
post
Post #19





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 13.11.2008

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


Aha tzn pierw muszę zrobić tabele z pizzami a później kolejne tabele przypisując każdej pizzy składniki....

Ale jaką ja potrzebuje tabele....jaki ma być typ jest z 30 do wyboru, długość?, o co chodzi z tym domyślne, metoda porównywania napisów?, atrybuty, null, index, komentarze...
Jest jakiś poradnik w którym przeczytam jak to wypełniać bo jeszcze takiego nie znalazłem.
Go to the top of the page
+Quote Post
bim2
post
Post #20





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Poszukaj na internecie poradników. smile.gif Nie ma sensu pisać drugi raz to co google znajdzie smile.gif


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 02:26