Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Lista wielokrotnego wyboru do zapytania SQL
blejdas
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 2.04.2012

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


Witajcie,

Mam skrypt losujący ID użytkownika według zadanych w formularzu właściwości. Pobieram z bazy danych listę userów i wyświetlam ja w formie listy wielokrotnego wyboru.

Chodzi o to, że muszę wykluczyć z zapytana ID użytkowników którzy zostali oznaczeni w liście wielokrotnego wyboru. Powinna też być możliwość nie zaznaczenia żadnego.

  1. $sql2 = 'SELECT id FROM users WHERE status = "Active" WHERE ID IS NOT ""ID" OR "ID" OR "ID" (itd. ile trzeba)" AND id IS NOT NULL ORDER BY RAND() LIMIT 1';


Czy ktoś mi mógłby podpowiedzieć czego użyć w tym wypadku? Chciałbym to skrócić do jednej zmiennej w której, w przypadku zaznaczenia chociaż jednej opcji chciałbym umieścić "ID IS NOT <id>" a w przypadku dwóch lub więcej powinno być dla każdego kolejnego dodawane "OR <id>".
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
blejdas
post
Post #2





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 2.04.2012

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


Dzięki! To jest to! (IMG:style_emoticons/default/smile.gif)

No i fajnie, bo SQL mam załatwiony bardzo prosto, ale nie mogę tablicy pobrać z formularza i wrzucić w ciąg.

Plik form.php
  1.  
  2. $sql = NULL;
  3. $sql = 'SELECT id, first_name, last_name FROM users WHERE id IS NOT NULL ';
  4. $result = mysql_query ($sql) or die (mysql_error ());
  5. $num = 0;
  6. while ($zmienna2 = mysql_fetch_array ($result)){
  7. $num++;
  8. echo'<input id="element_7" name="element_7[]" class="element checkbox" type="checkbox" value="'.$zmienna2['id'].'" />
  9. <label class="choice" for="element_7">'.$num.' - '.$zmienna2['first_name'].' '.$zmienna2['last_name'].'</label>';
  10.  
  11. }


Tutaj wyświetla mi się lista z checkboxami. Jest tych pozycji tyle ile znajdzie zapytanie SELECT. Zaznaczam na przykład 2 z 10 wyników i wysyłam formularz:

Plik wykonaj.php
  1. if (is_array($_POST['$element_7']))
  2. {
  3. $wyklucz1 = implode(",", $_POST['$element_7']);
  4. } ELSE {
  5. $wyklucz1 = "NIC TU NIEMA";
  6. }
  7. echo "Wykluczamy: $wyklucz1";


Wynikiem jest: Wykluczamy: NIC TU NIEMA
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 22:53