Ir para conteúdo

POWERED BY:

Arquivado

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

EBumba

[Resolvido] SELECT e UPDATE na mesma query MysQL e PHP

Recommended Posts

Ola Galera

estou arrazado tenho aqui o codigo que esta a me dar bronca, é o seguinte quando faço a seleção de varios produtos ele faz o select o Update e envia pra outra tabela,

quando se trata de um só produto ele faz o select não faz o Update e envia o produto para outra tabela .

Gostaria que me ajudassem para saber aonde está o erro no código

<?php require_once('../Connections/conecta.php'); ?>

<?php

// Verifica se algum carro foi selecionado
if(isset($_POST["check"])) {
// Faz um loop no Array de checkbox
foreach($_POST["check"] as $key => $value){
$query_auto = "SELECT * FROM registros WHERE id ='$value'"; 
$consulta = "UPDATE registros SET status = 'TRANSFERIDO', datatranfer = NOW() WHERE status ='RESERVADO S .M.' and id ='$value'" ;
$consulta1 = mysql_query($consulta);
mysql_select_db($database_conecta, $conecta);
$auto = mysql_query($query_auto, $conecta) or die(mysql_error());
$row_auto = mysql_fetch_array($auto); //joga os dados em um array


$lote  = $row_auto['lote'];
$origem = $row_auto['origem'];
$processo = $row_auto['n_processo'];
$marca = $row_auto['marca'];
$modelo = $row_auto['modelo'];
$cor = $row_auto['cor'];
$chassi = $row_auto['n_chassi'];
$motor = $row_auto['n_motor'];
$cx = $row_auto['tipoCx'];
$cilindrada = $row_auto['cilindrada'];
$pneu = $row_auto['refPneu'];
$anofabrico = $row_auto['ano_fabrico'];
$matricula = $row_auto['matricula'];
$precoVenda = $row_auto['precoVenda'];

//e então você insere na tabela

$sql="INSERT INTO produtosstand(lote,origem,n_processo,data_envio,marca,modelo,cor,n_chassi,n_motor,tipoCx,cilindrada,refPneu,ano_fabrico,matricula,precoVenda,status) VALUES ('$lote','$origem','$processo',NOW(),'$marca','$modelo','$cor','$chassi','$motor','$cx','$cilindrada','$pneu','$anofabrico','$matricula','$precoVenda','TRANSFERIDO')";
$sql = mysql_query($sql) or die("Erro no SQL: ".mysql_error());

                 echo "O Produto selecionado foi Transferido para o Stand Maianga!<br />";
				 print "<script> alert('O Produto selecionado foi Transferido para o Stand Maianga!<br />');
                                        location.href='enviarStandMaianga.php';
				</script>";
				             }}  else  {
             echo  "Nenhum Carro foi selecionado!";
         }
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo EBumba uma forma mais facil de você trabalhar caso sejam

bancos diferentes porém no mesmo local (ou seja, 2 bancos utilizando o mesmo servidor MySQL)

é ao invés de usar o mysql_select_db usar o nome do banco na sua query.

 

Ex: SELECT * FROM banco1.registros WHERE id = '$value'

INSERT INTO banco2.produtos (campo1,campo2,campo3) VALUES (1,2,3);

 

Captou? Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

A forma mais fácil amigo EBumba de você visualizar o problema do teu UPDATE é debugando a query.

Faça o teste com update de um só produto e ao invés de fazer mysql_query faça um echo $consulta.

 

A mesma coisa serve para a query de SELECT.

 

Se a query estiver escrita corretamente verifique se os dados encontram-se nas condições exigidas

da query para que seja executada e experimente executar a query no phpmyadmin pra ver se funciona.

 

Se tudo funcionar debug seu looping, experimente fazer o update de um produto fora do mesmo e ver se vai.

 

O jeito é debugar meu amigo.

 

:joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado pela dica galera

tentei fazer a mudança de linha nos códigos e funcionou mesmo com um produto selecionado obrigado

o código esta ai quem quiser fazer o uso e melhorar esta bem

 

<?php require_once('../Connections/conecta.php'); ?> 
 
<?php 
 
// Verifica se algum carro foi selecionado 
if(isset($_POST["check"])) { 
// Faz um loop no Array de checkbox 
foreach($_POST["check"] as $key => $value){ 
$query_auto = "SELECT * FROM registros WHERE id ='$value'";  
//fiz a mudança do update que estava aqui 
mysql_select_db($database_conecta, $conecta); 
$auto = mysql_query($query_auto, $conecta) or die(mysql_error()); 
$row_auto = mysql_fetch_array($auto); //joga os dados em um array 
 
 
$lote  = $row_auto['lote']; 
$origem = $row_auto['origem']; 
$processo = $row_auto['n_processo']; 
$marca = $row_auto['marca']; 
$modelo = $row_auto['modelo']; 
$cor = $row_auto['cor']; 
$chassi = $row_auto['n_chassi']; 
$motor = $row_auto['n_motor']; 
$cx = $row_auto['tipoCx']; 
$cilindrada = $row_auto['cilindrada']; 
$pneu = $row_auto['refPneu']; 
$anofabrico = $row_auto['ano_fabrico']; 
$matricula = $row_auto['matricula']; 
$precoVenda = $row_auto['precoVenda']; 
 
//e então você insere na tabela 
 
$sql="INSERT INTO produtosstand(lote,origem,n_processo,data_envio,marca,modelo,cor,n_chassi,n_motor,tipoCx,cilindrada,refPneu,ano_fabrico,matricula,precoVenda,status) VALUES ('$lote','$origem','$processo',NOW(),'$marca','$modelo','$cor','$chassi','$motor','$cx','$cilindrada','$pneu','$anofabrico','$matricula','$precoVenda','TRANSFERIDO')"; 
$sql = mysql_query($sql) or die("Erro no SQL: ".mysql_error()); 
//Coloquei aqui e funcionou bem
$consulta = "UPDATE registros SET status = 'TRANSFERIDO', datatranfer = NOW() WHERE status ='RESERVADO S .M.' and id ='$value'" ; 
$consulta1 = mysql_query($consulta); 
 
                 echo "O Produto selecionado foi Transferido para o Stand Maianga!<br />"; 
                                 print "<script> alert('O Produto selecionado foi Transferido para o Stand Maianga!<br />'); 
                                        location.href='enviarStandMaianga.php'; 
                                </script>"; 
                                             }}  else  { 
             echo  "Nenhum Carro foi selecionado!"; 
         } 
?>

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.