Autor | Zpráva | ||
---|---|---|---|
Sylar Profil |
#1 · Zasláno: 23. 6. 2011, 15:40:27
Zdravím,
v proměnné mám string $dlouhy_string = "abc / MOJE_JMENO _def" v databázi mám uloženo pouze MOJE_JMENO MOJE_JMENO_2 MOJE_JMENO_3 lze pomocí sql dotazu zjistit zda-li některý záznam v db je obsažen v tom stringu $dlouhy_string ? napadá mě pouze řešení, vytáhnout si všechny záznamy z db a pak je cylkem kontrolovat funkcí na podřetězce např. strpos() ale rád bych to udělal trošku elegantněji ... napadá někoho nějaké možné řešení? |
||
Jozin Profil |
#2 · Zasláno: 23. 6. 2011, 15:42:54
Zdravím,
a co to udělat obráceně. V PHP rozsekat $dlouhy_string na $moje_jmeno, $moje_jmeno2 a $moje_jmeno3 a pak položit dotaz na db? |
||
Sylar Profil |
#3 · Zasláno: 23. 6. 2011, 15:49:27
Jozin:
to by v mém případě asi nefungovalo. příklad, který jsem uváděl je konkrétně použit na detekci robotů procházejících stránky (seznambot, googlebot apod.) Ten $dlouhy_string si já naplním $_SERVER['HTTP_USER_AGENT'], který obsahuje jméno robota, ale ještě k tomu další údaje a já mám v db uloženo právě jen to jméno robota Proto tvůj nápad použít nelze, protože není podle čeho rozsekávat (např. mezery nejdou protože některé jména robotů obsahují i mezeru). |
||
Tori Profil |
#4 · Zasláno: 23. 6. 2011, 16:00:42
Sylar:
MySQL ekvivalent pro strpos je LOCATE(), přičemž pořadí znaků se v MySQL počítá od 1. |
||
Sylar Profil |
#5 · Zasláno: 23. 6. 2011, 16:15:57
Tori:
skvělé, to je přesně co potřebuji. díky moc, funguje |
||
Časová prodleva: 13 let
|
0