Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak wyciągnąć konkretne rekordy z bazy za poprzez pole typu VARCHAR?
bebzon_hc
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 10.02.2011
Skąd: Rawicz

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


Witam!
Mam mały dylemat. Może ktoś ukierunkuje mnie jak to zrobić.

Docelowo chciałbym stworzyć formularz za pomocą którego chciałbym przyjmować zlecenia na reklamy. Jedno z pól formularza zlecenia to numer edycji gazety w której ma się ukazać reklama. Chciałbym, żeby wpisywanie numerów gazet wyglądało np. tak: 2;3;4;5;6;12;14;16;32;33;34;34;36 <- każda liczba to numer gazety w której ma ukazać się reklama z danego zlecenia (obecnie pole mam typu VARCHAR).

Mój dylemat zaczyna się w momencie gdy pomyślę sobie o przypadku gdy chciałbym wyciągnąć wszystkie zlecenia które zawierają numer np. 4 dla jednej konkretnej gazety (jest ich 5).

Do głowy przychodzi mi tylko jedna opcja... rozbić ciąg znaków (poprzez średnik - wink.gif i stworzyć instrukcje w php która do każdej rozbitej liczby (numeru gazety) zrobi osobnego INSERT'a.
Tyle, że boję się jednak, że gdy będą zlecenia do 5 gazet np. na cały rok to wtedy jednym zleceniem program musiałby wykonać sporo tych INSERTÓW...

5 gazet * 52 numery w roku = 260 insertów na jedno zlecenie? ehhhh

P.S Myslałem sobie, żeby dla samych gazet stworzyć tablicę "tytuy_gazet" i połączyć ją z tablicą "zlecenia" wiele do wielu. Powstała by wówczas "tytuly_gazet_has_zlecenia" z której wyciągałbym sobie zlecenia poprzez gazety. Dałoby się również podpiąć pod "tytuly_gazet_has_zlecenia" dodatkową tablicę z numeracją gazet, ale to chyba nie w tę stronę zmierza. Ogólnie i tam trzebaby robic równie dużo instertów...

Jakies wskazówki?

Dziękuję z góry i pozdrawiam

Ten post edytował bebzon_hc 11.04.2012, 13:46:29
Go to the top of the page
+Quote Post
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Dużo lepiej by było jak byś miał osobną tabele w której łączył byś reklamę z gazetą.
Ale jeżeli już musisz mieć
Cytat
2;3;4;5;6;12;14;16;32;33;34;34;36

to niech to będzie
Cytat
;2;3;4;5;6;12;14;16;32;33;34;34;36;

wtedy wyszukiwanie numerów będzie wyglądało
  1. LIKE "%;4;%"


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
bebzon_hc
post
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 10.02.2011
Skąd: Rawicz

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


hmmmm...
chyba jakbym zrobił i połączył tabelę reklama z gazetą to znacznie zwiększył bym ilość rekordów i pracy człowiekowi któy by wprowadzał dane. Chcę za pomocą jednego zlecenia wrzucić wiele publikacji jednej reklamy jednego zleceniodawcy. smile.gif

ale spodobał mi się pomysł z:
LIKE "%;4;%"

Jutro pobawię się chyba z tym bo chyba to powinno zadziałać.
Go to the top of the page
+Quote Post
skowron-line
post
Post #4





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat(bebzon_hc @ 11.04.2012, 12:54:44 ) *
chyba jakbym zrobił i połączył tabelę reklama z gazetą to znacznie zwiększył bym ilość rekordów i pracy człowiekowi któy by wprowadzał dane

Wartość w polu input mogła by zostać taka sama 1;2;3;4 tylko byś to rozbijał i robil kilka insertów. A ładował do pola GROUP_CONCAT. No ale decyzja należy do ciebie.


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
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: 19.08.2025 - 14:41