Ir para conteúdo

POWERED BY:

Arquivado

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

guidezin

[Resolvido] foreach

Recommended Posts

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

 

$query = "select `cod_produto` from `tabela`";
$sql = mysql_query($query) or die(mysql_error());
while($linha = mysql_fetch_assoc($sql)){
  echo $linha['cod_produto']."<br>";
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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());
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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})

Compartilhar este post


Link para o post
Compartilhar em outros sites

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());
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

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[].

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.