Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] wyciągnięcie opcji szukaj do menu głownego.
Forum PHP.pl > Forum > Przedszkole
kononowicz
Mam menu napisane za pomocą CSS i znaczników <dl> <dt> i <dd>.

jest tez skrypt asortyment.php ktory wyszukuje i wyswietla znalezione dane:

w skrypcie tym jest formularz i skrypt do szukania i wyświeltania w tabelce.

jak zrobic aby w menu wyświetlony został formularz ktory wysyłałby dane do asortyment.php i wyswietlał dane?questionmark.gif?

menu np. w index.php

  1. <?php
  2. <dl id="menu0">
  3.  
  4. <dt><a href="#">firma >></a></dt>
  5. <dd><a href="index.html">o nas</a></dd>
  6. <dd><a href="filie.html">filie</a></dd>
  7. <dd><a href="formy.html">formy płatności</a></dd>
  8. <dt><a href="#">asortyment >></a></dt>
  9. <dd><a href="asortyment.php">szukaj</a></dd>
  10. <dd><a href="bud.html">Dział budowlany</a></dd>
  11. <dd><a href="san.html">Dział sanitarny</a></dd>
  12. <dd><a href="hyd.html">Dział hydrauliczny</a></dd>
  13. <dd><a href="narz.html">Dział narzędziowy</a></dd>
  14. <dd><a href="chem.html">Chemia gospodarcza</a></dd>
  15. <dd><a href="dekoral.html">Studio</a></dd>
  16. <dd><a href="promocje.html">Oferty promocyjne</a></dd>
  17. <dt><a href="#">kontakt >></a></dt>
  18. <dd><a href="kontakt.html">kontakt</a></dd>
  19. <dd><a href="adres.html">adres</a></dd>
  20. <dd><a href="mapa.html">mapa dojazdu</a></dd>
  21. <dd><a href="formularz.php">wyślij zapytanie</a></dd>
  22. <dt>
  23.  
  24.  <form action="asortyment.php" method="post">
  25. <br>wpisz towar
  26.  <input type="text" name="towary" id="towary" value="">
  27. <br>zakres ceny <br>od:
  28. <input type="text" name="cena_od" id="cena_od" value="">
  29. do:
  30. <input type="text" name="cena_do" id="cena_do" value="">
  31. <br>
  32. <br>wybierz dział <br> <select name="id_dzialy" id="id_dzialy">
  33. <option value=""> wszystkie
  34. <option value="1">dział budowlany
  35.  <option value="2">farby
  36.  <option value="3">dział hydrauliczny
  37.  <option value="4">dział metalowy
  38. <option value="5">dział sanitarny
  39. <option value="6">inne
  40.  </select>
  41. <input type="submit" name="znajdz" value="znajdz">
  42. <input type="reset" value="wyczyść">
  43. </select>
  44. </form>
  45.  
  46.  
  47.  </dt>
  48. </dl>
  49. ?>


