Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP+MySQL] Formularz multiple
Forum PHP.pl > Forum > Gotowe rozwiązania
Dowhook
Zrobiłem formularz z opcją wielokrotnego wyboru, jednak gdy wysyłam te dane z formularza do bazy danych zapisuję się tylko ostatnia wybrana opcja.

Oto formularz:
Kod
<select size="9" name="bron" style="font-size: 8pt; font-family: Verdana; background-color: #FFFFFF; border: 1 solid #000000" multiple>

  <option>SOPMOD M4</option>

  <option>M9 Pistol</option>

  <option>Special Purpose Rifle</option>

  <option>M16A2</option>

  <option>M4A1</option>

  <option>M203</option>

  <option>M249 SAW</option>

  <option>M24</option>

  <option>Barrett M82A1</option>

</select>


A to skrypt dodawania danych do bazy i wyświetlania danych:
Kod
<?

$db_name = "rtw";

$table_name = "members";

$connection = @mysql_connect("localhost", "rtw", "190288") or die("Próba połaczenia nie powiodła się.");

$db = @mysql_select_db($db_name, $connection) or die("Wybór bazy danych nie powiódł się.");

$sql = "INSERT INTO $table_name

(id, nick, ranga, team, email, gg, bron, mapa)

VALUES

("",

"$nick", "$ranga", "$team", "$email", "$gg", "$bron", "$mapa")

";

$result = @mysql_query($sql, $connection) or die("Wykonanie zapytania nie powiodło się.");

?>

<html>

<head></head><body>

<? print("$nick"); ?><br>

<? print("$ranga"); ?><br>

<? print("$team"); ?><br>

<? print("$email"); ?><br>

<? print("$gg"); ?><br>

<? print("$bron"); ?><br>

<? print("$mapa"); ?><br>

</body></html>


I jeszcze struktura tabeli bazy danych:
Kod
CREATE TABLE `members` (

  `id` int(11) NOT NULL auto_increment,

  `nick` varchar(75) NOT NULL default '',

  `ranga` varchar(50) NOT NULL default '',

  `team` varchar(25) NOT NULL default '',

  `email` varchar(100) NOT NULL default '',

  `gg` varchar(50) NOT NULL default '',

  `bron` varchar(100) NOT NULL default '',

  `mapa` varchar(100) NOT NULL default '',

  PRIMARY KEY  (`id`)

) TYPE=MyISAM PACK_KEYS=0 AUTO_INCREMENT=1;


Z góry dzięki!
Ozzy
name="bron[]"
Dowhook
Tylko tyle? Sorry ale ja w php to zielony jestem tongue.gif Mam tylko to zmienić?

UPDATE: Zmieniłęm na bron[] i wyswietla mi takie cos:

Kod
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /home/accounts_r/rtw/public_html/admin/do_addmember.php on line 56
Dowhook
Pomoże mi ktoś czy nie?questionmark.gif
Ozzy
Pewnie, że nie wszytko. Od tego trzeba zacząć;)

Kod
"". implode(', ', $bron) .""
spróbuj
Dowhook
A gdzie mam to wstawić bo ja początkujący biggrin.gif
Dowhook
OK. Już wiem. Działa, ale jeszcze jedna rzecz. Jak teraz mogę wyświetlić na stronie ten wiersz z bazy danych?

Kiedy robie tak:
[php:1:8fd1115e0f]<? print("$bron"); ?>[/php:1:8fd1115e0f]
to nie działa.
shima
Cytat
OK. Już wiem. Działa, ale jeszcze jedna rzecz. Jak teraz mogę wyświetlić na stronie ten wiersz z bazy danych?

Kiedy robie tak:
[php:1:331774fe9c]<? print("$bron"); ?>[/php:1:331774fe9c]
to nie działa.


[php:1:331774fe9c]<? print("$bron[$numer]"); ?>[/php:1:331774fe9c]
[php:1:331774fe9c]<? print("$bron['klucz']"); ?>[/php:1:331774fe9c]
etc. Zależy jak je przechowujesz/obsługujesz
Ozzy
[php:1:1337ad0418]<?php
print implode(', ', $bron);
?>[/php:1:1337ad0418]


?
Dowhook
Właśnie! Jesteś wielki stary ! Dzięki wielkie!!!! :wink:
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-2024 Invision Power Services, Inc.