miras
25.01.2014, 17:20:24
Witam, muszę dodać określoną przez formularz liczbę rekordów do bazy, rozwiązałem to tak, jednak nie działa:
$this->insert = $this->pdo->exec('INSERT INTO `x` (`x`, `x`) VALUES(\'' . $this->x . '\',\'' . $x . '\')');
i później
for ($i=0; $i<4; $i++) {
$this->insert;
}
i do bazy dodaje się tylko raz, jak to rozwiązać?
Chcesz dodać kilka taki samych rekordów do bazy? to bez sensu...
miras
25.01.2014, 18:36:16
Tak, jakbym wytłumaczył tu całość, to byś zobaczył, że jest sens, niestety musze tak zrobić..
nospor
25.01.2014, 18:46:21
Przeciez zapytanie wykonujesz tylko raz przed petla... z jakiej racji myslisz ze puszczenie wyniku zapytania w petli wygeneruje ci dodatkwoe rekordy?? Chcesz miec 4 razy to 4 razy masz to wykonac w petli a nie raz przed...
miras
25.01.2014, 20:18:22
eh, fakt, tak przemyślałem, co napisał com i postanowiłem się Was poradzić jak zrobić, muszę mieć pulę graczy, wśród których będę przeprowadzał losowanie, będe musiał wylosować jednego gracza, każdy gracz może się maksymalnie zapisać 2 razy i teraz mam dylemat, czy zapisywać normalnie po 2 takie same rekordy do bazy, czy też dodać jeden rekord i dodać dodatkową kolumnę "powtórzenia" a później pobrać to wszystko do tablicy i losować w tablicy? co będzie lepsze ?
na pewno duplikaty tych samych rekordów nie są wskazane bo to psuje Ci całą bazę danych, jak potem będziesz próbował się do czegoś odnieść to będzie Ci zwracać 2 rekordy zamiast jednego itd...
nospor przyznaje się ze nawet wrzuciłem mu kod zgodnie z tym co mówisz ale potem zwątpiłem.. i go usunałem, ehh za dużo godzin przed kompem
miras
25.01.2014, 22:17:11
Czyli najlepiej robić to na tablicach czy jest jeszcze jakieś inne rozwiązanie?
xbigos
26.01.2014, 13:40:09
a gdybyś tak do tabeli dodał opcje ze gracz zapisał się albo raz albo 2 i potem przy losowaniu randomize po prostu napisz skrypt który podwójnie "przemieli" tego użytkownika. Składnia bazy danych pozostanie czysta jak łza i żaden z użytkowników nie będzie poszkodowany. Jeśłi losowanie to nie jest stały element skryptu który często jest wykonywany to może być. chociaż ja bym zrobił to właśnie na tablicach.
Pobierasz dane o użytkowniku, pobierasz ilość "zapisów" wrzucasz to wszystko w tablicę (wystarczy jednowymiarowa). Sprawdzasz czy są wszyscy od kontroli gier i zakładów. Oni kiwają głową i losujesz użytkownika. Czysto, szybko i skutecznie.
Oczywiście trzeba przerobić trochę skrypt do dodawania użytkownika. zeby zamiast powielać dane o nim, zmieniasz tylko w rekordzie informacje o tym który raz się zapisuje.
Peace.
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.