Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

checkbox mysql php

25-10-2008 15:35

Boa Tarde.
Ja pesquisei e li varios tópicos sobre a utilização de checkbox com mysql, encontrei muito material, porem ainda não consegui definir a melhor maneira de c fazer , qual o tipo de coluna é o correto para esta utilização ?
seria algo assim ...

opcionais ???? ('Ar Quente', 'Ar Condicionado', 'Direcao Hidraulica', 'Vidros Eletricos', 'Trava', 'Desembacador Traseiro', Alarme', 'CD Player', '2 Portas', '4 Portas', 'Banco de Couro', 'Rodas de Liga Leve')

SET ta dando erro e não deixa criar a tabela ...
:shock
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

checkbox mysql php

25-10-2008 18:13

Não entendi, tá com problema em um INSERT?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

checkbox mysql php

26-10-2008 00:13

Web. boa noite .
No momento a primeira dificuldade esta sendo na tabela ... qual o tipo usar ?
SET ta dando erro de criação .

Qual seria a forma correta .... tipo CHAR VARCHAR ENUM SET

e o insert , bom realmente para mim tb é uma questão ... pois tenho ...

email CHAR (30), opcionais SET('Ar Quente','Ar Condicionado','Direcao Hidraulica','Vidros Eletricos','Trava','Desembacador Traseiro', Alarme','CD Player','2 Portas','4 Portas','Banco de Couro','Rodas de Liga Leve'), preco CHAR(15)

e ....

'$_POST[email]',         '$_POST[opicionais]',         '$_POST[preco]', 

e ....

<tr>           <td>Opcionais</td>           <td><input type='checkbox' name='opcionais[]' value='Ar Quente'>Ar Quente                                 <input type='checkbox' name='opcionais[]' value='Ar Condicionado'>Ar Condicionado                                 <input type='checkbox' name='opcionais[]' value='Direcao Hidraulica'>                                 Direção Hidráulica                 <input type='checkbox' name='opcionais[]' value='Vidros Eletricos'>                 Vidros Elétricos                 <input type='checkbox' name='opcionais[]' value='Trava'>Trava<br />             <input type='checkbox' name='opcionais[]' value='Desembacador Traseiro'>Desembaçador Traseiro                 <input type='checkbox' name='opcionais[]' value='Alarme'>Alarme                 <input type='checkbox' name='opcionais[]' value='CD Player'>CD Player                 <input type='checkbox' name='opcionais[]' value='2 Portas'>2 Portas                 <input type='checkbox' name='opcionais[]' value='4 Portas'>4 Portas <br />                 <input type='checkbox' name='opcionais[]' value='Banco de Couro'>Banco de Couro             <input type='checkbox' name='opcionais[]' value='Rodas de Liga Leve'>Rodas de Liga Leve           </tr>

e ai ... o q mais estaria errado além da criação da tabela ?

Espero que tenha entendido ....
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

checkbox mysql php

26-10-2008 09:12

Quanto ao tipo acho que o melhor seria VARCHAR

Os campos obtidos no form são campos da tabela ou valores a serem inseridos na tabela?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

checkbox mysql php

26-10-2008 09:28

Podem ser inseridos , porem teriam que ser inseridos através de checkbox.
Ou até mesmo campos da tabela mesmo, como vc pode perceber é um caso de agencia de veículos , onde estes checkbox seriam os opcionais do veículo, logo qual seria a melhor forma de inserir estes valores para listar os mesmos depois ?

A minha dúvida maior no momento é esta , pois não havia ainda trb com checkbox em formulário para mysql , ja fiz em formulário para email e não tive dificuldades até já postei um tutorial no meu blog com relação a checkbox e radio em formulário de email, mas para mysql não to sabendo como relacionar os dados a tabela para listar o mesmo depois ....

Obs. Se vc permitir posto o tutorial na área de php .
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

checkbox mysql php

26-10-2008 09:45

Sim, um tutorial é de grande ajuda.

Quanto ao problema, veja essa base

<form method="POST" action=""> <input type="checkbox" name="opcionais[]" value="opcao 1"> <input type="checkbox" name="opcionais[]" value="opcao 2"> <input type="checkbox" name="opcionais[]" value="opcao 3"> <input type="submit" name="envio"> </form>


<?php if($_POST['envio']) { foreach($_POST['opcionais'] AS $valor) { echo $valor."<br>"; } } ?>

Ao rodar o código você vai ver o retorno das opções que foram selecionadas.

Agora a questão do INSERT

A sintaxe é a seguinte
INSERT INTO suatabela (coluna1,coluna2,coluna3) VALUES('valor1', 'valor2', 'valor3');

Qual é a relação dos valores do checkbox para o insert que tem aí?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

checkbox mysql php

26-10-2008 10:12

Vamos lá ...
1- O tipo de campo seria VARCHAR .
2- Os itens dos checkbox a serem inseridos neste campo seriam conforme o form abaixo .

<tr>           <td>Opcionais</td>           <td><input type='checkbox' name='opcionais[]' value='Ar Quente'>Ar Quente             <input type='checkbox' name='opcionais[]' value='Ar Condicionado'>Ar Condicionado             <input type='checkbox' name='opcionais[]' value='Direcao Hidraulica'>Direção Hidráulica                 <input type='checkbox' name='opcionais[]' value='Vidros Eletricos'>Vidros Elétricos                 <input type='checkbox' name='opcionais[]' value='Trava'>Trava<br />             <input type='checkbox' name='opcionais[]' value='Desembacador Traseiro'>Desembaçador Traseiro                 <input type='checkbox' name='opcionais[]' value='Alarme'>Alarme                 <input type='checkbox' name='opcionais[]' value='CD Player'>CD Player                 <input type='checkbox' name='opcionais[]' value='2 Portas'>2 Portas                 <input type='checkbox' name='opcionais[]' value='4 Portas'>4 Portas <br />                 <input type='checkbox' name='opcionais[]' value='Banco de Couro'>Banco de Couro             <input type='checkbox' name='opcionais[]' value='Rodas de Liga Leve'>Rodas de Liga Leve           </tr>

3- Esta parte seria para envio ou para listar ? Ficaria na sequência logo após o form ?

<?php if($_POST['envio']) { foreach($_POST['opcionais'] AS $valor) { echo $valor."<br>"; } } ?>

4- meu insert esta desta forma ...

"INSERT INTO $dbvin VALUES('0',                 ............ mais alguns ......                 '$_POST[vendedor]',                 '$_POST[tel]',                 '$_POST[email]',                 [b]'$_POST[opicionais]',[/b]                 '$_POST[preco]',                 .......... mais alguns .......                 )";

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

checkbox mysql php

26-10-2008 10:26

O exemplo que dei foi para listar os dados.

Aparentemente esse opcionais são tudo para um mesmo campo da tabela.

Então, você deve rodar o seguinte

A variável $campo será adicionada a sua tabela para listar os valores opcionais. Teste o script para ver o funcionamento.

<form method="POST" action=""> <input type="checkbox" name="opcionais[]" value="opcao 1"> <input type="checkbox" name="opcionais[]" value="opcao 2"> <input type="checkbox" name="opcionais[]" value="opcao 3"> <input type="submit" name="envio"> </form>


<?php // crio a variável $campos, que será adicionado os valores a partir do foreach $campos = ""; // esse campo tem o valor que será adicionado para separar cada item enviado $adiciona = ", "; // esse é um valor que vai ser incrementado, para adicionar ou não o $adiciona ( vírgula para separar os itens ) $mais = 0; // pego o name do input submit, que confirma o envio if($_POST['envio']) { // separo cada e armazeno em $valor foreach($_POST['opcionais'] AS $valor) { // incremento $mais, 0, 1, 2, ... $mais++; // aqui eu faço a adição ou não da vírgula para separar cada item // além de mandar os valores para $campos if($mais < count($_POST['opcionais'])) { $campos.=$valor.$adiciona; } else { $campos.=$valor; } // fim do if } // fim do foreach } // fim do if POST ?> <?php // aqui vai mostrar todos os valor do checkbox  echo $campos; ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

checkbox mysql php

26-10-2008 17:53

Desculpa, não entendi a lógica.

Esta retornando a palavra Array .
Não esta sendo gravado os itens .
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

checkbox mysql php

26-10-2008 19:27

Deve haver algum problema no seu servidor.

A lógica é, eu crio $campos sem valor, pego os valores selecionados nos checkbox através do foreach e listo eles incrementando a variável $campos. No final de tudo isso, retorna a variável com todos valores incrementados.

Testei esse script com PHP 5.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

checkbox mysql php

26-10-2008 22:50

Web , vamos por parte ... pois ja estou ficando :shock rs...

1 - A coluna esta como VARCHAR

2 - Meu INSERT é '$_POST[opcionais]',

3 - Meu form tem ..

<input type="checkbox" name="opcionais[]" value="opcao 1"> <input type="checkbox" name="opcionais[]" value="opcao 2"> <input type="checkbox" name="opcionais[]" value="opcao 3">

4 - Onde coloco :

<?php $campos = ""; $adiciona = ", "; $mais = 0; if($_POST['envio']) { foreach($_POST['opcionais'] AS $valor) { $mais++; if($mais < count($_POST['opcionais'])) { $campos.=$valor.$adiciona; } else { $campos.=$valor; } // fim do if } // fim do foreach } // fim do if POST ?> <?php echo $campos; ?>

5 - Crio um novo campo na tabela chamado campos ?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

checkbox mysql php

26-10-2008 22:58

Você rodou o script de exemplo, do checkbox com o foreach?

Se sim, se você selecionar as opções 1 e 2, vai mostrar na tela:
opcao1, opcao2

Esses valores são mostrados através do $campos, que está logo abaixo do foreach

Agora pelo que entendi, esses valores do checkbox são opcionais do veículo, portanto, você deve ter um formulário tipo:

veículo [input text]
marca [input text]
modelo [input text]
opcionais [os checkbox]

Ai você vai preencher os dados e envia, no INSERT vai rolar o seguinte

INSERT INTO veiculos (veiculo,marca,modelo,opcionais) VALUES('".$_POST['veiculo']."', '".$_POST['marca']."', '".$_POST['modelo']."', '".$campos."');
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

checkbox mysql php

26-10-2008 23:57

Nobre Web ... não estou conseguindo te entender ... rodei o script junto com os demais itens deste e retornou como "array" ...

vamos lá , desculpe c não estou claro nas minhas dúvidas ...
1 - O campo da minha tabela é = opcionais VARCHAR , certo .

2 - Você disse " A variável $campo será adicionada a sua tabela para listar os valores opcionais "
A dúvida é -> crio um novo campo na tabela ?

3 - Meu script tem 4 páginas , onde usaria os checkbox
pag 1 -> adicionar = apenas adiciono os itens
pag 2 -> pré-visualizar = pré-visualizo os itens cadastrados ( inclusive os checkbox que foram marcados ) e cadastro as fotos
pag 3 -> mostrar = mostro o anuncio completo
pag 4 -> editar = edito o anuncio

4 - Você diz que " Esses valores são mostrados através do $campos, que está logo abaixo do foreach "
A maior dúvida é onde colocar o foreach ? em qual página ?

5 - pag 1

if($cadastro) {     // check to see if the cadastro number entered already exists in db     $link = mysql_connect($dbhost, $dbuser, $dbpass);     $query = "SELECT id FROM $dbvin WHERE cadastro='$cadastro'";     $result = mysql_db_query($dbname, $query, $link);     if(mysql_num_rows($result)) {         echo "<script language='JavaScript'> alert('O número de cadastro digitado não existe.'); </script>";     } else {         // marca input query friendly         foreach($_POST as $key => $value) {             $_POST[$key] = addslashes($value);         }                  // add listing to database         $time = time();         $codigo = substr(time().rand(10000,99999),-15);                  $link = mysql_connect($dbhost, $dbuser, $dbpass);         $query = "INSERT INTO $dbvin VALUES('0',         +++++ $_POST +++++         '$_POST[email]',         '$campos',         '$_POST[preco]',         +++++ $_POST +++++         )";                  mysql_db_query($dbname, $query, $link);         mysql_close($link);         echo "<script language='JavaScript'> window.location='pre_visualizar.php?codigo=$codigo'; </script>";         echo "Voc&ecirc; adicionou um ve&iacute;culo";         exit();     } }  

cabeçalho html

<form method="POST" action=""> <input type="checkbox" name="opcionais[]" value="opcao 1"> <input type="checkbox" name="opcionais[]" value="opcao 2"> <input type="checkbox" name="opcionais[]" value="opcao 3"> <input type="submit" name="envio"> </form>

Desculpe, é que em todas as pesquisas que ja fiz , ainda não consegui tirar esta dúvida , não consegui entender ainda ...
:help :help :help :help
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

checkbox mysql php

27-10-2008 00:19

Me esclarece uma coisa, esses itens opcionais, são vários valores certo? tipo: alarme, ar, etc...

Isso pela lógica vai entrar como um valor de um campo no insert ( só um exemplo )

INSERT INTO cadastros (opcionais) VALUES ('alarme, ar')

Eu não sei quais campos tem ai, mas, indico que tenha um chamado opcionais, varchar, o tamanho do campo você calcula com base na quantidade de checkbox que terá.

Sua tabela deve ficar mais ou menos assim:

veiculo | marca | modelo | ano | opcionais

Quanto $campos ser mostrado com array, deve ter um array no seu código com esse nome, verifique e se necessário renomeie.

No caso de que página vai o $campos, ele vai na página seguinte a página do envio, na mesma página do insert, para que seja feito a inclusão desses valores.

Deixei comentado o script que dei como exemplo para os input, ai você usa ele como base, roda ele sozinho para entender o funcionamento, depois aplica o seu script.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

checkbox mysql php

28-10-2008 19:03

Web , boa tarde parceiro.
A situação é a seguinte ...
Fiz com radio e esta funcionando , é lógico que para cada item uma nova coluna , cadastro , pre-visualizo e visualizo sem problema , só não estou conseguindo editar , a pagina que faz edição esta vindo sem os dados , nenhum deles ....
Vou postar aqui como ficou o radio para informação ..
SQL

`arquente` CHAR(1) NOT NULL DEFAULT 'n',   `arcond` CHAR(1) NOT NULL DEFAULT 'n',   `dirhid` CHAR(1) NOT NULL DEFAULT 'n',

adicionar

'$_POST[arquente]', '$_POST[arcond]', '$_POST[dirhid]', <tr>           <td>Ar Quente</td>           <td><input type=radio name=arquente value="y">             sim &nbsp;&nbsp;&nbsp;             <input type=radio name=arquente value="n" checked>             n&atilde;o </td>         </tr>         

pre-visualizar e visualizar ..

if($data[arquente] == 'y')     {         $ShowInfo .= "Ar Quente&nbsp;/&nbsp;";     }     if($data[arcond] == 'y')     {         $ShowInfo .= "Ar Condicionado&nbsp;/&nbsp;";     } <tr>         <td valign='top'>Opcionais</td>         <td colspan=3 valign='top'><?=$ShowInfo?>           <br>           <br></td>       </tr>

Agora a situação para editar é que não estou conseguindo , todo o formulario esta vindo em branco

if($edit) {          $link = mysql_connect($dbhost, $dbuser, $dbpass);     $query = "SELECT id FROM $dbvin WHERE cadastro='$cadastro' AND codigo!='$codigo'";     $result = mysql_db_query($dbname, $query, $link);     if(mysql_num_rows($result)) {         echo "<script language='JavaScript'> alert('The cadastro number you entered already exists in the database.'); </script>";                  $query = "SELECT * FROM $dbvin WHERE codigo='$codigo'";         $result = mysql_db_query($dbname, $query, $link);         $data = mysql_fetch_array($result);         mysql_close($link);     } else {                  foreach($_POST as $key => $value) {             $_POST[$key] = addslashes($value);         }                  $time = time();         $link = mysql_connect($dbhost, $dbuser, $dbpass);         $query = "UPDATE $dbvin SET          updated = '$time',         cadastro = '$_POST[cadastro]',         +++++++++         email = '$_POST[email]',         arquente = '$_POST[arquente]',         arcond = '$_POST[arcond]',         ++++++++++         observacoes = '$_POST[observacoes]'         WHERE codigo = '$codigo'";         mysql_db_query($dbname, $query, $link);         mysql_close($link);              echo "<script language='JavaScript'> window.location='pre_visualizar.php?codigo=$codigo'; </script>";         echo "Você atualizou o anúncio";         exit();     } } else {     $link = mysql_connect($dbhost, $dbuser, $dbpass);     $query = "SELECT * FROM $dbvin WHERE codigo='$codigo'";     $result = mysql_db_query($dbname, $query, $link);     $data = mysql_fetch_array($result);     mysql_close($link);          foreach($data as $key => $item) {         $data[$key] = stripslashes($item);     } }  

Nnão faço questão dos radio vim marcado não , o importante são os demais dados ...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

checkbox mysql php

28-10-2008 19:29

+++++++++, seu script tem isso realmente?

Se precisar monto um exemplo de editar dados do BD. Só me passa uma base dos dados que tem e como são editados.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

checkbox mysql php

28-10-2008 19:43

O +++++++++ quer dizer que tem mais $_POST ... desculpe por esquecer de informar .

os dados a serem editados são :

$time = time();         $link = mysql_connect($dbhost, $dbuser, $dbpass);         $query = "UPDATE $dbvin SET          updated = '$time', ----> não altero         cadastro = '$_POST[cadastro]', -----> type=text         anomodelo = '$_POST[anomodelo]', -----> type=text         marca = '$_POST[marca]', -----> select         model = '$_POST[model]', -----> type=text         condicao = '$_POST[condicao]', -----> select         categoria = '$_POST[categoria]', -----> select         vendedor = '$_POST[vendedor]', -----> type=text         tel = '$_POST[tel]', -----> type=text         email = '$_POST[email]', -----> type=text         arquente = '$_POST[arquente]', -----> radiobuttom         arcond = '$_POST[arcond]', -----> radiobuttom         dirhid = '$_POST[dirhid]', -----> radiobuttom         vidro = '$_POST[vidro]', -----> radiobuttom         trava = '$_POST[trava]', -----> radiobuttom         desemb = '$_POST[desemb]', -----> radiobuttom         alarme = '$_POST[alarme]', -----> radiobuttom         cdplayer = '$_POST[cdplayer]', -----> radiobuttom         port = '$_POST[port]', -----> radiobuttom         portas = '$_POST[portas]', -----> radiobuttom         bcouro = '$_POST[bcouro]', -----> radiobuttom         rliga = '$_POST[rliga]', -----> radiobuttom         preco = '$_POST[preco]', -----> type=text         combustivel = '$_POST[combustivel]', -----> type=text         endereco = '$_POST[endereco]', -----> type=text         observacoes = '$_POST[observacoes]' -----> type=text         WHERE codigo = '$codigo'";  

Esta é a base de dados completa.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

checkbox mysql php

28-10-2008 20:09

Sim, mais o problema é qual, não tá pegando os valores, não tá salvando no bd algum campo?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

checkbox mysql php

28-10-2008 20:22

Gravar no BD -> OK
Visualizar do BD -> OK
Editar -> NOK -> Isto pq não esta trazendo os dados, a pagina editar.php esta vindo em branco. Teria que vir com os dados preenchidos para que fossem editados , antes de adicionar os radiobuttom ela vinha preenchida .
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

checkbox mysql php

28-10-2008 20:35

Montei um exemplo de editor de dados do bd, altera os dados ai para seu caso e faz um teste

Obs.:
- Com o extract($_POST); você não precisa usar: $_POST['campo'], só $campo
- Com o extract($campos); você não precisa usar: $campos['campo'], só $campo

<?php $conexao = mysql_connect("localhost", "login", "senha") or die(mysql_error()); $db = mysql_select_db("bd"); if($_POST['update']) { extract($_POST); $selec = "UPDATE tabela SET campo='$valortal' WHERE isso='isso'"; $exec = mysql_query($selec, $conexao) or die(mysql_error()); header("Location: pagina.php"); } $selec = "SELECT campo FROM tabela WHERE isso='isso'"; $exec = mysql_query($selec, $conexao) or die(mysql_error()); ?> <form action="" method="POST"> <?php while($campos=mysql_fetch_array($exec)) { extract($campos); echo "<input type='text' name='campo' value='$campo'><br>"; } ?> <input type="submit" name="update"> </form>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

checkbox mysql php

29-10-2008 14:57

Web, desculpa a demora de retorno deste, problemas particulares impediram.

Esta funcionando quase 100% , podemos dizer 99,9%.
Adicionar - ok
Previsualizar - ok ( esta pagina é onde cadastro as fotos e tenho a opção de editar e ou apagar anuncio )
Visualizar - ok
Editar - quase ok
---> quando estou na pag previsualizar e clico em editar , abre a pag editar com todas as informações , efetuo as ediçoes nescessárias e clico em update , ao clicar em update este deveria voltar para a pag de previsualizar , até esta voltando só que recebo o alerta de numero de cadastro invalido e vai para a pagina controle, o item é editado assim mesmo( beleza ).
O que acontece é o seguinte , na pagina previsualizar eu tenho uma verificação de numero do cadastro, pois ao adicionar um cadastro faço esta verificação para não haver repetição deste número.
Mas não era para acontecer este quando efetuado a edição .

previsualizar

if(!$codigo) {     $query = "SELECT codigo FROM $dbvin WHERE cadastro='$cadastro'";     $result = mysql_db_query($dbname, $query, $link);     if(!mysql_num_rows($result)) {         echo "         <script language='JavaScript'>         alert('O N. Cadastro: $cadastro e invalido.');         window.location='controle.php';         </script>         ";         exit();     } else {         $result = mysql_fetch_array($result);         $codigo = $result[codigo];     } } 


editar ( antes do rádio ) if($edit) {     // check to see if the cadastro number entered already exists in db     $link = mysql_connect($dbhost, $dbuser, $dbpass);     $query = "SELECT id FROM $dbvin WHERE cadastro='$cadastro' AND codigo!='$codigo'";     $result = mysql_db_query($dbname, $query, $link);     if(mysql_num_rows($result)) {         echo "<script language='JavaScript'> alert('The cadastro number you entered already exists in the database.'); </script>";         // get existing data         $query = "SELECT * FROM $dbvin WHERE codigo='$codigo'";         $result = mysql_db_query($dbname, $query, $link);         $data = mysql_fetch_array($result);         mysql_close($link);     } else {         // marca input query friendly         foreach($_POST as $key => $value) {             $_POST[$key] = addslashes($value);         }         // add listing to database         $time = time();         $link = mysql_connect($dbhost, $dbuser, $dbpass);         $query = "UPDATE $dbvin SET          updated = '$time',         cadastro = '$_POST[cadastro]',

editar após o rádio
$conexao = mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error()); $db = mysql_select_db($dbname, $conexao); if($_POST['update']) { extract($_POST); $selec = "UPDATE $dbvin SET updated='$time',         cadastro='$cadastro',         anomodelo = '$anomodelo',

Detalhe, antes de incluir os dados de rádio funcionava perfeitamente.

ja tentei ...

$conexao = mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error()); $db = mysql_select_db($dbname, $conexao); if($edit) {     $selec = "SELECT id FROM $dbvin WHERE cadastro='$cadastro' AND codigo!='$codigo'";     $exec = mysql_query($selec, $conexao) or die(mysql_error());     if(mysql_num_rows($exec)) {         echo "<script language='JavaScript'> alert('O numero de cadastro ja existe.'); </script>";         // get existing data         $selec = "SELECT * FROM $dbvin WHERE codigo='$codigo'";         $exec = mysql_query($selec, $conexao) or die(mysql_error());         $data = mysql_fetch_array($exec);         mysql_close($conexao);     } else {         // marca input query friendly         foreach($_POST as $key => $value) {             $_POST[$key] = addslashes($value);         } if($_POST['update']) { extract($_POST); $selec = "UPDATE $dbvin SET updated='$time',         cadastro='$cadastro',         anomodelo = '$anomodelo',

e mantém o erro , poderia muito bem passar de editar para controle , mas fica a questão --> PQ não quer funcionar igual antes ?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

checkbox mysql php

29-10-2008 15:07

Então a questão seria qual o url que você usa para chegar a página desejada?

Passa alguma variável ou algo assim?

Tenta após a confirmação de alteração redirecionar para página desejada através do header location.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

checkbox mysql php

29-10-2008 15:20

Esta desta forma .
seria pre_visualizar.php , ela vai para a página pre_visualizar.php da o alerta e é encaminhada para o controle.php .
Antes não ocorria este problema , abria normalmente em pre_visualizar .
Somente após incrementar os itens de radiobuttom é que esta ocorrendo este.
:star
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

checkbox mysql php

29-10-2008 15:22

É complicado somente pelo que mostrou aqui entender o problema, mas, você deveria simular a passagem de dados até a página desejada, armazenando os dados em inputs hidden, e passando por post ou get para depois da edição voltar para a página desejada.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

checkbox mysql php

29-10-2008 16:41

Web, valeu.
Por agora vou encaminhar para o controle.php pois não faz diferença , depois estudo o código com mais calma . :P
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado