Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Wyszukiwarka
pietrov8
post 13.09.2009, 12:43:52
Post #1





Grupa: Zarejestrowani
Postów: 188
Pomógł: 1
Dołączył: 4.07.2009
Skąd: ...

Ostrzeżenie: (10%)
X----


Witam.
Chciałbym wykonać wyszukiwarkę dla sklepu internetowego. Wyglądałoby to następujaco. Klient oddaje np. Komputer do naprawy i dostaje nr ID produktu. Następnie wchodzi na stronę sklepu wklepuje w wyszukiwarkę nr ID swojego kompa i wyświetla mu się strona z stanem swojego kompa.
Powód edycji: [Spawnm]: przenoszę.
Go to the top of the page
+Quote Post
wookieb
post 13.09.2009, 12:48:35
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




a poza "chciałbym" to jaki problem widzisz?


--------------------
Go to the top of the page
+Quote Post
pietrov8
post 13.09.2009, 12:51:33
Post #3





Grupa: Zarejestrowani
Postów: 188
Pomógł: 1
Dołączył: 4.07.2009
Skąd: ...

Ostrzeżenie: (10%)
X----


Cytat(wookieb @ 13.09.2009, 13:48:35 ) *
a poza "chciałbym" to jaki problem widzisz?


Nie wiem jak to wykonać, i poszukuje pomocy ;/
Go to the top of the page
+Quote Post
WebKing
post 13.09.2009, 12:55:11
Post #4





Grupa: Zarejestrowani
Postów: 219
Pomógł: 16
Dołączył: 16.07.2007

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


  1. $query = mysql_query("SELECT * FROM sklep WHERE item_id='".(int)$id."'");
Go to the top of the page
+Quote Post
pietrov8
post 13.09.2009, 13:18:35
Post #5





Grupa: Zarejestrowani
Postów: 188
Pomógł: 1
Dołączył: 4.07.2009
Skąd: ...

Ostrzeżenie: (10%)
X----


Plik html wykonany
  1. <from action="search.php">
  2. Wpisz ID swojego sprzętu: <input type="text"> <input type="submit" value="Wyszukaj">
  3. </from>
  4. </body>
  5. </html>


Teraz potrzebuje napisać search.php i ująć w nim tą linijkę którą podał WebKing. Czy jest jakiś przykładowy styl??
Go to the top of the page
+Quote Post
bogdan89
post 13.09.2009, 13:27:01
Post #6





Grupa: Zarejestrowani
Postów: 320
Pomógł: 36
Dołączył: 28.08.2006
Skąd: Wrocław

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


łączysz się z serwerem bazy danych: mysql_connect
wybierasz bazę: mysql_select_db
wywołujesz zapytanie do bazy, za przykładem podanego wyżej
pobierasz informację z bazy danych do tablicy: mysql_fetch_array
no i wyświetlasz na stronie.

ot to cała filozofia.

jeśli nie chce Ci się tego robić samodzielnie, załóż wątek w "Giełdzie ofert".
na pewno w kilka chwil zgłosi się kilka osób, które to zrobią za kilka PLN.

Ten post edytował bogdan89 13.09.2009, 13:28:16
Go to the top of the page
+Quote Post
pietrov8
post 13.09.2009, 13:31:18
Post #7





Grupa: Zarejestrowani
Postów: 188
Pomógł: 1
Dołączył: 4.07.2009
Skąd: ...

Ostrzeżenie: (10%)
X----


No wiesz początkujący jestem i chcę się sam nauczyć takie rzeczy robić.

A czy naprawdę nie ma jakiegoś szkicu na taką wyszukiwarkę?questionmark.gif
Go to the top of the page
+Quote Post
Crozin
post 13.09.2009, 13:52:23
Post #8





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


No ale przecież dostałeś już "przepis" na to jak to zrobić? W manualu masz przykłady na wykorzystanie konkretnej funkcji.
Go to the top of the page
+Quote Post
pietrov8
post 13.09.2009, 15:19:47
Post #9





Grupa: Zarejestrowani
Postów: 188
Pomógł: 1
Dołączył: 4.07.2009
Skąd: ...

