[php-brasil] Gravar checkbox selecionados em uma tabela no banco de dados

3,639 views
Skip to first unread message

Fabrício Santos

unread,
Nov 24, 2010, 9:44:13 AM11/24/10
to php-b...@googlegroups.com
Boa tarde pessoal.


Não sei como jogar os itens selecionados através de um checkbox no banco. Procurei na internet, vários scripts, consegui chegar até aqui mas não estou conseguindo gravar no banco.

Eu consigo selecionar eles. Encaminho para uma página check.php que fiz só para testar e imprir, para ver se ta selecionando. E isso está ok, ele imprime os checkbox que marquei.

Minha dificuldade é a seguinte: Como faço, para salvar no banco não só id dele, mas toda a linha ou seja todos os campos e tem que ser em um array.


Página aonde seleciono os checkbox.

 <?
include"conexao.inc";
if (isset($_GET['id']) ) {
$id = (int) $_GET['id'];

$row = mysql_fetch_array ( mysql_query("SELECT * FROM `requisito` WHERE `codreq` = '$id' "));


$result = mysql_query("SELECT * FROM `requisito` WHERE `codreq` = '$id'") or trigger_error(mysql_error());
while($row = mysql_fetch_array($result)){
foreach($row AS $key => $value) { $row[$key] = stripslashes($value); }

echo "<table border=1 >";
echo "<tr>";
echo "<td><b><center>Nome</center></b></td>";
echo "<td><b><center>Descrição</center></b></td>";
echo "<td><b><center>Tipo</center></b></td>";
echo "<td><b><center>Volatilidade</center></b></td>";
echo "<td><b><center>Responsável</center></b></td>";
 

 
echo "<tr>";
echo "<td valign='top'>" . nl2br( $row['nomereq']) . "</td>";
echo "<td valign='top'>" . nl2br( $row['desrec']) . "</td>";
echo "<td valign='top'>" . nl2br( $row['tiporeq']) . "</td>" ;
echo "<td valign='top'>" . nl2br( $row['volreq']) . "</td>";
echo "<td valign='top'>" . nl2br( $row['respreq']) . "</td>";
echo "</tr>";
} }
echo "</table>";
echo "<br>";
echo "<br>";
echo "<br>";

include"conexao.inc";
echo "<table border=1 >";
echo "<tr>";
echo "<td><b><center>Nome</center></b></td>";
echo "<td><b><center>Descrição</center></b></td>";
echo "<td><b><center>Tipo</center></b></td>";
echo "<td><b><center>Volatilidade</center></b></td>";
echo "<td><b><center>Responsável</center></b></td>";
echo "<td colspan=\"3\"><b><center>Requisitos Dependentes</center></b></td>";
echo "</tr>";


$result = mysql_query("SELECT * FROM `requisito` WHERE `codreq` != '$id'") or trigger_error(mysql_error());
while($row = mysql_fetch_array($result)){
foreach($row AS $key => $value) { $row[$key] = stripslashes($value); }

echo "<tr>";
echo "<td valign='top'>" . nl2br( $row['nomereq']) . "</td>";
echo "<td valign='top'>" . nl2br( $row['desrec']) . "</td>";
echo "<td valign='top'>" . nl2br( $row['tiporeq']) . "</td>" ;
echo "<td valign='top'>" . nl2br( $row['volreq']) . "</td>";
echo "<td valign='top'>" . nl2br( $row['respreq']) . "</td>";
echo "<td valign='top'><<input type=checkbox name='numeros[]' value={$row['codreq']}></a></td><td><a href=DelRequisito.php?id={$row['codreq']}>Excluir</a></td> ";

echo "</tr>";
}
echo "</table>";

echo "<a href=CadRequisitos.php><h3>Incluir Requisito</h3></a>";
?>

Página check.php que uso para verificar os itens selecionados. Mas não consigo fazer um jeito de gravar no banco os checkbox que marquei.

<?php
include"conexao.inc";

