![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 10.04.2002 Skąd: Pruszków Ostrzeżenie: (10%) ![]() ![]() |
Witajcie w jednej kolumnie w bazie danych mam pewną tabelę która jest przez serialize przerobiona na string.
I tak wpadłem na pomysł żeby zrobić selekce danych już z poziomu bazy danych. Dlatego mam takie pytanie. czy za pomocą wyrażeń regularnych w mysql określić
ze wartość Solina 800 musi być większa od 0 czyli coś w stylu "Solina 800";i:(.*?); i zmienna wyciagnieta musi byc wieksza od zera. w tym przykladzie solina 800 ma wartosc 8 lub może jest funkcja podobna do explode za pomoca ktorej mógłbym sobie wyciąć co jest za 3-cim srednikiem. W ogole nie mam pomyslu jak to ugryźć. Może ktoś mnie tu naprowadzi na dobrą drogę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Witajcie kombinowałem całą noc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) I udało mi się rozwiązać problem za pomocą takiego zapytania. Może komuś na przyszłość się przyda.
A więc. Chcę wyświetlić wartość dla Solina 800 to: szukam na jakiej pozycji w stringu znajduje się szukane słowo "Solina 800" w moim przypadku słowo zaczyna się od 38 znaku w stringu. mnie interesuje to co się znajduje za po tym stringu a dokladnie po "i:" dlatego jeśli wiem na której pozycji znajduje się słowo Solina 800 (locate) jesli wiemy jak długi jest string Solina 800 (length) i dodamy ta STAŁĄ wartość jaka dzieli nas do wyniku czyli 4 znaki to uzyskamy interesujace nas dane. Oczywiscie Solina 800 w moim przypadku to marametr ktory w miare potrzeb jest zmieniany. Pozdrawiam. |
|
|
![]() |
![]() ![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 18 Dołączył: 23.08.2003 Skąd: Łomża Ostrzeżenie: (0%) ![]() ![]() |
Trochę odświeżę temat.
Mam pole `data`, o zawartości powiedzmy: a:3:{i:0;s:15:"blebleblebleble";i:1;s:10:"2008-08-06";i:2;s:10:"2008-08-08";} I teraz jak wyciągnąć rekordy, w których wartość wyżej pogrubiona (data) jest mniejsza od obecnej daty? Doszedłem do takiego selecta:
i stoję w miejscu... Proszę o pomoc. Pozdrawiam // edit OK rozwiązałem problem. Rozwiązanie:
Ten post edytował GrayHat 6.08.2008, 11:18:31 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 23:40 |