Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nilson N

Postar com Array

Recommended Posts

Eu fiz esse formulário e gostaria de saber se tem como inserir esses dados num bd usando Array ou eu tenho que colocar uma variável diferente para cada campo?<?include "protecao.php";if(isset($_GET["Data"])){ $Data = $_GET["Data"]; echo "<center><h1>Jogos do dia: " .$Data. "<h1></center>";}?><HTML><HEAD> <TITLE>Adicionar Jogos</TITLE></HEAD><BODY><table border="0" width="100%"><?for ($i=1; $i<=6; $i++){?><tr> <td colspan="6"><b>Jogo nº<? echo $i ?></b></td></tr><tr> <td>Local:</td> <td><input type="text" size="13" value="Campo" disabled></td> <td><input type="text" size="13" value="Quadra 1" disabled></td> <td><input type="text" size="13" value="Quadra 2" disabled></td> <td><input type="text" size="13" value="Quadra P" disabled></td> <td><input type="text" size="13" value="Vôlei de Praia" disabled></td></tr><tr> <td>Campeonato:</td> <td><input type="text" name="Campeonato[]" size="13" value="Futebol" disabled></td> <td><select name="Campeonato[]" size="1"> <option></option> <option>Basquete</option> <option>Futsal</option> </select></td> <td><select name="Campeonato[]" size="1"> <option></option> <option>Basquete</option> <option>Futsal</option> </select></td> <td><input type="text" name="Campeonato[]" size="13" value="Vôlei" disabled></td> <td><input type="text" name="Campeonato[]" size="13" value="Vôlei" disabled></td></tr><tr> <td>Mandante:</td><?$numero=1;while ($numero<=5){$numero++;?> <td><select name="Mandante[]" size="1"> <option></option> <option>América</option> <option>Atlético - MG</option> <option>Atlético - PR</option> <option>Botafogo</option> <option>Corinthians</option> <option>Cruzeiro</option> <option>Figueirense</option> <option>Flamengo</option> <option>Fluminense</option> <option>Goiás</option> <option>Grêmio</option> <option>Internacional</option> <option>Juventude</option> <option>Náutico</option> <option>Palmeiras</option> <option>Paraná</option> <option>Santos</option> <option>São Paulo</option> <option>Sport</option> <option>Vasco</option> <option>Ponte Preta</option> <option>Fortaleza</option> <option>São Caetano</option> <option>Santa Cruz</option> <option>Portuguesa</option> </select></td><?}?></tr><tr> <td>Visitante:</td><?$numero=1;while ($numero<=5){$numero++;?> <td><select name="Mandante[]" size="1"> <option></option> <option>América</option> <option>Atlético - MG</option> <option>Atlético - PR</option> <option>Botafogo</option> <option>Corinthians</option> <option>Cruzeiro</option> <option>Figueirense</option> <option>Flamengo</option> <option>Fluminense</option> <option>Goiás</option> <option>Grêmio</option> <option>Internacional</option> <option>Juventude</option> <option>Náutico</option> <option>Palmeiras</option> <option>Paraná</option> <option>Santos</option> <option>São Paulo</option> <option>Sport</option> <option>Vasco</option> <option>Ponte Preta</option> <option>Fortaleza</option> <option>São Caetano</option> <option>Santa Cruz</option> <option>Portuguesa</option> </select></td><?}?></tr><tr><td height="20"></td></tr><?}?><tr><td align="center" colspan="6"><input type="submit" value="Adicionar Jogos"></td></tr></table></BODY></HTML>

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem.... não deu pra ler todo o seu código mas...ok>:foreach ($_POST['id'] as $id => $valor) {$id = $valor;faz a coneção com o bd.insere o(s) valor(s)depois fechao loop foreach com }no lugar de id você coloca o noime do campo do seu form.posta se der ou não der certo!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tentei fazer o que você disse mas a função foreach só retorna isso: CampeonatoMandante

 

Os campos que eu fiz no formulário foram: Campeonato[], Local[], Mandante[], Visitante.

 

Cada campo foi repetido 30 vezes.

 

Eu não sei se fazendo Campeoanto[] o php já entende como array, ou seja, minha dúvida é o que devo por no name do campo e se o nome é igual para todos os campos?

 

Eu quero que quando clico em Adicionar Jogos todas as 30 entradas de cada um dos 4 campos seja inserida nessa tabela:

 

--

-- Estrutura da tabela `jogos`

--

 

CREATE TABLE `jogos` (

`CodJogo` smallint(6) NOT NULL auto_increment,

`competicao` varchar(20) default NULL,

`local` varchar(20) default NULL,

`CodTime_A` smallint(6) NOT NULL default '0',

`CodTime_B` smallint(6) NOT NULL default '0',

PRIMARY KEY (`CodJogo`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz um teste:::tente vez de declarar valores nos options<option value='santos'>santos</option>

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem... e entendi bem...você quer inserir todo os nomes dos times de uma só vez....se for...em vez do select use checkbox ou radio!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não posso usar radio ou checkbox porque o site ficaria enorme verticalmente.O que eu quero é que fique assim:Jogo 1:a x b : basquetec x d : voleie x f : futebolg x h: futsalEu não posso colocar checkbox para ele escolher 2 opções entre 20 possíveis. E ainda ter que fazer isso várias vezes.visualiza o site em funcionamento para você entender melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

foreach ($_POST['id'] as $id => $valor) {$id = $valor;faz a coneção com o bd.insere o(s) valor(s)depois fechao loop foreach com }no lugar de id você coloca o noime do campo do seu form.

Dúvidas: O nome dos campos do form tem que ser o mesmo para todos? O nome deve ser: id ou id[] ou id[1]?Como eu pego os valores do Foreach para inseri-los no bd?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O site tá em localhost. Se seu PC tiver servidor tenta senão só tira essas dúvidas que eu me viro:O nome dos campos do form tem que ser o mesmo para todos? O nome deve ser: id ou id[] ou id[1]?Como eu pego os valores do Foreach para inseri-los no bd?

Compartilhar este post


Link para o post
Compartilhar em outros sites

como já falei por select não, ois ele é proprio pra uma seleção apenas!!!!testa isto::::<?phperror_reporting("E_NOTICE");foreach ($_POST['time'] as $select=> $valor) {$select = $valor;echo "$valor<br>"; }conect bd$sql="INSERT INTO table (campos) VALUES ('$valor')"; ?><form name="form1" method="post" action="teste.php"> <input type="checkbox" name="time[]" value="santos"> <input type="checkbox" name="time[]" value="flamengo"> <input type="submit" name="Submit" value="Enviar"></form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu testei com checkbox e deu certo. Depois mudei para select e funcionou tb. Obrigado cara, era disso que eu precisava.Mandante:<select name="time[]"size="1"> <option>santos</option> <option>flamengo</option></select>Visitante:<select name="time[]"size="1"> <option>santos</option> <option>flamengo</option></select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu pensei que você queria mandar todos os valores de um select apenas, realmete não dá mas, assim funfa belezaok precisando estamos aiabraço!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só mais um probleminha:a linha echo "$valor<br>";} tá funcionando normalmente só que ñ to conseguindo inserir as variáveis $valor no bd.<?error_reporting("E_NOTICE");foreach ($_POST['time'] as $select=> $valor) {$select = $valor;echo "$valor<br>";}$conexao = mysql_pconnect("localhost","root","");mysql_select_db("placar",$conexao);$sql = mysql_query ("INSERT INTO table VALUES('$valor')");?><form name="form1" method="post" action="teste.php"><input type="checkbox" name="time[]" value="santos">santos<input type="checkbox" name="time[]" value="flamengo"> flamengo<input type="submit" name="Submit" value="Enviar"></form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

infelizmente a partir dai você tem de estudar!!!pois conexão, seleção, inserção, atualização exclusão de registros são coisas simples....bons estudos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui

 

$sql = mysql_query ("INSERT INTO table VALUES('$valor')");

ta faltando dados

 

$sql = mysql_query ("INSERT INTO table 'campos','campos' VALUES('$valor')");

 

você tem q colocar assim na ordem , de modo que o primeiro campo seja o indexador do valor..

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta faltando dados$sql = mysql_query ("INSERT INTO table 'campos','campos' VALUES('$valor')");você tem q colocar assim na ordem , de modo que o primeiro campo seja o indexador do valor..

Eu não entendi porque você colocou dois campos sendo que a tabela tem apenas um.-- -- Estrutura da tabela `table`-- CREATE TABLE `table` ( `campos` varchar(32) default NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;você quer que o código fique assim:<?error_reporting("E_NOTICE");foreach ($_POST['time'] as $select=> $valor) {$select = $valor;echo "$valor<br>";}$conexao = mysql_pconnect("localhost","root","");mysql_select_db("placar",$conexao);$sql = mysql_query ("INSERT INTO usuario 'campos','campos' VALUES('$valor')");?><form name="form1" method="post" action="p.php"><input type="checkbox" name="time[]" value="santos">santos<input type="checkbox" name="time[]" value="flamengo"> flamengo<input type="submit" name="Submit" value="Enviar"></form>No campo que você disse que é o indexador eu devo colocar um número, tipo:$i=0;$i++;indexador = [$i]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu refiz o código e ficou assim:<?error_reporting("E_NOTICE");foreach ($_POST[time] as $chaves => $valores) {$array_dados[$chaves] = $valores;$conexao = mysql_pconnect("localhost","root","");mysql_select_db("placar",$conexao);$sql = mysql_query ("INSERT INTO usuario VALUES('$array_dados[$chaves]')");}?><form name="form1" method="post" action="p.php"><input type="checkbox" name="time[]" value="santos">santos<input type="checkbox" name="time[]" value="flamengo"> flamengo<input type="submit" name="Submit" value="Enviar"></form>Finalmente consegui inserir os dados no bd.Obrigado jonata e supertelnet, agora é só adaptar o código para minhas necessidades.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.