Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dodanie kilku rekordów do bazy za 1 razem
Forum PHP.pl > Forum > Przedszkole
miras
Witam, muszę dodać określoną przez formularz liczbę rekordów do bazy, rozwiązałem to tak, jednak nie działa:

  1. $this->insert = $this->pdo->exec('INSERT INTO `x` (`x`, `x`) VALUES(\'' . $this->x . '\',\'' . $x . '\')');
  2.  
  3.  
  4. i później
  5. for ($i=0; $i<4; $i++) {
  6. $this->insert;
  7. }
  8.  



i do bazy dodaje się tylko raz, jak to rozwiązać?
com
Chcesz dodać kilka taki samych rekordów do bazy? to bez sensu...
miras
Tak, jakbym wytłumaczył tu całość, to byś zobaczył, że jest sens, niestety musze tak zrobić..
nospor
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
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 ?
com
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 biggrin.gif
miras
Czyli najlepiej robić to na tablicach czy jest jeszcze jakieś inne rozwiązanie?
xbigos
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.