asortyment:

  1. <HTML>
  2. <HEAD>
  3.  
  4. </HEAD>
  5. <BODY>
  6. <div id="opakowanie"> 
  7. <div id="zawartosc"> <br>
  8. <br>
  9. <br>
  10. <?php
  11. $connection = @mysql_connect('localhost', '*********', '***********')
  12. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  13. $db = @mysql_select_db('rafkaz', $connection)
  14. or die('Brak połączenia z bazą towarów <br />Błąd: '.mysql_error());
  15.  print ' <form action="asortyment.php" method="post">
  16. <br>wpisz towar
  17.  <input type="text" name="towary" id="towary" value="">
  18. <br>zakres ceny <br>od:
  19. <input type="text" name="cena_od" id="cena_od" value="">
  20. do:
  21. <input type="text" name="cena_do" id="cena_do" value="">
  22. <br>
  23. <br>wybierz dział <br> <select name="id_dzialy" id="id_dzialy">
  24. <option value=""> wszystkie
  25. <option value="1">dział budowlany
  26.  <option value="2">farby
  27.  <option value="3">dział hydrauliczny
  28.  <option value="4">dział metalowy
  29. <option value="5">dział sanitarny
  30. <option value="6">inne
  31.  </select>
  32. <input type="submit" name="znajdz" value="znajdz">
  33. <input type="reset" value="wyczyść">
  34. </SELECT>
  35. </form> ';
  36.  
  37.  
  38.  
  39. if((isset($_POST['znajdz']))&&(!$_POST['towary'])=='')
  40. {
  41.  
  42.  $towary = $_POST['towary'];
  43.  $kod = $_POST['kod'];
  44.  $wh = array();
  45.  if (!empty($_POST['cena_od']))
  46.  $wh[] = 'CENA >= '.$_POST['cena_od'];
  47.  if (!empty($_POST['cena_do']))
  48.  $wh[] = 'CENA <= '.$_POST['cena_do'];
  49.  if (!empty($_POST['towary']))
  50. $wh[] = "TOWARY LIKE '%$towary%'";
  51.  if (!empty($_POST['id_dzialy']))
  52. $wh[] = "ID_DZIALY = '$id_dzialy'";
  53.  if (!empty($wh))
  54. $where = 'where '.implode(' and ', $wh);
  55.  else
  56. $where = '';
  57.  
  58. $zapytanie = "SELECT * FROM `towary` , `dzialy` " .$where. " and `towary`.`ID_DZIALY`=`dzialy`.`ID";
  59. $wynik = mysql_query($zapytanie);
  60.  
  61.  
  62.  
  63. //$ilosc_wierszy = mysql_num_rows($wynik);
  64.  //echo "<br><img src=images/strzalka.jpg>  Znaleziono: $ilosc_wierszy<br><br>";
  65.  
  66.  echo "<table cellpadding="1" border=1>";
  67.  echo "<tr>";
  68.  echo "<td> towary </td>";
  69.  echo "<td> kod </td>";
  70.  echo "<td> cena </td>";
  71.  echo "<td> dział </td>";
  72.  echo "<tr>";
  73.  
  74.  while( $wiersz = mysql_fetch_array($wynik) )
  75.  {
  76.  
  77.  echo "<tr>";
  78.  echo "<td>".$wiersz['TOWARY']."</td>";
  79.  echo "<td>".$wiersz['KOD']."</td>";
  80.  echo "<td>".$wiersz['CENA']."</td>";
  81.  echo "<td>".$wiersz['DZIALY']."</td>";
  82.  echo "<tr>";
  83.  
  84.  }
  85. echo "</table>";
  86.  
  87. }
  88. else
  89. echo "Nie wpisano towaru";
  90.  
  91. mysql_close($connection);
  92. ?>
  93. <br>
  94. <br>
  95. <br>
  96. <br>
  97. <br>
  98. <br>
  99. <br>
  100. </div>
  101. <div id="nawigacja"> 
  102. <dl>
  103. <dt><a href="#">firma >></a></dt>
  104. <dd><a href="index.html">o nas</a></dd>
  105. <dd><a href="filie.html">filie</a></dd>
  106. <dd><a href="formy.html">formy płatności</a></dd>
  107. <dt><a href="#">asortyment >></a></dt>
  108. <dd><a href="asortyment.php">szukaj</a></dd>
  109. <dd><a href="bud.html">Dział budowlany</a></dd>
  110. <dd><a href="san.html">Dział sanitarny</a></dd>
  111. <dd><a href="hyd.html">Dział hydrauliczny</a></dd>
  112. <dd><a href="narz.html">Dział narzędziowy</a></dd>
  113. <dd><a href="chem.html">Chemia gospodarcza</a></dd>
  114. <dd><a href="ert.html">Studio Dekoral</a></dd>
  115. <dd><a href="promocje.html">Oferty promocyjne</a></dd>
  116. <dt><a href="#">kontakt >></a></dt>
  117. <dd><a href="kontakt.html">kontakt</a></dd>
  118. <dd><a href="adres.html">adres</a></dd>
  119. <dd><a href="mapa.html">mapa dojazdu</a></dd>
  120. <dd><a href="formularz.php">wyślij zapytanie</a></dd>
  121. </dl>
  122.  
  123. </BODY>
  124. </HTML>
rozny
moze zapisz kod formularza w osobnym pliku i zaimplementuj go do menu przez np require_once();, albo include/require, oczywiscie tym samym w pliku asortyment.php tez musial bys zaimplementowac ten plik poprzez (chyba najlepiej) require_once();

