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 pessoal,
gostaria de saber como que faço para listar dados fora do while ,
ex:
while{
$valor = $registro['valor']; /// aqui e uma lista de dados do sql !
}
echo $valor ;
Opá obrigado, mais não deu , e assim ,
tenho esse select que traz do banco todos os dados de venda do cliente !
então preciso salva , fazer um insert , mais se colocar o insert dentro , do laço {} não vai dar ai ele vai ficar salvando para cada venda , então preciso tirar a lista de dentro do laço e salvar com um isert
Aguem tem outra idéia ?
abraços obrigado !
Veja só, para listar você pode fazer assim:
<?php
$sql=mysql_query("select * from banco where se tiver condicao = condicao");
while ($linha=mysql_fetch_array($sql)){
?>
<tr>
<td><?php echo $linha["campo1"]; ?></td>
<td><?php echo $linha["campo2"]; ?></td>
<td><?php echo $linha["campo3"]; ?></td>
</tr>
<?php
} // fechar o while
tenta inserir suas informações aki.
?>Assim não vai dar certo , eu quero fazer o laço de todos os dados , depois tira ele de dentro .
Vamos tentar construir a sql do insert:
$sql = "INSERT INTO 'nome_da_sua_tabela' VALUES (";
foreach( $registro as $valor){
$sql .= $valor . ", ";
}
echo $sql; ... // tem mais coisa a se fazer
Veja como ficou a sql, se for mais ou menos isso que você esta procurando é só você arrumar o final desa string $sql.
Não e insert que estou com problema , e sim a lista ,
EX:
>
$selec3 = "SELECT plano, SUM(valor) AS valor FROM usuario ";
$exec3 = mysql_query($selec3, $conexao) or die(mysql_error());
while($campos3=mysql_fetch_array($exec3)) {
extract($campos3);
$plano = $campos3['plano'];
$plano2 = "<br/>".$plano.";
$valor = $campos3['valor'];
}
$adiciona = "INSERT INTO plano_usuario (plano)
VALUES ('$plano2')"; ///aqui salva toda lista do while ai em cima
$adicionando = mysql_query($adiciona, $conexao) or die(mysql_error());
Agora preciso listar o plano do usuário aqui fora do laço para salvar no INSERT INTO em 1 campoAh, saquei, eu geralmente uso um array e vou jogando valores nele.
$usuarios = array();
$valores = array();
$selec3 = "SELECT usuario , SUM(valor) AS valor FROM usuario ";
$exec3 = mysql_query($selec3, $conexao) or die(mysql_error());
while($campos3=mysql_fetch_array($exec3)) {
extract($campos3);
array_push($usuarios, $campos3['usuario']);
array_push($valores, $campos3['valor']);
}
Assim você terá um vetor de usuarios e um de valores, você pode lista-los assim:
for($i=0; $i<count($usuarios); $i++){
echo $usuarios[$i] . " - " . $valores[$i];
}mais tenho que fazer essa lista dentro do VALUES ('$plano2')";
como que faço ??
ninguém sabe como coloco essa lista dentro do isert ??
ficarei muito grato pela ajuda !
e grato pela ajuda de todos ai em cima !
Sua pergunta está estranha amigo, eu fiz um pedaço do insert agora a pouco e você disse que não aquilo, ai mostrei como faz para listar todos os dados de uma vez e você também disse que não é...
Tem como você especificar melhor oque você quer?
E assim como você fez lista os dados para fora do while , com seu array , agora preciso cadastrar ele com o isert ,
fiz assim mais não deu ,
>
$sql = "INSERT INTO 'nome_da_sua_tabela' dados VALUES ("
for($i=0; $i<count($plano2); $i++){
$plano2[$i]
}";
tenho que listar todos os plano do usuário , depois salva ele em outro campo
ex:
>
while{ // aqui a lista tem que esta dentro do laço para da o loop e listar todos os dados ate aqui esta ok , mais agora preciso salvar essa lista no campo com o isert !
$plano = $registro['plano']; // aqui vai listar assim plano 1, plano 2, plano 3 um de baixo do outro como qualquer lista !
$plano2 = "<br/>".$plano."<br/>"; // aqui estou dando um <br> para listar depois em outro campo não ficar tudo na mesma linha
}
Agora preciso fazer o isert dos plano do usuario na tabela de plano
>
$adiciona = "INSERT INTO plano_usuario (plano)
VALUES ('$plano2')"; ///aqui salva toda lista do while ai em cima !
$adicionando = mysql_query($adiciona, $conexao) or die(mysql_error());
Acho que agora deu para entender , :D
Ráá!
Agora sim... XD
Podemos montar os valores antes de joga-los na $sql
$values_sql = '';
// O loop vai só até o penúltimo elemento da lista, por causa da vírgula depois de cada valor
for($i=0; $i<count($plano2)-1; $i++){
$values_sql .= $plano2[$i] . ", ";
}
$values_sql .= $plano2[$i];
// colocamos tudo na query.
$sql = "INSERT INTO 'nome_da_sua_tabela' dados VALUES ($values_sql)";
Acho que é isso ai, se ficar faltando qualquer coisa posta ai.
Se eu entendi bem, parece que você quer fazer uma concatenação dos valores e depois imprimi-los, isso?
Ficaria assim:
while{
$valor .= $registro['valor']; /// aqui e uma lista de dados do sql !
}