Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] problem z formularzem, a dokładniej z polem checkbox
sytluk
post
Post #1





Grupa: Zarejestrowani
Postów: 73
Pomógł: 3
Dołączył: 1.08.2006

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


Witam, posiadam taki formularz z polami cheatbox:

  1. <form action="wyslij.php" method="POST">
  2. <input type="checkbox" name="vista" value="Vista">Windows Vista<br>
  3. <input type="checkbox" name="xp" value="XP">Windows XP<br>
  4. <input type="checkbox" name="98" value="98">Windows 98/95<br>
  5. <input type="checkbox" name="linux" value="Linux">Linux/Unix<br>
  6. <input type="checkbox" name="mac_os" value="Mac OS">Mac OS
  7. </form>


Problem polega na tym, że chcę "odczytać" to co zostało zaznaczone i wstawić do bazy danych. Tworzę więc instrukcje if dla każdego pola oddzielnie i pętlę:
  1. <?php
  2. $system = array();
  3. if (isset($_REQUEST['vista'])) $system[] = "Windows Vista";
  4. if (isset($_REQUEST['xp'])) $system[] = "Windows XP";
  5. if (isset($_REQUEST['98'])) $system[] = "Windows 98";
  6. if (isset($_REQUEST['linux'])) $system[] = "Linux";
  7. if (isset($_REQUEST['mac_os'])) $system[] = "Mac OS";
  8.  
  9. foreach($system as $value) 
  10. {
  11. $wartosc = array($value);
  12. }
  13. echo($wartosc);
  14. ?>


Problem polega na tym, że nie wiem jak poza pętlą wyświetlić wszystkie zaznaczone wartości pól. Jest to niezbędne do dodania tych wartości do bazy danych w postaci zmiennej. Polecenie dodające wartości do bazy danych nie może być umieszczone w pętli, bo zostaną one dodane tyle razy ile pól zostało zaznaczonych.
Nie wiem czy te tablice zostały dobrze zrobione.
Może jest na to jakiś inny sposób? Ważne zeby działało (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Proszę o pomoc

Ten post edytował sytluk 3.12.2007, 11:28:22
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sytluk
post
Post #2





Grupa: Zarejestrowani
Postów: 73
Pomógł: 3
Dołączył: 1.08.2006

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


Cytat(BaN @ 3.12.2007, 17:06:02 ) *
Może zastosuj do kodu, który podałeś:
Kod
implode(',', $system)


Ten pomysł jest dosyć ciekawy i kiedy wywołuje funkcje:
  1. <?php
  2. $system = array();
  3. if(isset($_REQUEST['vista'])) $system[] = 'Windows Vista';
  4. if(isset($_REQUEST['xp'])) $system[] = 'Windows XP';
  5. if(isset($_REQUEST['98'])) $system[] = 'Windows 98/95';
  6. if(isset($_REQUEST['linux'])) $system[] = 'Linux/Unix';
  7. if(isset($_REQUEST['mac'])) $system[] = 'Mac OS X';
  8.  
  9. $systemy = implode(',', $system);
  10. echo($systemy);
  11. ?>


To normalnie wyświetlają się wszystkie zaznaczone parametry. Jednak, gdy dodaje $systemy do bazy danych:

  1. $query="INSERT INTO gry(system) VALUES('$systemy')";
  2. $result= mysql_query($query) OR die('Dodanie gry nie udało się');


to później kiedy chce odczytać tą wartość z bazy to nie działa. Nic się nie wyświetla.
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: 9.10.2025 - 06:25