Skocz do zawartości

Insert dla kilku ID


Przejdź do rozwiązania Rozwiązane przez Weak.,

Rekomendowane odpowiedzi

Opublikowano

Cześć,

mam problem z insert'em dla kilku ID z formularza:

$form->add(new FormMember('members', NULL, TRUE, array('multiple' => NULL), NULL, NULL, NULL));

I chciałbym teraz, aby INSERT wstawiał dla ID np. 1,2 (jeżeli wpisze tam 2 użytkowników)

Czy jest jakiś sposób na tego typu działanie? 

 

Chodzi mi o to, abym nie musiał zawsze pojedyńczo dawać coś komuś tylko mogę jednorazowo wpisać kilku użytkowników i wstawi każdemu to co chce.

Z góry dzięki.

Opublikowano
Godzinę temu, DawPi napisał(a):

Jeszcze raz - chodzi Ci o pole wyboru wielu userów (multiple = 5 etc.) i potem co dokładnie?

Tak, mam teraz ustawione null aby moc wybierać nieskończoną ilość userów.

Chciałbym tak jak opisałem pobrać te ich ID co mi się udało i otrzymuje wartość z tego pola FormMember „1, 4” - user o ID = 1 i user o ID = 4

 

I teraz chodzi o to, aby wprowadzić jednoczenie zapytanie INSERT dla obu tych ID.

INSERT INTO xxx VALUES (m_id, total)

 

Gdzie m_id to wartość pobrana z FormMember czyli obecnie „1, 4”, a total to przykładowa wartość.

 

 

 

  • Manager
Opublikowano

No jest to możliwe ale nie lepiej mieć nad tym większą kontrolę (insert update)? Ilu tam userow wpisujesz, że chcesz jedno zapytanie? Ja na Twoim miejscu zrobiłbym to elegancko w pętli. Nic się nie stanie.

 

Chyba, że ewidentnie chcesz jedno zapytanie to daj znać. 

  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano
1 godzinę temu, DawPi napisał(a):

No jest to możliwe ale nie lepiej mieć nad tym większą kontrolę (insert update)? Ilu tam userow wpisujesz, że chcesz jedno zapytanie? Ja na Twoim miejscu zrobiłbym to elegancko w pętli. Nic się nie stanie.

 

Chyba, że ewidentnie chcesz jedno zapytanie to daj znać. 

Chciałbym jedno zapytanko ale jeżeli miałbyś pomysł jak to w pętli zrobić to byłbym tez wdzięczny za podrzucenie pomysłu.

  • Rozwiązanie
Opublikowano
if( !empty($values['members']) && \is_array($values['members']) ) {
	foreach( $values['members'] as $member ) {
		\IPS\Db::i()->insert('nazwa_tabeli', [ 'member_id' => $member->member_id ]);
	}
}

Nie wiem co kombinujesz, jak dasz więcej kodu to coś sie wymyśli. PS. IPS 4X czy 5(do 5 jeszcze nie zaglądałem)?

  • Lubię to 1
Opublikowano
Godzinę temu, Weak. napisał(a):
if( !empty($values['members']) && \is_array($values['members']) ) {
	foreach( $values['members'] as $member ) {
		\IPS\Db::i()->insert('nazwa_tabeli', [ 'member_id' => $member->member_id ]);
	}
}

Nie wiem co kombinujesz, jak dasz więcej kodu to coś sie wymyśli. PS. IPS 4X czy 5(do 5 jeszcze nie zaglądałem)?

dzięki wielkie, chwilowe przyćmienie.

tak, już na IC5 robie

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.