// Verifica se usuário escolheu algum número
if(isset($_POST["numeros"]))
{
echo "ID dos requisitos selecionados:<BR>";

// Faz loop pelo array dos numeros
foreach($_POST["numeros"] as $numero)
{
echo "- " . $numero . "<BR>";
}
}
else
{
echo "Você não escolheu número preferido!<br>";
}

foreach ($_POST as $numero => $valor) { $numero = $valor;

$variavel[] = $valor;
echo "- " . $variavel[$numero] . "<BR>";

}
?>

Eduardo Fernandes

unread,
Nov 24, 2010, 10:37:14 AM11/24/10
to php-b...@googlegroups.com
Fabricio,

Eu sou novato em PHP, mas já fiz algo parecido, só que não usei o foreach, usei um for... Vou tentar exemplificar:

Aqui você mostrou os itens selecionados:


<?php
include"conexao.inc";

// Verifica se usuário escolheu algum número
if(isset($_POST["numeros"]))
{
echo "ID dos requisitos selecionados:<BR>";
}
else
{
echo "Nenhum ID selecionado!";
}

// Busco os dados selecionados na página anterior:

$numeros = $_POST['numeros'];

for ($i=0; $i<sizeof($numeros); i++) {

      $busca[$i] = mysql_query("SELECT * FROM requisito WHERE codreq = ' ".$numeros[$i]." ' ");

      while ($resultado = mysql_fetch_array($busca[$i])) {

              $inserirDados = mysql_query("INSERT INTO nomeDaTabela (camposDaTabela) VALUES ( ' ".$resultado['nomeDoCampo']." ' )");

      }

}

?>


Espero ter conseguido ajudar...


Abs,

Eduardo Fernandes




--
Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.



--
Att,

Eduardo Fernandes

MVHost: Analise e Desenvolvimento de Sistemas Web
http://www.mvhost.com.br
Mobile: 21 9486-7840
E-mail: edu...@mvhost.com.br
GoogleTalk: efernan...@gmail.com
Msn: efernan...@hotmail.com

Tiago Agostinho

unread,
Nov 24, 2010, 10:39:03 AM11/24/10
to php-b...@googlegroups.com
Fabrício,

posta a estrutura do arquivo CadRequisitos.php para verificarmos como está sendo feito o insert.

Tiago

Em 24 de novembro de 2010 12:44, Fabrício Santos <fabric...@gmail.com> escreveu:

--

Fabrício Santos

unread,
Nov 24, 2010, 10:48:48 AM11/24/10
to php-b...@googlegroups.com
Obrigado Eduardo e Tiago.

Estrutura do CadRequisitos.php

<?
    include"conexao.inc";
   
//criando a query
$query = "SELECT * FROM tiporequisito";
//enviando ela para o banco
$query = mysql_query($query, $conexao);
//criando o select
?>
<select name="tiporeq" id="tiporeq">
<?
//pegando os dados
while($dados = mysql_fetch_array($query))
{
    //mostrando eles (dados) em forma de options
?>
    <option value="<?= $dados['nometiporeq'] ?>">
        <?= $dados['nometiporeq'] ?>
    </option>
<?
}
?>
</select>
<br /><br />
    <label for="volreq">Volatilidade</label><br />
   
    <?
    include"conexao.inc";
   
//criando a query
$query = "SELECT * FROM volatilidade";
//enviando ela para o banco
$query = mysql_query($query, $conexao);
//criando o select
?>
<select name="volreq" id="volreq">
<?
//pegando os dados
while($dados = mysql_fetch_array($query))
{
    //mostrando eles (dados) em forma de options
?>
    <option value="<?= $dados['ndescvol'] ?>">
        <?= $dados['ndescvol'] ?>
    </option>
<?
}
?>
</select>
<br /><br />
    <label for="respreq">Responsável</label><br /><br />
    <?
    include"conexao.inc";
   
//criando a query
$query = "SELECT * FROM usuarios";
//enviando ela para o banco
$query = mysql_query($query, $conexao);
//criando o select
?>
<select name="respreq" id="respreq">
<?
//pegando os dados
while($dados = mysql_fetch_array($query))
{
    //mostrando eles (dados) em forma de options
?>
    <option value="<?= $dados['nome'] ?>">
        <?= $dados['nome'] ?>
    </option>
<?
}
?>
</select>

