Ir para conteúdo
Fórum Script Brasil
  • 0

Passando As Variáveis Dos Checkbox


mulderx

Pergunta

Olá pessoal ... Seguinte ... eu tenho um carrinho de pedidos no meu site, que é exibido da seguinte forma:

lista1.gif

Esses dados o sistema insere numa tabela temporária no banco de dados. Então eles aparecem dessa forma, com os checkbox para cada um deles, pro camarada selecionar quais os que ele quer pedir. Mas na hora que eu clico em "Enviar" para exibir os dados desses checkbox, aparecem tudo em branco:

lista2.gif

Tem alguma forma adequada pra eu poder renomear direito esses checkbox na lista da 1º imagem, pra que apareçam corretamente na 2º imagem? Por via das dúvidas, estou mandando o código das páginas pra conferirem:

TELA DA LISTA

<table width="100%" border="0" cellspacing="0" cellpadding="0">
                    <tr> 
                      <td>&nbsp;</td>
                    </tr>
                    <?php
$sql_cesta = "SELECT * FROM frm_cesta_pedidos WHERE clienteID = ".$_SESSION["cli"];
$rs_cesta = mysql_query($sql_cesta, $conexao);

$condicao_cesta = mysql_num_rows($rs_cesta);

if($condicao_cesta != 0){

    while($linha_cesta = mysql_fetch_array($rs_cesta)){
    
        $var_cestaID      = $linha_cesta["cestaID"];
        $var_produtoID  = $linha_cesta["produtoID"];
    
        $sql_produtos = "SELECT * FROM frm_venda_produtos WHERE produtoID = ".$var_produtoID;
        $rs_produto = mysql_query($sql_produtos, $conexao);
        
        $linha_produto = mysql_fetch_array($rs_produto);
    
            $var_nome             = $linha_produto["nome"];
            $var_imagem         = $linha_produto["imagem"];

?>
                    <tr> 
                      <td><form action="meus_pedidos_atualizar.php" method="post">
                          <table width="100%" border="0" cellspacing="0" cellpadding="0">
                            <tr> 
                              <td width="110"><img src="catalogos/produtos_icones/thumb_<?php echo $var_imagem?>.jpg" width="100" height="72"></td>
                              <td width="107"> <span class="texto"><?php echo $var_nome?></span></td>
                              <td width="247" class="texto"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                  <tr> 
                                    <td width="29%" class="texto"> <input name="2518[]" type="checkbox" value="25X18">25X18</td>
                                    <td width="71%" class="texto">
                                    <input name="2518_vin[]" type="checkbox" value="Vinil">vinil 
                                    <input name="2518_pla[]" type="checkbox" value="Plástico">pl&aacute;stico 
                                    <input name="2518_alu[]" type="checkbox" value="Alumínio">alum&iacute;nio
                                    </td>
                                  </tr>
                                  <tr> 
                                    <td class="texto"> <input name="3525[]" type="checkbox" value="35X25">35X25</td>
                                    <td class="texto">
                                    <input name="3525_vin[]" type="checkbox" value="checkbox">vinil 
                                    <input name="3525_pla[]" type="checkbox" value="checkbox">pl&aacute;stico 
                                    <input name="3525_alu[]" type="checkbox" value="checkbox">alum&iacute;nio
                                    </td>
                                  </tr>
                                </table></td>
                              <td width="48" align="right" class="texto"> <input name="cestaID" type="hidden" value="<?php echo $var_cestaID?>"> 
                                <input name="imageField2" type="image" src="images/bt_excluir.gif" width="42" height="14" border="0"> 
                              </td>
                            </tr>
                          </table>
                        </form></td>
                    </tr>
                    <?php
    }
}else{
    
    echo '<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr><td height="150" align="center" class="texto2"><b>Sua cesta de pedidos está vazia!</b><br><br></td></tr>
    </table></td>';

}
?>
                  </table>
