Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak wyciągnąć konkretne rekordy z bazy za poprzez pole typu VARCHAR?
Forum PHP.pl > Forum > PHP
bebzon_hc
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
skowron-line
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;%"
bebzon_hc
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ć.
skowron-line
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.