Stephan A. de Souza

unread,
Nov 24, 2010, 10:52:41 AM11/24/10
to php-b...@googlegroups.com
serialize pra gravar, unserialize pra recuperar. ;)

2010/11/24 Tiago Agostinho <tiago.a...@gmail.com>



--

Murilo Rosa . Net --- Web Studio

unread,
Nov 24, 2010, 11:05:16 AM11/24/10
to php-b...@googlegroups.com
Para você entender como vem os resultados de um POST, na sua página que recebe o submit faça
<?php
    print_r($_POST);
?>
Vai te mostrar uma array.
Já no caso do checkbox, faça assim para você verificar.
<?php
print_r($_POST);
echo '<br /><br /><br /><br /><br />';

//para cada linha da array número atribua(aponte) um valor
foreach($_POST['numeros'] AS $linha => $valor){
echo 'A linha '.$linha.' tem o valor de '.$valor.'<br />';
}
?>

Att,
Murilo Rosa . Net
http://www.murilorosa.net
+554288010692
skype: murilobiassio
msn: con...@murilorosa.net


Em 24 de novembro de 2010 12:44, Fabrício Santos <fabric...@gmail.com> escreveu:

--

Eduardo Fernandes

unread,
Nov 24, 2010, 11:47:08 AM11/24/10
to php-b...@googlegroups.com
Se eu entendi bem, na página CadRequisitos.php você vai exibir e selecionar as linhas que você quer cadastrar... No seu select você colocou um array <select name="numeros[]">... Quando der o submit, você vai jogar para a página que fará o insert dos valores selecionados:

<?php

// Página do INSERT

// Aqui você vai receber o $_POST da página CadRequisitos.php e colocar os valores na variável $numeros, que será um array:
$numeros = $_POST['numeros'];

// Aqui eu crio um laço de FOR com o tamanho da array criada em $numeros para repetir a operação enquanto houver valores em $numeros:

for ($i=0; $i<sizeof($numeros); i++) {

      // Aqui eu faço a busca dos valores que selecionei

      $busca[$i] = mysql_query("SELECT * FROM requisito WHERE codreq = ' ".$numeros[$i]." ' ");

      while ($resultado = mysql_fetch_array($busca[$i])) {

              // Aqui faço o insert dos valores que selecionei

              $inserirDados = mysql_query("INSERT INTO nomeDaTabela (camposDaTabela) VALUES ( ' ".$resultado['nomeDoCampo']." ' )");

      }

}

?>

Eduardo Fernandes

unread,
Nov 24, 2010, 11:53:32 AM11/24/10
to php-b...@googlegroups.com
Desculpa aí galera, acabei de ver a estrutura do código do Fabricio...

Fabricio, pelo que vi, você tem 3 selects na página CadRequisitos.php, certo? Me diz uma coisa, nesse select você pode escolher mais de 1 valor?

Por exemplo: posso selecionar mais de 1 tiporeq, mais de 1 volreq e mais de 1 respreq de uma só vez? Ou só posso fazer 1 cadastro por vez?

Eduardo Alexandre

unread,
Nov 24, 2010, 1:50:19 PM11/24/10
to php-b...@googlegroups.com
Arquivo de inclusão .inc? Ui...

Abraços,
____________________
Eduardo Alexandre

Bruno Cardoso

unread,
Nov 24, 2010, 3:47:38 PM11/24/10
to php-b...@googlegroups.com
Não acho isso interresante fazer nao. o .inc fica exposto para qualquer um ler as configurações do banco.

Fabrício Santos

unread,
Nov 24, 2010, 9:55:14 PM11/24/10
to php-b...@googlegroups.com
Desculpe a demora em te responder Eduardo Fernandes

Em CadRequisitos.php eu posso selecionar 1 requisito e este requisito, possui um tiporeq, 1 volreq e 1 respreq.

