Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
boa noite galera
preciso de uma ajuda rapidinha..
eu estou tentando fazer um for
for ($x = 0; $x < $totalRows_RsTranslacao; $x++){
echo $row_RsTranslacao['cod_produto']."<br>";
}
beleza , mas por exemplo .. se ele tem 2 registros , ele vai imprimi na tela 2 codigos do produto , porem os codigos vao ser de um produto só..
Como eu faço pra ele imprimir na tela o código de cada produto?
Oi!
Para isso, deveria usar um while com mysql_fetch_assoc() no resultado da sua query.
Outra opcao seria usar foreach num array previamente criado com os registros da query.
Poste seu codigo para avaliarmos a solucao adequada.
------
Desculpe @Vitor, nao vi seu post.
Bom é o seguinte. .
InterPlanet ja estou usando o um while com mysql_fetch_assoc() para exibir os dados na página .. mas oque eu preciso agora é o seguinte :
Eu registro vários produtos em uma tabela, e cada produto possui um código..
O que eu preciso fazer é dar um UPDATE em todos os produtos registrados, ou seja , preciso repetir o UPDATE x vezes e cada vez ele possui um código diferente ,que depende dos produtos que eu registrie..
o update esta assim
a consulta
mysql_select_db($database_conn, $conn);
$query_RsTranslacao = "SELECT * FROM translacao WHERE numero_venda = '".$numero_venda."' ORDER BY id_translacao DESC";
$RsTranslacao = mysql_query($query_RsTranslacao, $conn) or die(mysql_error());
$row_RsTranslacao = mysql_fetch_assoc($RsTranslacao);
$totalRows_RsTranslacao = mysql_num_rows($RsTranslacao);
no caso , eu precisaria repetir o UPDATE , e onde esta WHERE codigo_produto = '".$cod_produto_final."'"; eu preciso montar a variavel $cod_produto_final onde ele vai pegar o código de cada produto registrado
$updateSQL = "UPDATE produtos SET quantidade_produto = '".$quantidade_final."' WHERE codigo_produto = '".$cod_produto_final."'";
mysql_select_db($database_conn, $conn);
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());
}Ok!
<?php
/ SUA CONEXAO AQUI /
$query_RsTranslacao = "SELECT * FROM translacao WHERE numero_venda = '".$numero_venda."' ORDER BY id_translacao DESC";
$RsTranslacao = mysql_query($query_RsTranslacao, $conn) or die(mysql_error());
//$row_RsTranslacao = mysql_fetch_assoc($RsTranslacao); ISTO SAI DAQUI
$totalRows_RsTranslacao = mysql_num_rows($RsTranslacao);
// While para o update
While ($Dados = mysql_fetch_assoc($RsTranslacao))
{
// AQUI É QUE VAI O UPDATE, dentro do laco que sera executado emquanto houver registros em $RsTranslacao
$quantidade_final = 0; // defina o valor desta variavel
$cod_produto_final = $Dados['id']; // defian o valor desta variavel
$updateSQL = "UPDATE produtos SET quantidade_produto = '".$quantidade_final."' WHERE codigo_produto = '".$cod_produto_final."'";
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());
}
?>
Veja que o mysql_fetch_assoc() foi movido para o while que passa os dados de cada linha do db encontrada pro array $Dados. Agora e so adapatar ai.
Qualquer duvida, post ai! Abraco.
essa query faz o que você quer
atualizar a quantidade de produtos que estão na venda especificada
UPDATE
produtos
SET
quantidade_produto = {$quantidade_final}
WHERE
codigo_produto
IN (
SELECT
`cod_produto`
FROM
`translacao`
WHERE
`numero_venda` = {$numero_venda})Interplanet nao deu certo.. a intenção é ele ir e dar UPDATE e mudar a quantidade ($quantidade_final) de tal item (ordenado pelo $cod_produto_final) , mas ele esta pegando a quantidade de 1 item só e alterando para todos ..
por exemplo , tenho dois itens com codigos e quantidades diferente
QTDE ----- CODIGO ------- ITEM
5 -------12345----------SABONETE
8--------12346----------SHAMPOO
ele pega a quantidade do ultimo item (8) e coloca essa quantidade para o sabonete tbm, ao invés do sabonete ir com qtde 5..
como esta o código :
$query_RsTranslacao3 = "SELECT * FROM translacao WHERE numero_venda = '".$numero_venda."' ORDER BY id_translacao DESC";
$RsTranslacao3 = mysql_query($query_RsTranslacao3, $conn) or die(mysql_error());
//$row_RsTranslacao = mysql_fetch_assoc($RsTranslacao);
$totalRows_RsTranslacao3 = mysql_num_rows($RsTranslacao3);
while ($Dados = mysql_fetch_assoc($RsTranslacao3))
{
$quantidade_final = $row_RsTranslacao['quantidade_atual'];
$cod_produto_final = $Dados['cod_produto'];
$updateSQL = "UPDATE produtos SET quantidade_produto = '".$quantidade_final."' WHERE codigo_produto = '".$cod_produto_final."'";
mysql_select_db($database_conn, $conn);
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());
}
}Opa!
Observe que [ $row_RsTranslacao ] nao existe mais, tente mudar aqui:
$quantidade_final = $Dados['quantidade_atual'];
Todos os dados do registro atual estao em $Dados[].
ehehehe , era isso mesmo..
Obrigado por me ajudar mais uma vez , vlw mesmo !
abraaços
Legal!
Abraço e boa sorte.
consulte o manual
considerando que esteja utilizando o banco mysql
http://www.php.net/manual/pt_BR/book.mysql.php
estruturas de controle
http://www.php.net/manual/pt_BR/language.control-structures.php
while($linha = mysql_fetch_assoc($sql)){