pozdrawiam smile.gif
kononowicz
Cytat(rozny @ 11.12.2006, 12:39:55 ) *
moze zapisz kod formularza w osobnym pliku i zaimplementuj go do menu przez np require_once();, albo include/require, oczywiscie tym samym w pliku asortyment.php tez musial bys zaimplementowac ten plik poprzez (chyba najlepiej) require_once();

pozdrawiam smile.gif


po zastosowaniu require_once("form_menu.php"); dział asortyment.php działa jak działał a w index.php w menu po wcisnieciu szukaj nie dzieje sie nic...


ps. kiedy dodałem jeszcze do form_menu.php linijke: require_once("asortyment.php"); to wowczas działa ale ze plik asortyment zawiera kod html to i sie stronka chrzani :/
rozny
ale on ci ma wyswietlic dane w menu.php czy tam gdzie asortyment.php? bo z tego co tam napisales to zrozumialem ze chcesz w menu umiescic szukarke i przez nia przesylac dane do asortyment.php... Jezeli tak to ustawiajac paramter action na asortyment.php musi ci kierowac zapytanie do tego pliku...
kononowicz
Cytat(rozny @ 11.12.2006, 13:09:02 ) *
ale on ci ma wyswietlic dane w menu.php czy tam gdzie asortyment.php? bo z tego co tam napisales to zrozumialem ze chcesz w menu umiescic szukarke i przez nia przesylac dane do asortyment.php... Jezeli tak to ustawiajac paramter action na asortyment.php musi ci kierowac zapytanie do tego pliku...