tiporeq quer dizer: qual o tipo de requisito (Requisito Funcional, Não Funcional)
volreq quer dizer: qual a volatilidade do requisito (baixa, média, alta)
resreq quer dizer: qual o responsável pelo requisito (nome do analista responsável por gerenciar aquele requisito).

Não respondi antes, pois tive que trabalhar tarde/noite e no trabalho não tenho acesso ao gmail.

Obrigado, a todos que responderam, vou trabalhar no código esta madrugada.

Pablo Aguiar

unread,
Nov 25, 2010, 9:48:19 AM11/25/10
to php-b...@googlegroups.com
2010/11/24 Eduardo Alexandre <eduar...@gmail.com>
Arquivo de inclusão .inc? Ui...

Utilizar inc como sufixo de arquivos de inclusão é mais comum do que você imagina.
 
2010/11/24 Bruno Cardoso <nvnb...@gmail.com>

Não acho isso interresante fazer nao. o .inc fica exposto para qualquer um ler as configurações do banco.

Muito pelo contrário. Veja:

<FilesMatch "\.inc$">
    Deny from all
</FilesMatch>

Isso pode ser adicionado ao arquivo .htaccess. É uma diretiva de configuração do Apache, mas outros httpd's também oferecem algo do tipo. Como, por exemplo, para o nginx:

location ~ ^/.*\.inc$ {
    deny all;
}

Mas isso é pra quando não é o ideal, que é manter fora do diretório público tudo que não for necessário para o navegador renderizar as páginas.

Agora, ao que interessa.

2010/11/24 Fabrício Santos <fabric...@gmail.com>
(...) Minha dificuldade é a seguinte: Como faço, para salvar no banco não só id dele, mas toda a linha ou seja todos os campos e tem que ser em um array. (...)

Sem a estrutura da tabela fica meio tiro no escuro. Mas meu tiro é algo nesse sentido:

// Assumindo que $_POST['numeros'] já foi "limpo" ou "escapado" ou "filtrado" etc
$numeros = $_POST['numeros'];
$values = '(' . implode('), (', $numeros) . ')';
$query = "insert into tabela values $values";
//...
 
(...) Página aonde seleciono os checkbox. (...)

(...)


echo "<a href=CadRequisitos.php><h3>Incluir Requisito</h3></a>";

(...)

Onde está o POST dos dados do form, se é que tem form? Esse link Incluir Requisito faz um GET e, assim, não envia os dados do form e sequer os checkboxes marcados.

Abraços,
--
scorphus at users.sf.net: Pablo Aguiar
Free/Open Source Software Developer/Consultant
FOSS Infrastructure Specialist

Eduardo Alexandre

unread,
Nov 25, 2010, 11:09:21 AM11/25/10
to php-b...@googlegroups.com
Utilizar inc como sufixo de arquivos de inclusão é mais comum do que você imagina.

Pode ser comum, porém não é indicado.

Abraços,
____________________
Eduardo Alexandre 

BrunO

unread,
Nov 25, 2010, 11:23:38 AM11/25/10
to php-b...@googlegroups.com
Muito obrigado pela informação.

Suissa

unread,
Nov 25, 2010, 2:55:00 PM11/25/10
to php-b...@googlegroups.com
Pq nao usa uma classe de BD e seta as configs no construct ou em constants?

2010/11/25 Eduardo Alexandre <eduar...@gmail.com>

--
Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.



--
Jean C. Nascimento aka Suissa
Prof. Análise e Soluções Web Fafit/Facic & UML - Itararé - SP

WebDeveloper - wgbnet.com.br/ | localclub.com.br/
NoSQL Evangelist - nosqlbr.com.br/
iGrape Evangelist - igrape.org/
TheWebMind Evangelist - thewebmind.org/

      

Pablo Aguiar

unread,
Nov 25, 2010, 2:43:29 PM11/25/10
to php-b...@googlegroups.com
2010/11/25 Eduardo Alexandre <eduar...@gmail.com>

Utilizar inc como sufixo de arquivos de inclusão é mais comum do que você imagina.

Pode ser comum, porém não é indicado.

Por que motivo não é indicado?

Suissa

