Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] wyszukiwarka - przełączanie na inna strone
em-ba
post 20.10.2008, 12:09:18
Post #1





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


Witam, w jaki sposób mogę uzyskać taki efekt w wyszukiwarce aby po kliknięciu submita "szukaj" po wpisaniu odpowiednich kryteriów były one wyświetlane w formularzu na innej stronie? dodam ze pole id jest przypisane inne dla jednej pozycji i jest niepowtarzalne
  1. <?php
  2. mysql_connect ('localhost', 'root', 'krasnal') or die ("nie udało sie połączyć");
  3. mysql_select_db('aaa') or die ("Nie mozna zlokalizowac bazy danych");
  4.  
  5. $dn = "SELECT * FROM `bbb` WHERE id LIKE '%".$id."%' AND date LIKE '%".$date."%'";
  6. $dn2 = mysql_query ($dn);
  7.  
  8.  
  9.  '<div>
  10.       <form action="wyszukiwarka1.php" method="POST">
  11.              <div>
  12.               <div id="md">
  13.                <div>
  14.                  <label for="id">nr miejsca:</label>
  15.                  <input id="id" name="id" class="text" type="text" maxlength="30" value="'.$dn2['id'].'" />
  16.                </div>
  17.                <div>
  18.                  <label for="date">data:</label>
  19.                  <input id="date" name="date" class="text" type="text" maxlength="30" value="'.$dn2['id'].'" />
  20.                </div>
  21.                <div>
  22.                  <input id="submit" class="submit" type="submit" value="Szukaj" />
  23.                </div>
  24.               </div>
  25.              </div>
  26.          </form>
  27.          </div>';
  28. ?>

formularz na kolejnej stronie mam zrobiony... chodzi mi o samo przełączenie smile.gif
lub, żeby dopiero po kliknięciu "szukaj" wyświetlił sie formularz z wyszukanymi danymi pod spodem wyszukiwarki (na tej samej str)

Ten post edytował em-ba 20.10.2008, 12:38:35
Go to the top of the page
+Quote Post
webasek
post 20.10.2008, 12:59:18
Post #2





Grupa: Zarejestrowani
Postów: 274
Pomógł: 35
Dołączył: 18.07.2008
Skąd: Kielce

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


Nie bardzo rozumiem ale może chodzi o to żeby w tym nowym formularzu dać:

  1. <?php
  2. '<div>
  3.      <form action="wyszukiwarka1.php" method="POST">
  4.             <div>
  5.              <div id="md">
  6.               <div>
  7.                 <label for="id">nr miejsca:</label>
  8.                 <input id="id" name="id" class="text" type="text" maxlength="30" value="'.$_POST['id'].'" />
  9.               </div>
  10.               <div>
  11.                 <label for="date">data:</label>
  12.                 <input id="date" name="date" class="text" type="text" maxlength="30" value="'.$_POST['date'].'" />
  13.               </div>
  14.               <div>
  15.                 <input id="submit" class="submit" type="submit" value="Szukaj" />
  16.               </div>
  17.              </div>
  18.             </div>
  19.         </form>
  20.         </div>';
  21. ?>


Wtedy w formularzu na następnej stronie będzie wpisane to co wyszukiwane. Czy o to chodzi?


--------------------
"Tylko dwie rzeczy są nieskończone: wszechświat oraz ludzka głupota,
choć nie jestem pewien co do tej pierwszej." Albert Einstein

Wirtualny Rynek Predykcyjny
Go to the top of the page
+Quote Post
em-ba
post 20.10.2008, 13:04:19
Post #3





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


tzn. chodzi mi o to, ze na jednej stronie mam pola z kryteriami wyszukiwania, a na drugiej mam formularz do ktorego te kryteria są pobierane...

Ten post edytował em-ba 20.10.2008, 13:04:46
Go to the top of the page
+Quote Post
golaod
post 20.10.2008, 13:14:44
Post #4





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


Wciąż nie wiadomo o co Ci chodzi.
Pierwsza strona to formularz w którym się coś wpisuje, dajmy na to datę tak ?
Po kliknięciu szukaj, możesz przekierować stronę albo do niej samej albo do innej np. właśnie do drugiego skryptu jak w Twoim przypadku.
Ok to jest zrozumiałe ale co ty chcesz osiągnąć w tym drugim skrypcie ?
Ma się pojawić taki sam formularz (zakładając, że formularz to TYLKO pola do wypełnienia - bo tak właśnie jest) tylko z danymi które ktoś wprowadził we WCZEŚNIEJSZYM formularzu ?
Czy Tobie raczej chodzi o to, że jak otrzymałeś już te dane z formularza to chcesz ODSZUKAĆ coś w bazie i potem wyświetlić to ? Błagam następnym razem pisać dokładnie najlepiej podając jakiś przykład, żeby było łatwiej to zobaczyć.

@edit

Przy okazji to Twój skrypt jest błędny bo w zmiennej dn2 posiadasz tylko identyfikator do zapytania, nie zaś wynik.
Po drugie wprowadzasz do formularza 2 razy tą samą rzecz czyli $dn2['id'] a powinno być chyba jeszcze $dn2['data']

Ten post edytował golaod 20.10.2008, 13:16:35
Go to the top of the page
+Quote Post
em-ba
post 20.10.2008, 13:30:08
Post #5





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