Ostrzeżenie: (10%)
X----


  1. <?php
  2. mysql_connect('localhost:81', 'root', '') or
  3. die('Nie można się połączyć: ' . mysql_error());
  4. $query = mysql_query("SELECT * FROM sklep WHERE item_id='".(int)$id."'");
  5.  
  6. $result = mysql_query("SELECT id, nazwa FROM tabela");
  7.  
  8. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  9. printf ("ID: %s Nazwa: %s", $row[0], $row[1]);
  10. }
  11.  
  12. ?>


Mam coś takiego i... nic się niedzieje po wypełnieniu formularzu.
Go to the top of the page
+Quote Post
bogdan89
post 13.09.2009, 15:29:37
Post #10





Grupa: Zarejestrowani
Postów: 320
Pomógł: 36
Dołączył: 28.08.2006
Skąd: Wrocław

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


ok. kilka podstawowych spraw:

1) czy na pewno masz bazę danych o nazwie 'id' ?
2) czy w tej bazie danych masz tabelę o nazwie 'sklep' ?

3) jeśli powyższe się zgadza, to zrób w ten sposób:
  1. <?php
  2. mysql_connect('localhost:81', 'root', '') or
  3. die('Nie można się połączyć: ' . mysql_error());
  4. $query = 'SELECT * FROM sklep WHERE item_id='.$id.' LIMIT 1';
  5. $result = mysql_query($query);
  6. $row = mysql_fetch_array($result);
  7. echo $row['item_content']; //item_content zmień na swoją nazwę kolumny, w której przechowujesz treść, czy tam stan prac- nie wiem.
  8. ?>


poza tym, chyba lepiej będzie, jeśli zaczniesz od jakiejś książki z kursem PHP. Stron internetowych z kursami PHP i MySQL też jest pełno.
Go to the top of the page
+Quote Post
k_@_m_i_l
post 13.09.2009, 16:16:19
Post #11





Grupa: Zarejestrowani
Postów: 349
Pomógł: 72
Dołączył: 22.01.2008
Skąd: Wadowice/Oświęcim

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


W twoim kodzie nie masz nigdzie zadeklarowanej zmiennej $id.
Jeśli dobrze myślę, to chcesz korzystać ze zmiennych globalnych,a to nie jest najlepsze rozwiązanie.
Jeżeli przesyłasz formularz za pomocą metody GET to zrób :
  1. $id = intval($_GET['id']);

jeśli POST-em to :
  1. $id = intval($_POST['id']);

Wstaw to przed linią w której wykonujesz zapytanie i powinno śmigać.
Polecam jednak jakiś kurs PHP i manual,manual,manual do bólu tam szukaj bo tam wszystko jest opisane.


--------------------
"PHP to człowiek. MySQL to również człowiek."
Go to the top of the page
+Quote Post
pietrov8
post 13.09.2009, 17:04:07
Post #12





Grupa: Zarejestrowani
Postów: 188
Pomógł: 1
Dołączył: 4.07.2009
Skąd: ...

Ostrzeżenie: (10%)
X----


Ok problem rozwiązany. Teraz chciałbym spróbować na drugi sposób.

Wpisuje nr ID w stworzony formularz html następnie skrypt php pobiera dane z pliku txt (wcześniej utworzonego) i wyświetla dane przypisane do nr ID w pliku txt.
Go to the top of the page
+Quote Post
Ociu
post 13.09.2009, 17:10:45
Post #13





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




file
Polecam też trochę własnej inicjatywy i przejrzenie manuala lub jakiegoś kursu.
Go to the top of the page
+Quote Post
pietrov8
post 13.09.2009, 17:45:20
Post #14





Grupa: Zarejestrowani
Postów: 188
Pomógł: 1
Dołączył: 4.07.2009
Skąd: ...

Ostrzeżenie: (10%)
X----


Ok pobrać plik potrafię ale jak wyświetlić dany numer??

  1. <?php
  2. $tmp = file('text.txt', 'rt');
  3. $out = '';
  4. foreach ($tmp as $row) {
  5. $linia = explode('|', trim($row));
  6. $value = $linia[1].$linia[3];
  7. $linia = array_slice($linia, 1);
  8. $out .= '<tr>';
  9. $out .= '<td>'.implode('</td><td>', $linia).'</td>';
  10. $out .= '<td><br></td>';
  11. $out .= '</tr>';
  12. }
  13. echo $out;
  14. ?>