unread,
Nov 25, 2010, 4:49:35 PM11/25/10
to php-b...@googlegroups.com
qquer um pode ler/baixar um arquivo .inc

2010/11/25 Pablo Aguiar <scor...@users.sf.net>

--
Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.



--

Klederson Bueno

unread,
Nov 25, 2010, 4:54:15 PM11/25/10
to php-b...@googlegroups.com
A nao ser q vc configure seu apache/lighttpd/(nao, IIS nao eh webserver) pra entender .inc como php ... minha sugestão siga o fluxo natural oi.boi.inc.php :)

Bjundas
========================================
Klederson Bueno
T. +55 (19) 9830-6701
E. kled...@klederson.com
S. http://www.phpburn.com
D. http://github.com/klederson
========================================






2010/11/25 Suissa <jnasc...@gmail.com>

Fabrício Santos

unread,
Nov 27, 2010, 6:40:35 AM11/27/10
to php-b...@googlegroups.com, Fabrício Santos, Luiz Neto
Pessoal voltando um pouco sobre a questão de pegar os requisitos dependentes e gravar no banco.

Resumindo a explicação do que tenho que fazer e como ocorre:

Tenho uma listagem, (que são requisitos de sistema) lista todos os requisitos do sistema:

lista o codigo do requisito (codreq) e nome do requisito (por exemplo: login do sistema)

Exemplo de listagem de requisitos:

R1
R2
R3
R4
R5

O analista seleciona um requisito para definir a dependência dele.

O analista escolheu o requisito R1 (por exemplo). Ao selecionar este requisito, ele vai para outra página, que lista o requisito que ele quis colocar dependencia de outros requisitos, no nosso exemplo R1 e embaixo disso lista novamente os requisitos colocando um checkbox ao lado para agora definirmos as dependencias dos requisitos.

A listagem fica assim:

R1 (que é o requisito que escolhemos para depois definirmos as dependencias deles)

e abaixo a listagem de requisitos  disponiveis (com um checkbox ao lado) para colocarmos como dependentes de R1

R2
R3 X (Escolhi este requisito para marcar como dependente de R1)
R4 x (Escolhi este requisito para marcar como dependente de R1)
R5