ok.. moze napisze jeszcze raz bardziej zrozumiale... (to moja pierwsza wyszukiwarka i dlatego mam z tym problem)
a więc tak.. mam strone wyszukiwarka1.php. znajduje się na niej jedno pole do wyszukiwania numeru miejsca (parkingowego) przechowywanego w bazie danych...
wiec zrobiłem taki plik wyszukiwarka1.php
  1. <?php
  2. mysql_connect ('localhost', 'root', 'krasnal') or die ("nie udało sie połączyć");
  3. mysql_select_db('aaa') or die ("Nie mozna zlokalizowac bazy danych");
  4.  
  5. $dn = "SELECT * FROM `bbb` WHERE id LIKE '%".$id."%'";
  6. $dn2 = mysql_query ($dn);
  7.  '<div>
  8.       <form action="wyszukiwarka2.php" method="POST">
  9.              <div>
  10.               <div id="md">
  11.                <div>
  12.                  <label for="id">nr miejsca:</label>
  13.                  <input id="id" name="id" class="text" type="text" maxlength="30" value="'.$dn2['id'].'" />
  14.                </div>
  15.                <div>
  16.                  <input id="submit" class="submit" type="submit" value="Szukaj" />
  17.                </div>
  18.               </div>
  19.              </div>
  20.          </form>
  21.          </div>';
  22. ?>

teraz chce aby pod wyszukiwarką lub najlepiej na drugiej stronie wyświetlił się formularz z reszta danych do tego miejsca parkingowego, np. nr tego miejsca, marka_auta, model_auta, itp
ta druga str nosi nazwe wyszukiwarka2.php na ktorej znajduja się pola do ktorych chce pobrac dane z bazy według numeru miejsca parkingowego
wyszukiwarka2.php
  1. <?php
  2. mysql_connect ('localhost', 'root', 'krasnal') or die ("nie udało sie połączyć");
  3. mysql_select_db('aaa') or die ("Nie mozna zlokalizowac bazy danych");
  4. '<div>
  5.      <form action="wyszukiwarka2.php" method="POST">
  6.             <div>
  7.              <div id="md">
  8.               <div>
  9.                 <label for="id">nr miejsca:</label>
  10.                 <input id="id" name="id" class="text" type="text" maxlength="30" readonly="readonly" value="'.$dn2['id'].'" />
  11.               </div>
  12.               <div>
  13.                 <label for="marka_auta">marka_auta:</label>
  14.                 <input id="marka_auta" name="marka_auta" class="text" type="text" maxlength="30" readonly="readonly" value="'.$dn2['marka_auta'].'" />
  15.               </div>
  16.               <div>
  17.                 <label for="model_auta">model_auta:</label>
  18.                 <input id="model_auta" name="model_auta" class="text" type="text" maxlength="30" readonly="readonly" value="'.$dn2['model_auta'].'" />
  19.               </div>
  20.              </div>
  21.             </div>
  22.         </form>
  23.         </div>';
  24. ?>



....tylko, że nie pobiera mi danych do tego formularza co powinien je wyświetlać :/

Ten post edytował em-ba 20.10.2008, 13:45:47
Go to the top of the page
+Quote Post
golaod
post 20.10.2008, 14:19:07
Post #6





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


Geh. Bo te Twoje skrypty w ogóle nie mają na celu tego robić. Po kolei zatem Ci wyjaśnie co zrobiłeś...

Przypuśćmy, że Twoja tabela bbb ma w sobie takie oto rekordy
id
--
1
2
3
4
5

Twój skrypt teraz łączy się z bazą ok (dodałbym tylko fakt, że warto przed tym a zaraz po znaczniku <?dać
  1. <?php
  2. ?>
ale to dla chętnych)
Następnie tworzysz zapytanie i wykonujesz zapytanie o identyfikator
czyli: $dn2 = mysql_query($dn) or die;
Wszystko w porządku ale to nie daje Ci jeszcze wyniku! Żeby takowy dostać trzeba użyć pętli (pętli dlatego, że nie ograniczasz swoich wyników sql przez np. LIMIT 1)
a zatem pętla:
  1. <?php
  2. while($wiersz = mysql_fetch_array($dn2))
  3. print_r($wiersz);
  4. ?>

dzięki temu wyświetlają Ci się wszystkie wyniki.
Wszystko fajnie pięknie ale po co to się robi skoro zaraz potem masz FORMULARZ dzięki któremu powinno się właśnie WYSZUKAĆ dany rekord tak ?
Nie widzę po prostu tego co ty chciałeś osiągnąć pisząc ten skrypt. dodam jeszcze, że teraz jak zastosujesz $wiersz['id'] to otrzymasz tą wartość o którą Ci tak chodziło.
Lecimy dalej, po kliknięciu szukaj przenosi Cię na wyszukiwarka2.php no i fajnie.
Co się znajduje w tym skrypcie ? Wszystko to co jest potrzebne do wyświetlenia....POZA POBRANIEM DANYCH Z BAZY!!!!!!
Chcesz pobrać dane ? No to znowu tworzysz zapytanie:
$dn = "SELECT....";
następnie identyfikator zapytania $dn2 = mysql_query($dn);
Na koniec pobierasz dane dzięki temu "wskaźnikowi" na wynik:
  1. <?php
  2. while($wynik = mysql_fetch_array($dn2)
  3. {
  4.   echo '<table>';
  5.   echo $wynik['id'];
  6.   echo $wynik['marka_auta'];
  7.   // sporo pominąłem no bo za Ciebie kodu nie będę pisał...
  8. }
  9. ?>


A do Ciebie młody adepcie php...czytaj manuale ze zrozumieniem.

Ten post edytował golaod 20.10.2008, 14:46:52
Go to the top of the page
+Quote Post
batman
post 20.10.2008, 14:27:13
Post #7





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Cytat
(brak bbcode bo byłem zbulwersowany)

Ciekawe w takim razie jak zareagujesz na warna z powodu braku bbcode. Rozumiesz aluzję?


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
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: 16.07.2025 - 13:11