chodzi o to zeby w index.php jako element menu wyswietlic szukarke. cały skrypt tej szukarki jest w asortyment.php. wyniki nie moga byc wyswietlane w index.php bo sie po prostu nie zmieszcza (bo musiałbyby pojawic sie chyba rowniez w menu). wiec musi byc jakies przekierowanie zeby z formularza w index.php dane przechodzily do asortyment.php i tam wyswietlały wyniki... mam nadzieje ze cos z moich wypocin zrozumiesz tongue.gif
rozny
W takim razie moj sposob powinien zadzialac. W formularzu w znaczniku action (form action="") masz podany adres pliku asortyment.php, czyli ten do ktorego kierujemy dane wpisane w formularzu. Jest to nasz plik docelowy, w ktorym wyniki beda obrabiane i wyswietlane, wiec nie wazne gdzie ten formularz zostanie wklejony, zawsze bedzie sie odnosil do pliku asortyment.php.

  1. <?php
  2. //plik menu.php
  3. require_once(menu_form.php);
  4. ?>


  1. <?php
  2. //plik formularza
  3. <form action="asortyment.php" method="post" (...)>
  4. ?>


  1. <?php
  2. //plik aosrtyment.php
  3. if (isset($_POST['x'])) { //sprawdzanie czy sa dane z formularza, obrobka itp,
  4. ?>


To jest taka hierarchia. Jezeli formularz ma prawidlowo zdefiniowane znaczniki name w polach input wszystko powinno chodzic. oczywiscie warunek jest taki, ze wszystkie 3 pliki znajduja sie w tym samym folderze smile.gif
kononowicz
Cytat(rozny @ 11.12.2006, 13:57:45 ) *
W takim razie moj sposob powinien zadzialac. W formularzu w znaczniku action (form action="") masz podany adres pliku asortyment.php, czyli ten do ktorego kierujemy dane wpisane w formularzu. Jest to nasz plik docelowy, w ktorym wyniki beda obrabiane i wyswietlane, wiec nie wazne gdzie ten formularz zostanie wklejony, zawsze bedzie sie odnosil do pliku asortyment.php.

  1. <?php
  2. //plik menu.php
  3. require_once(menu_form.php);
  4. ?>


  1. <?php
  2. //plik formularza
  3. <form action="asortyment.php" method="post" (...)>
  4. ?>


  1. <?php
  2. //plik aosrtyment.php
  3. if (isset($_POST['x'])) { //sprawdzanie czy sa dane z formularza, obrobka itp,
  4. ?>


To jest taka hierarchia. Jezeli formularz ma prawidlowo zdefiniowane znaczniki name w polach input wszystko powinno chodzic. oczywiscie warunek jest taki, ze wszystkie 3 pliki znajduja sie w tym samym folderze smile.gif
jak poprzednio... działa w asortyment.php a z menu nie :/ ... według mnie wszystko robie tak jak mi napisałes
rozny
to w takim razie chyba nie rozumiem o co ci chodzi, bo z tego co wyrozumowalem to moja metoda powinna dzialac jak trzeba winksmiley.jpg

ja rozumiem to tak ze w menu masz poprostu wyszukiwarke i tyle, zadnego skryptu do wyswietlania wynikow wyszukiwania itd itp. wpisujac slowo do szukarki chcesz aby wyniki przeszukiwania wyswietlily sie w pliku asortyment.php. Jezeli o to ci chodzi to moj sposob poprostu musi dzialac, chyba ze masz cos powalone w ustawieniach serwera, ale jezeli ten formularz dzialal ci jak byl doklejony do pliku asortyment, to powinno byc wszystko ok. Jezeli zle rozumiem, to moze ci nie dzialac tak jak chcesz, ale jezeli to jest dobre rozumowanie, to powinno smigac w 100%..
kononowicz
Cytat(rozny @ 11.12.2006, 15:23:24 ) *
to w takim razie chyba nie rozumiem o co ci chodzi, bo z tego co wyrozumowalem to moja metoda powinna dzialac jak trzeba winksmiley.jpg

ja rozumiem to tak ze w menu masz poprostu wyszukiwarke i tyle, zadnego skryptu do wyswietlania wynikow wyszukiwania itd itp. wpisujac slowo do szukarki chcesz aby wyniki przeszukiwania wyswietlily sie w pliku asortyment.php. Jezeli o to ci chodzi to moj sposob poprostu musi dzialac, chyba ze masz cos powalone w ustawieniach serwera, ale jezeli ten formularz dzialal ci jak byl doklejony do pliku asortyment, to powinno byc wszystko ok. Jezeli zle rozumiem, to moze ci nie dzialac tak jak chcesz, ale jezeli to jest dobre rozumowanie, to powinno smigac w 100%..



no własnie smile.gif ja na poczatku tez tak zrobiłem jak Ty napisałes i dlatego własnie sie z tym mecze...

a jak wygląda u Ciebie jakies przykładowe menu?? bo moze jakis szczegół przeoczyłem...

te menu jest na samym dole np. pliku index.html a wyzej jest zawartosc strony index... i tak kazda podstrona zawiera w sobie menu.
Ziels
A może by zrobić to jako funkcja i potem wywoływać z odpowiednim argumentem? ^.-
kononowicz
Cytat(Ziels @ 11.12.2006, 15:46:23 ) *
A może by zrobić to jako funkcja i potem wywoływać z odpowiednim argumentem? ^.-


a dokładniej questionmark.gif co masz na myśli questionmark.gif
Ziels
  1. <?php
  2. function szukaj($co, $gdzie='gdzie', $jak='jak', $jak_tam_jeszcze_trzeba='cośtam'){
  3. // Cośtam robisz
  4. }
  5.  
  6. if(isset($_GET['szukaj']) && isset($_GET['co'])){
  7.  echo(szukaj($_GET['co]));
  8. }
  9. ?>


O to mi chodzi, po co bawić się w includowanie?
kononowicz
Cytat(Ziels @ 11.12.2006, 16:14:24 ) *
  1. <?php
  2. function szukaj($co, $gdzie='gdzie', $jak='jak', $jak_tam_jeszcze_trzeba='cośtam'){
  3. // Cośtam robisz
  4. }
  5.  
  6. if(isset($_GET['szukaj']) && isset($_GET['co'])){
  7.  echo(szukaj($_GET['co]));
  8. }
  9. ?>


O to mi chodzi, po co bawić się w includowanie?


ja powiem szczerze ,ze nie wiem jak sie za to zabrac ...
Ziels
blink.gif Może przenieść zawartość asortyment.php do tej funkcji tyle że operować na argumentach i
echo ('cośtam');
zamienić na
$return .= 'cośtam';
i zwracać wartość zmiennej $return?
kononowicz
a problem był co najmniej dziwny: otóz wyjałem ten skrypt poza <dt></dt> i działa...
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.