TELA DE EXIBIÇÃO DOS DADOS
$cesta_pedidos = '
<table width="512" border="0" cellspacing="0" cellpadding="0"><tr> 
<td valign="top" class="texto"><strong>PEDIDO ONLINE - '.$var_data.'<br></strong> <hr>
<table width="100%" border="0" cellspacing="3" cellpadding="1"><tr> 
<td width="31%" align="right">Nome&nbsp;</td><td width="69%">'.$var_nome.'</td></tr><tr> 
<td align="right">E-mail&nbsp;</td><td>'.$var_email.'</td></tr><tr>
<td align="right">Empresa&nbsp;</td><td>'.$var_empresa.'</td></tr><tr> 
<td align="right">Endere&ccedil;o&nbsp;</td><td>'.$var_endereco.'</td></tr><tr> 
<td align="right">Bairro&nbsp;</td><td>'.$var_bairro.'</td></tr><tr> 
<td align="right">CEP&nbsp;</td><td>'.$var_cep.'</td></tr><tr> 
<td align="right">Cidade&nbsp;</td><td>'.$var_cidade.' - '.$var_estado.'</td></tr><tr> 
<td align="right">Fone&nbsp;</td><td>'.$var_fone.'</td></tr><tr> 
<td align="right">Fax&nbsp;</td><td>'.$var_fax.'</td></tr><tr> 
<td align="right">CNPJ&nbsp;</td><td>'.$var_cnpj.'</td></tr><tr> 
<td align="right">CPF&nbsp;</td><td>'.$var_cpf.'</td></tr><tr>
<td align="right">&nbsp;</td><td>&nbsp;</td></tr></table></td></tr><tr><td class="texto">
<hr>Confira abaixo os detalhes desta lista de pedidos:</td></tr><tr><td>&nbsp;</td></tr>';

$sql_cesta = "SELECT * FROM frm_cesta_pedidos WHERE clienteID = ".$_SESSION["cli"];
$rs_cesta = mysql_query($sql_cesta, $conexao);

$condicao_cesta = mysql_num_rows($rs_cesta);

if($condicao_cesta != 0){

    while($linha_cesta = mysql_fetch_array($rs_cesta)){
    
        $var_cestaID      = $linha_cesta["cestaID"];
        $var_produtoID  = $linha_cesta["produtoID"];
    
        $sql_produtos = "SELECT * FROM frm_venda_produtos WHERE produtoID = ".$var_produtoID;
        $rs_produto = mysql_query($sql_produtos, $conexao);
        
        $linha_produto = mysql_fetch_array($rs_produto);
    
            $var_nome             = $linha_produto["nome"];
            $var_imagem         = $linha_produto["imagem"];

$cesta_pedidos .= '
  <tr> 
    <td> <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr> 
          <td width="109"><img src="catalogos/produtos_icones/thumb_'.$var_imagem.'.jpg" width="100" height="72"></td>
          <td width="98"> <span class="texto">'.$var_nome.'</span></td>
          <td width="305" align="right" class="texto"><table width="98%" border="0" cellspacing="2" cellpadding="2">
              <tr bgcolor="#D7EBFF"> 
                <td width="18%" class="texto">'.$_POST["2518"].'</td>
                <td width="19%" class="texto">'.$_POST["2518_vin"].'</td>
                <td width="25%" class="texto">'.$_POST["2518_pla"].'</td>
                <td width="38%" class="texto">'.$_POST["2518_alu"].'</td>
              </tr>
              <tr bgcolor="#D7EBFF"> 
                <td width="18%" class="texto">'.$_POST["3525"].'</td>
                <td width="19%" class="texto">'.$_POST["3525_vin"].'</td>
                <td width="25%" class="texto">'.$_POST["3525_pla"].'</td>
                <td width="38%" class="texto">'.$_POST["3525_alu"].'</td>
              </tr>
            </table> </td>
        </tr>
      </table>
      </td>
  </tr>
  <tr> 
<td>&nbsp;</td>
  </tr>';
    }
}
$cesta_pedidos .= '</table>';

echo $cesta_pedidos;

:o

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

O comando pra inserir os dados na tabela temporária está em um outro arquivo:

<?php
include("conexao.php");
include("session_cliente.php");
session_start();

//declarando variáveis
$var_clienteID     = $_SESSION["cli"];
$var_produtoID     = $_GET["prodID"];

//listando a cesta baseado no cliente
$sql_cesta = "SELECT * FROM frm_cesta_pedidos WHERE clienteID = ".$var_clienteID." AND produtoID = ".$var_produtoID;
$rs_cesta = mysql_query($sql_cesta, $conexao);

$condicao_cesta = mysql_num_rows($rs_cesta);

if ($condicao_cesta != 0){
    
?>
    
    <script LANGUAGE="javascript">
        window.alert("O produto selecionado já se encontra na sua cesta de pedidos.");
        window.location = "<?php echo $_SESSION["page_catalogo"]?>";
    </SCRIPT>
    
<?php

}else{

    //inserindo o registro
    mysql_query("INSERT INTO frm_cesta_pedidos (clienteID, produtoID) VALUES ('$var_clienteID','$var_produtoID')") or print(mysql_error());

?>

    <script LANGUAGE="javascript">
        window.alert("Produto inserido com sucesso na sua cesta de pedidos.");
        window.location = "<?php echo $_SESSION["page_catalogo"]?>";
    </SCRIPT>
    
<?php

}

?>

Não sei se este arquivo de inserir teria relação, mas o que eu precisava era apenas mostrar na tela seguinte os checkbox que eu marco na tela de exibição da cesta de pedidos.

