Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Pobieranie url z bazy danych jak LIKE tylko odwrotnie
Octobus
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


Mam baze danych z adresami sklepu internetowego i muszę pobierać adresy tak że jezeli adres który chce pobrać wyglada tak: sklep.pl/kategoria-3/produkt-2/index.php to musi mi pobrac:
a) rekord z dokladnie takim adresem (to mam)
b) jezeli nie ma takiego to, rekord z adresem ktory jest bardziej ogolny czyli rozne warianty az natrafi na ktorys (jezeli w ogole jest) czyli:
sklep.pl/kategoria-3/produkt-2/
sklep.pl/kategoria-3/
sklep.pl/
w tej dokładnie kolejności. Problem w tym ze adresy są do 3 sklepów a ja nie mam listy jak one wyglądają, podałem tylko przyklad. Gdyby odwrocic to o co sie pytam i to co chce dostac, wystarczyloby LIKE ale tutaj trzeba odwrotnie, pytanie tylko jak ... najlepiej jakby bylo to w jednym zapytaniu, bo polaczen do bazy danych bedzie naprawde duzo ...

Ten post edytował Octobus 1.07.2014, 10:14:56
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
in5ane
post
Post #2





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

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


No to zrób to wszystko w PHP (nie chce mi się pisać w tym momencie dłuższego zapytania). Czyli tak, pobierasz wszystkie rekordy i robisz na niech each'a, instrukcje warunkową z preg'ami, np.
  1. preg_match_all('/sklep.pl\/kategoria-[0-9]\/produkt-[0-9](.*)/', $record['url'], $firstCheck);
  2. preg_match_all('/sklep.pl\/kategoria-[0-9](.*)/', $record['url'], $secondCheck);
  3. preg_match_all('/sklep.pl(.*)/', $record['url'], $thirdCheck);
  4. foreach ($records as $record)
  5. {
  6. if ($firstCheck || $secondCheck || $thirdCheck)
  7. {
  8. $foundLink = $record;
  9. }
  10. }


Ten post edytował in5ane 1.07.2014, 21:42:14
Go to the top of the page
+Quote Post

Posty w temacie


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: 17.10.2025 - 19:45