Dane mi wyświetla ładnie tylko teraz chcę by spośród tych 3 wybrało mi jedną zdefiniowaną w formularzu html przez osobę odwiedzającą
Go to the top of the page
+Quote Post
nowotny
post 13.09.2009, 17:58:47
Post #15





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


No to robisz ifa i porównujesz czy dany wiersz się zgadza z wybranym z formularza... jak się zgadza to wyświetlasz... jak nie, to nie...
Go to the top of the page
+Quote Post
pietrov8
post 13.09.2009, 19:32:43
Post #16





Grupa: Zarejestrowani
Postów: 188
Pomógł: 1
Dołączył: 4.07.2009
Skąd: ...

Ostrzeżenie: (10%)
X----


A mógłbyś mi poprawić ten kod. smile.gif Byłbym wdzięczny.

Nikt niepomoże??
Chociaż jaką strukturę IF zastosować??

Wygląd pliku txt
Cytat
1|Laptop| w trakcie naprawy
2|Monitor| w trakcie naprawy
3|Komputer| naprawiony
Go to the top of the page
+Quote Post
Crozin
post 13.09.2009, 20:00:20
Post #17





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


A może sam byś się trochę wysilił i pokazał jak próbujesz robić i ewentualnie z czym Ci nie wychodzi?
Go to the top of the page
+Quote Post
pietrov8
post 13.09.2009, 20:38:17
Post #18





Grupa: Zarejestrowani
Postów: 188
Pomógł: 1
Dołączył: 4.07.2009
Skąd: ...

Ostrzeżenie: (10%)
X----


  1. <?php
  2. $tmp = file('text.txt', 'rt');
  3. $out = '';
  4. foreach ($tmp as $row) {
  5. $linia = explode('|', trim($row));
  6. $value = $linia[2].$linia[3];
  7. $linia = array_slice($linia, 1);
  8. $out .= '<tr>';
  9. $out .= '<td>'.implode('</td><td>', $linia).'</td>';
  10. $out .= '<td><br></td>';
  11. $out .= '</tr>';
  12. }
  13. if $_GET="1";
  14. echo $out;
  15. ?>


Wywala problem
Cytat
Parse error: syntax error, unexpected T_VARIABLE, expecting '(' in C:\Program Files\WebServ\httpd\wyszukiwarka\search.php on line 13
Go to the top of the page
+Quote Post
TrevorGryffits
post 13.09.2009, 21:05:05
Post #19





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 29.07.2007
Skąd: Tarnowskie Góry

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


Rany włoskie... Polecam zajrzenie do dokumentacji, czy kursu odnośnie struktur kontrolnych...
Go to the top of the page
+Quote Post
CreamDealer
post 19.09.2009, 21:23:44
Post #20





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.09.2009

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


Witam! Jestem praktycznie zielony z sql'a, jednak udało mi się coś takiego stworzyć i teraz chciałbym zrobić wyjątek wyszukiwania dla jednej zmiennej, "kwota". Chciałbym, aby ta zmienna była wyszukiwana z between, czyli z przedziału, który zadawany jest przez użytkownika w dwóch inputboxach (kwota1 i kwota2). Czy da się tak ustawić, żeby przy nie wypełnieniu tych pozycji (lub jednej z nich) wyświetlał wszystko (lub minimum lub maksimum, w zależności od wypełnienia).
  1. <?php
  2. $search_array = array('usluga', 'branza', 'kwota', 'doradca');
  3. $where = array();
  4. foreach ( $search_array as $search ) {
  5. $value = JRequest::getVar($search, '' , 'post');
  6. if ( $value ) {
  7. $where[] = " $search LIKE '%$value%' ";
  8. }
  9. }
  10. if ( !empty($where) ) {
  11. echo " WHERE ".implode(' AND ', $where);
  12. }?>


Z góry dziękuję za pomoc!
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 27.06.2025 - 21:48