Valeww

Link para o comentário
Compartilhar em outros sites

  • 0

No seu value'' esta passando as informações em array() como value='2518_pla[]'

e no formulario de exibição esta mostrando como um post simples :

$_POST["2518"]

voce tem que receber eles como array também..

pode colcoar um foreach no inicio do que exibe para receber e mostrar, tipo

tente

ou o mais facil mudar no formulario de opções o conteudo do value, removendo o []

<input name="2518_vin" type="checkbox" value="Vinil">vinil

<input name="2518_pla" type="checkbox" value="Plástico">pl&aacute;stico

<input name="2518_alu" type="checkbox" value="Alumínio">alum&iacute;nio

ai no recebimento ficaria o que já fez

Link para o comentário
Compartilhar em outros sites

  • 0

vix .. boiei nessa explicação! Perdão gente!

Eu tentei colocar dessa forma na tela da cesta:

<input name="2518_vin[<?php echo $var_cestaID?>]" type="checkbox" value="Vinil">

e lá na tela de exibição dos dados, eu coloquei assim:

<td width="18%" class="texto">'.$_POST["2518"][$var_cestaID].'</td>

... mas não deu certo!

:-(

Link para o comentário
Compartilhar em outros sites

  • 0

Faz um foreach nos campos (que são arrays) para exbir os dados

ex:

<?php
//codigos...
foreach($_POST['2518_vin'] as $valor)
{
    echo $valor;
}
//... Codigos...
?>
Aqui:
<td width="18%" class="texto">'.$_POST["2518"][$var_cestaID].'</td>
Não seria:?
<td width="18%" class="texto">'.$_POST["2518_vin"][$var_cestaID].'</td>

T+

André

Link para o comentário
Compartilhar em outros sites

  • 0

resumindo..

só retirar os [] do primeiro formulario

<td width="29%" class="texto"> <input name="2518[]" type="checkbox" value="25X18">25X18</td>

<td width="71%" class="texto">

<input name="2518_vin" type="checkbox" value="Vinil">vinil

<input name="2518_pla" type="checkbox" value="Plástico">pl&aacute;stico

<input name="2518_alu" type="checkbox" value="Alumínio">alum&iacute;nio

o foreach ficaria bom se fosse um unico array para retornar, mas voce esta criando uma array para cada item

para usar o foreach seria o ideal com o $_POST

Link para o comentário
Compartilhar em outros sites

  • 0

Vejam agora o que aconteceu ...

na tela de exibição dos dados:

<input name="2518_vin[]" type="checkbox" value="Vinil">
e na tela de exibição eu fiz:
foreach($_POST['2518_vin'] as $valor){
    echo $valor;
}

... mas me apareceu o erro abaixo:

Warning: Invalid argument supplied for foreach() in /home/restricted/home/formascomvisual/public_html/site2007/meus_pedidos_finalizar.php

:huh:

Link para o comentário
Compartilhar em outros sites

  • 0

bem.. se quer insistir no foreach.. o correto de usar é

foreach( $dados as $c => $v )

mas vai ter que criar um para cada array enviado.. sendo que são unicas nem teria necessidade de ser array, se cada item vai ter apenas um conteudo, usa da forma que te falei, mais rapido para processar a pagina

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Jissa ... seguinte:

No seu value'' esta passando as informações em array() como value='2518_pla[]'

e no formulario de exibição esta mostrando como um post simples :

$_POST["2518"]

voce tem que receber eles como array também..

pode colcoar um foreach no inicio do que exibe para receber e mostrar, tipo

tente

ou o mais facil mudar no formulario de opções o conteudo do value, removendo o []

<input name=2518_vin" type="checkbox" value="Vinil">vinil

<input name="2518_pla" type="checkbox" value="Plástico">pl&aacute;stico

<input name="2518_alu" type="checkbox" value="Alumínio">alum&iacute;nio

ai no recebimento ficaria o que já fez

só pra eu entender... aqui você diz que eu devo retirar os [] dos campos da tela onde eu marco os checkbox

<input name="2518_vin" type="checkbox" value="Vinil">vinil
, e na tela de exibição eu deixo como está, simplesmente o $_POST[&quot]?
<td width="18%" class="texto">'.$_POST["2518_vin"].'</td>

porque eu fiz dessa forma aqui, e não deu certo ... desculpa a insistência!

:-)

Link para o comentário
Compartilhar em outros sites

  • 0

como colocou o

<td width="18%" class="texto">'.$_POST["2518_vin"].'</td> ??

com echo??

coloque na segunda pagina que vai receber:

<?

echo "Conteudo recebido para 2518_vin = ".$_POST["2518_vin"];

exit;

?>

clique no checkbox, se não ele não é enviado pelo post e veja se retorna o valor da variavel

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...