Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak tu to zmienic?
k_uba
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 13.12.2006

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


Mam zapytanie ktore pobiera dane z formularza slowo_klucz. Moj profesorek nakazal aby w formularzu <input> moglo byc wiele pojedynczych slow, ktore maja byc interpretowane w zaptaniu jako: slowo1 OR slowo2 OR ... I co jest najciekawsze nakazal aby to zrobic wbudowana funkcja php a nie zadna inna wlasna czy wyrazeniem regularnym. Ja wpadlaem na funkcje
  1. <?php
  2. ?>
i zrobilem cos takiego:
  1. <?php
  2. $tekst1 =" ";
  3. $tekst2 =" OR dokumenty.slowo_klucz = ";
  4. $baza = $slowo_klucz;
  5. $slowo = str_replace($tekst1, $tekst2, $baza);
  6. ?>


Teraz chce to wrzucic do zapytania:
  1. SELECT Id_dokumenty, Imie, Nazwisko, Nazwa, Rodzaj, Tytul, Rok_wydania, Slowo_klucz, Data_dodania,
  2. plik_nazwa FROM autorzy INNER JOIN dokumenty INNER JOIN dziedzina INNER JOIN file WHERE Id_dokumenty = Id_dziedzina AND Id_dokumenty = Id_autorzy AND id_dokumenty = id_file AND (dokumenty.slowo_klucz = '$slowo') ORDER BY id_dokumenty


I tutaj pojawia sie problem jak jest klauzura WHERE ... AND (dokumenty.slowo_klucz = '$slowo') to samo '$slowo' tez musi zostac zmienione na (dokumenty.slowo_klucz = 'slowo1' OR dokumenty.slowo_klucz= 'slowo2' OR itd)
I jak to ustawic ? Z gory dzieki za rade
Go to the top of the page
+Quote Post
misieq
post
Post #2





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 1.11.2006

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


Przejżyj sobie funkcję explode, która potrafi 'rozłożyć' stringa na elementy tablicy dzieląc go wg. podanego znaku. Potem przechodząc po tablicy może po kolei "dobudowywać" część zapytania

Coś na tą nutę:

  1. <?php
  2. $czescZapytania = "dokumenty.slowo_klucz = '".$tablicaExplode[0]."'";
  3. for ($i = 1; $i < count($tablicaExplode) - 1; $i++) {
  4. $czescZapytania .= " OR dokumenty.slowo_klucz = '". $tablicaExplode[$i]."'";
  5. ?>


a potem dodajesz to do zapytania sql w sposób:
AND (".$czescZapytania.")

Edit: uważaj na znaki " oraz ' bo mogą się pomylić, ale chyba wiesz co robisz winksmiley.jpg

// prosze pamietac o bbcode -- tym razem dodalem

Ten post edytował dr_bonzo 14.01.2007, 17:30:36
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 Aktualny czas: 22.08.2025 - 09:54