Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [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ąć? (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)
Go to the top of the page
+Quote Post
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 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) nie katygoriami ;p więc bardziej ma zbiór nazw produktów lub id-ków do nich niż 1 katygorie (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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? (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
http://wortal.php.pl/wortal/artykuly/php/p...orial_php_mysql

Ale się nie chce...
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 (IMG:http://forum.php.pl/style_emoticons/default/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ś (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif)
Zobacz sobie to: http://web.pertus.com.pl/~stanley/access_pigulka/Relacje.htm

Pozdrawiam.
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ć. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) [poprawione] Co do bazy, dla prostego usera wystarczy 1 tabela. Na większej sobie nie poradzi, a tak może mieć prowizorkę. (IMG:http://forum.php.pl/style_emoticons/default/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. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Nie ma sensu pisać drugi raz to co google znajdzie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 25.08.2025 - 08:44