Isto esta funcionando perfeitamente. Agora o que não consigo fazer. (Gravar o requisito R1 e o requisito (R3 e R4) como seus dependentes.

coloco aqui o código da página que recebe os checkbox


<?php
include"conexao.inc";

// Verifica se usuário escolheu algum número
if(isset($_POST["numeros"]))
{
echo "ID dos requisitos selecionados:<BR>";

// Faz loop pelo array dos numeros
foreach($_POST["numeros"] as $numero)
{
echo "- " . $numero . "<BR>";
}
}
else
{
echo "Você não escolheu um requisito!<br>";

}

  
    //para cada linha da array número atribua(aponte) um valor

    foreach($_POST['numeros'] AS $linha => $valor){

        echo 'A linha '.$linha.' tem o valor de '.$valor.'<br />';

    }
   
    mysql_query("INSERT INTO requisito VALUES(codreq,'$nomereq','$desrec','$tiporeq','$volreq','$respreq'.'$valor')");
   
    //recebe a quantidade de posições do vetor    //inicia a query para inserir
$query = "insert into requisito (codreq, nomereq,desrec,tiporeq,volreq,respreq) values";
       // Faz loop pelo array do cliente  
        foreach($_POST["numeros"] as $key => $value) {  
             //seleciona cliente
                   $sql=mysql_query("select codreq, nomereq,desrec,tiporeq,volreq,respreq from requisito where id $value");                               //extrai os dados    
                                                                   
                          } 
                         
                         
   
    // gravar no banco
   
    $numeros = $_POST['numeros'];

for ($i=0; ($i<sizeof($numeros));$i++) {


      $busca[$i] = mysql_query("SELECT * FROM requisito WHERE codreq = ' ".$numeros[$i]." ' ");

      while ($resultado = mysql_fetch_array($busca[$i])) {

              $inserirDados = mysql_query("INSERT INTO requisito (codreq, nomereq,desrec,tiporeq,volreq,respreq) VALUES ( ' ".$resultado['codreq']." ' )");

      }

}

?>

Fabrício Santos

unread,
Nov 27, 2010, 6:53:59 AM11/27/10
to php-b...@googlegroups.com
Esqueci de informar no e-mail anterior.

Quem não conseguir resolver esta questão mas tiver qualquer exemplo que eu possa utilizar para minha questão ajudaria muito.

Procurei na net, mas não consegui encontrar algo parecido com o que preciso.

Obrigado a todos.

Tiago Agostinho

unread,
Nov 27, 2010, 3:23:41 PM11/27/10
to php-b...@googlegroups.com
Fabricio, 

me diz uma coisa: eu estive olhando o código e só vi insert em uma tabela só (tabela requisito).

Uma idéia seria dividir as coisas, uma tabela contendo os requisitos(código, nome etc) e uma outra para gravar os requisitos dependentes (ex: "dependenciaRequisito"), onde constariam o código do requisito + codigo dos dependentes. 

Veja se ficou claro.

Tiago

Fabrício Santos

unread,
Nov 27, 2010, 11:26:19 PM11/27/10
to php-b...@googlegroups.com
Obrigado pelo retorno Tiago.

Sim é isso mesmo que fiz. Aquela página que postei que tem os insert era só um exemplo de como pretendia inserir.

Eu tenho esta outra tabela que terá o código do requisito e codigo dos dependentes.

Mas é isso que não estou conseguindo fazer. Eu consigo pegar os checkbox marcados, sei quais foram selecionados, consigo imprimir eles, mas não sei como fazer para gravar.


// Verifica se usuário escolheu algum número
if(isset($_POST["numeros"]))
{
echo "ID dos requisitos selecionados:<BR>";

// Faz loop pelo array dos numeros
foreach($_POST["numeros"] as $numero)
{
echo "- " . $numero . "<BR>";
}
}
else
{
echo "Você não escolheu um requisito!<br>";
}

A impressão saí assim por exemplo: 3 e 12 (que são os ID's dos requisitos escolhidos para serem dependentes, mas como gravo 3 e 12 como dependente do requisito ID 1 por exemplo?

Até mais.

Fabrício

Tiago Agostinho

unread,
Nov 28, 2010, 10:38:57 AM11/28/10
to php-b...@googlegroups.com
Fabrício,

vocês está com a faca e o queijo na mão.

você vai colocar o insert dentro do foreach;

para cada vez que fizer o loop você faz o insert, ex:

// Verifica se usuário escolheu algum número
if(isset($_POST["numeros"]))
{
echo "ID dos requisitos selecionados:<BR>";

// Faz loop pelo array dos numeros
foreach($_POST["numeros"] as $numero)
{
insert into "tabela_dependenciaRequisitos" (codreq, codreqdependente) values ("$codigodorequisito", $numero );
//echo "- " . $numero . "<BR>";

}
}
else
{
echo "Você não escolheu um requisito!<br>";
}

Eu coloquei alguns nomes só para você entender.

O que vai acontecer:

você terá N linhas para o mesmo requisito.

Resultado:

codreq  codreqdependente
1                   3
1                   12

Depois para exibir só os dependentes daquele requisito, faz um select com group by.

Tiago

Fabrício Santos

unread,
Nov 28, 2010, 5:14:38 PM11/28/10
to php-b...@googlegroups.com
Tiago, mais uma vez obrigado.

Estou quase lá. Não consigo passar (pegar) o codreq na página check.php

Eu fiz 3 páginas php.

Na primeira página SelecionaRequisitos.php ela lista todos os requisitos e ao lado dos requisitos tem um link que ao clicar nele, direciona para segunda página ListaRequisitosDep.php. O enviou para segunda página fazendo o seguinte comando: <a href=ListaRequisitosDep.php?cod={$row['codreq']}>Selecionar</a></td>";


Na segunda página ele faz o seguinte: lista aquele primeiro requisito que escolhi (codreq) e coloca abaixo os outros requisitos com um checkbox ao lado. Para selecionar os requisitos que vou colocar como dependente do primeiro. O envio para terceira página é feito utilizando o seguinte o comando: <input type=checkbox name='numeros[]' value={$row['codreqdep']}>

Como faço para pegar na terceira página o item da primeira codreq???

Obrigado mais uma vez, Tiago e pessoal.

abs

Fabrício

Fabrício Santos

unread,
Nov 29, 2010, 12:07:46 AM11/29/10
to php-b...@googlegroups.com
Pessoal,


atualizando as informações.

Se meu imput fica conforme abaixo, ele grava no banco os ID's dos requisitos que marquei com checkbox como dependentes.

<input type=checkbox name='numeros[]' value={$row['codreq']}>Selecionar</td>";

Já se coloco como abaixo ele mostra o Requisito origem

<input type=checkbox name='numeros[]' value='$cod'}>Selecionar</td>";

Como faço para enviar tanto o requisito origem como os requisitos dependentes

abs

Fabrício

Murilo Rosa . Net --- Web Studio

unread,
Nov 29, 2010, 1:48:33 AM11/29/10
to php-b...@googlegroups.com
Você pode concatenar os valores e explodir no php


Att,
Murilo Rosa . Net
http://www.murilorosa.net
+554288010692
skype: murilobiassio
msn: con...@murilorosa.net


Fabrício Santos

unread,
Nov 29, 2010, 2:26:56 AM11/29/10
to php-b...@googlegroups.com
Poderia exemplificar como procedo.
Procurei mas não achei, ou melhor achei, mas da erro. Nos exemplos que achei tenho que colocar um ponto para concatenar, mas se faço somente isso apresenta erro.

Se não for pedir demais, você poderia colocar exemplo de como faço esta concatenação e depois o explode?

coloquei um ponto e aspas, mas da erro

<input type=checkbox name='numeros[]' value={$row['codreq']}."'$cod'">

Fabrício Santos

unread,
Nov 29, 2010, 7:15:09 AM11/29/10
to php-b...@googlegroups.com
Valeu Tiago, Murilo e todos que contribuiram.

Consegui resolver, utilizando o seguinte código:


// Verifica se usuário escolheu algum número
if(isset($_POST["numeros"]))
{

echo "ID dos requisitos selecionados:<BR>";

// Faz loop pelo array dos numeros
foreach($_POST["numeros"] as $numero)
{
$numero = explode("+",$numero);
echo "- " . $numero[1].$numero[0]."<BR>";
mysql_query("insert into dependenciarequisito VALUES ('$numero[1]', '$numero[0]')");


}
}
else
{
echo "Você não escolheu um requisito!<br>";
}

Agora vou partir para o select. Obrigado

maiquel krolikowski leonel

unread,
Nov 29, 2010, 11:25:07 AM11/29/10
to php-b...@googlegroups.com
pow cara melhora o desempenho disso ai 

ao invés de fazer uma query dentro do foreach tenta fazer assim:
.
.
.
$query = array();
foreach($_POST["numeros"] as $numero):
      $numero = explode("+",$numero);
      echo "- " . $numero[1].$numero[0]."<BR>";
      $query[] = "insert into dependenciarequisito VALUES ('$numero[1]', '$numero[0]')");
endforech;
mysql_query(implode(';',$query));
.
.
.





Maiquel Leonel
Desenvolvedor Líder
mmdadigital.com.br
51 30241070

Murilo Rosa . Net --- Web Studio

unread,
Nov 29, 2010, 12:57:14 PM11/29/10
to php-b...@googlegroups.com
<?php
$id = $row['codreq'].'|'.$cod;
echo '<input type=checkbox name='numeros[]' value="'.$id.'">';

//na sua pagina que irá pegar os posts você faz
foreach($_POST['numeros'] as $r){
$cod = explode('|', $r)';
echo $cod[0].' - '.$cod[1];
}
?>


Att,
Murilo Rosa . Net
http://www.murilorosa.net
+554288010692
skype: murilobiassio
msn: con...@murilorosa.net


Reply all
Reply to author
Forward
0 new messages