Pesquisar na Comunidade
Mostrando resultados para as tags ''while''.
Encontrado 18 registros
-
Contar quantidade de vezes que um item (id) aparece em uma consulta com While.
iguulima postou um tópico no fórum PHP
Bom dia a todos, tenho em meu banco de dados uma tabela de pedidos, onde nesse pedidos estão salvos as id's dos produtos que foram selecionados pelo usuário, gostaria de saber se tem alguma forma utilizando um while que possa selecionar os produtos mais pedidos dessa tabela, não tenho ideia por onde começar. Consigo listar todos apenas mas não sei como selecionar os que são mais pedidos. -
Ola a todos, Estou com uma dúvida e ja tentei de tudo que estão dentro das minhas limitações de conhecimento. Tenho um laço de repetição While sendo executado e quero que uma Variavel seja executada apenas uma vez dentro desse laço. Existe essa possibilidade. Obrigado a todos. Segue o código: <?php $consult = $row['id']; $sql = "SELECT * FROM upload_data WHERE USER_CODE = '$consult' ORDER BY id ASC"; $resultadoimg = mysql_query($sql); $numero_registros = mysql_num_rows($resultadoimg); while($registrosimg = mysql_fetch_array($resultadoimg)) { ?> <li data-target="#carousel-custom" data-slide-to="0" <?php ele precisa ser executado uma unica vez aqui?>><img src="" alt=""></li> <?php } ?>
-
Problema Loop infinito ao criar While de uma consulta
mamotinho postou um tópico no fórum SQL Server
Olá, pessoal mais uma vez venho pedi a ajuda de vocês estou com um problema ao roda uma query que montei, eu sou iniciante na area e não tenho muito conhecimento então o codigo que fiz foi parte de meu conhecimento básico. bom o que eu quero resolver nessa query é o seguinte, eu quero consultar uma tabela e nela pega todos os registros com a a data vencida e lista ela dentro do while em seguida retornar dentro desse if o valor da coluna de cada uma exemplo de como fiz e ficou com loop infinito. declare @id int declare @getdate datetime select @id = IDCadastrado, @getdate = RegDate from BancoTeste.dbo.MinhaTabela where RegDate < getdate() while @id is not null begin select * from BancoTeste.dbo.MinhaTabela where IDCadastrado = @id end quando eu executo isso ai ele executa infinitamente o valor do primeiro registro repetidamente. -
Não sei oq tem de errado. O erro: Notice: Undefined index: name in C:\AppServ\www\includes\functions.php on line 105 A linha do erro: <td width="106"><div class="fonte">'. $row["name"] .'</div></td> O codigo: function mini_ranking (){ $PDO = db_connect_gamedata(); $sql = "SELECT name baselevel FROM u_hero WHERE class <> '80' ORDER BY baselevel Desc Limit 6"; $result = $PDO->query($sql); $guild = $result->fetchAll(PDO::FETCH_ASSOC); $i = 1; echo '<table width="153" height="0" border="0">'; foreach($guild as $row) { echo '<tr> <td width="0" height="0" align="center"><div class="fonte">'. $i++ . '</div></td> <td width="106"><div class="fonte">'. $row["name"] .'</div></td> <td width="20"><div class="fonte">'. $row["baselevel"] .'</div></td> <tr>'; } echo '</table>'; }
-
Estou precisando saber o percentual de imagens que está no diretório e estou com dificuldades. Alguém pode me ajudar dar uma luz? $qry_canal = $con->query("SELECT * FROM grade, dados WHERE grade.id = dados.id AND grade.canal IN('HBO','GLO','TNT') GROUP BY dados.titulo"); $counter = 0; while($rows = $qry_canal->fetch(PDO::FETCH_ASSOC)){ $id = $rows['id']; $sigla = $rows['canal']; $sk = substr($rows['sk'], 0, 14); // Busca total de programas por canal /* ---------------------------------------------------------------- */ $qry_b = $con->query("SELECT * FROM grade, dados WHERE grade.id = dados.id AND grade.canal LIKE '".$sigla."' GROUP BY dados.titulo"); $total_programas = $qry_b->rowCount(); if(empty($serieskey)) { $prog_id = "$id"; } else{ $prog_id = "$sk"; } // VERIFICA SE EXISTE IMAGEM /* ---------------------------------------------------------------- */ if(file_exists("/imagens/".$prog_id."_epg.jpg")){ $arr_img[] = "".$counter++.""; } $total_fotos = "".count($arr_img).""; echo "".($total_fotos * 100 ) / $total_programas."% <br />"; }
- 1 resposta
-
- percentual
- duvida
-
(e mais 2 )
Tags:
-
Possuo um ranking de vitoria/derrota que é trazido através do php com while do banco de dados,tenho dois campos chamados "vencedor" e "perdedor",como posso contar dentro do while os registros iguais que possuem por exemplo "vencedor -> 1" e "perdedor -> 2",caso exista esse registro dessa forma citada 50 vezes,preciso que dentro do while ele me informe que o registro existe 50 vezes.Obrigado pela ajuda.
-
O nome do produto está sendo inserido de forma repetitiva no Mysql
granderodeo postou um tópico no fórum PHP
No meu código $this->details() me retorna todos os detalhes dos produtos, tais como ID, nome do produto, descrição etc. No carrinho de compras quando o usuário finaliza a compra os dados dos itens que ele pediu são inseridos no BD. O problema é que cada produto tem um nome, e quando o usuário finaliza a compra está sendo inserido apenas o Nome do primeiro produto do carrinho repetitivamente. Vejam na foto que o ID do produto é diferente, mas o nome é repetido em todos. Tentei fazer um foreach para tentar resolver o problema, mas continua a mesma coisa. Se alguém puder me ajudar por gentileza, agradeço :) $this->start(); foreach($this->details() as $product_name){ $product = $product_name['product_name']; } // Insert the items if ($pass) { $this->details(); $this->orderID = $this->lastID; $sql = "INSERT INTO `orders_items` (`order_id`, `product_id`, `quantity`, `product_name`) VALUES "; $cond = []; foreach ($_SESSION['cart'] as $id=>$qty) { $sql .= "(?, ?, ?, ?),"; array_push($cond, $this->orderID, $id, $qty, $product); } $sql = substr($sql, 0, -1) . ";"; $pass = $this->exec($sql, $cond); } -
Informar uma quantidade de números exibidos via teclado e fazer a soma dos mesmos
Mardscrash postou um tópico no fórum Java
Codifique um programa em java que: a – permita a entrada via teclado de uma qtde de números tipo inteiro; b – calcule e exiba na tela a soma dos números informados; Obs. A qtde de números deverá ser informado via teclado, antes dos números serem lidos. Eu cheguei a montar a estrutura while, mas não sei como exibir a soma desses números informados. Procurei no google, mas é sempre algo mais simples, como exibir a soma de 2 ou 3 números. Ficaria muito grato a quem pudesse me ajudar Segue o que eu consegui fazer: package exercicio; import java.util.Scanner; public class Exercicio5 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); //a – permita a entrada via teclado de uma qtde de números tipo inteiro; System.out.print("Digite a quantidade de números inteiros: "); int quantidade = scan.nextInt(); while(quantidade > 0) { //quantidade de de números informados via teclado antes de serem lidos System.out.print("Digite um número: "); int num = scan.nextInt(); quantidade--; } //b – calcule e exiba na tela a soma dos números informados; System.out.println("A soma dos números digitados é igual a: "); } } -
Opaa, o problema é o seguinte: preciso fazer uma busca no BD com esse código: $buscar = $pdo->prepare("SELECT * FROM `produtos` WHERE `titulo` LIKE '%$textoBusca%'"); $buscar->execute(); $retorno = array(); $retorno['dados'] = ''; $retorno['qtd'] = $buscar->rowCount(); if($retorno['qtd'] >= 0){ while($conteudo = $buscar->fetchObject()){ $retorno['dados'] .= '<a href="#" id="'.$conteudo->id.':'.$conteudo->valor.'">'.utf8_encode($conteudo->titulo).'</a>'; } } O problema é que os resultados estão vindo duplicados (no BD só há 3 registros) Não tenho idéia do que fazer, se alguem puder ajudar agradeço desde já.
- 2 respostas
-
- while
- duplicando
- (e mais 3 )
-
Olá pessoal, tudo bem ? Estou com um probleminha, espero que me ajudem... Seguinte, tenho uma tabela onde faço a exibição de alguns dados, tais como: NOME, QUANTIDADE, VALOR Eu quero buscar o valor, em outra tabela e exibir dentro desse while. Porem, ele está exibindo em todos os resultados. Seguinte, Cada usuário que efetuar uma vendo do produto tal, é salvo na tabela VENDIDOS, onde o mesmo armazena o "ticket_promote_id". Ao fazer o while das vendas, quero pegar o valor do produto em outra tabela com o "ticket_promote_id" que mencionei acima, porem ao fazer isso, ele me retorna o valor de um produto em todos os resultados do while. Alguém sabe por que ? Segue meu código abaixo: $valueTotali = 0; while($dados = mysqli_fetch_assoc($sql_promoters)){ $user = $dados['id']; $sqlIngress = $conn->query("SELECT * FROM vendidos WHERE ticket_promote_id = '$user' "); $cont = $sqlIngress->num_rows; if($cont > 0){ $dadosIngress = mysqli_fetch_assoc($sqlIngress); $loteId = $dadosIngress['ticket_lote_id']; $sqlLote = $conn->query("SELECT * FROM ingress WHERE lote_id = '$loteId' "); while($data = mysqli_fetch_assoc($sqlLote)){ $valueTotali += $data['lote_preco']; } } Segue a imagem da tabela com o mesmo valor sendo replicado em todos os resultados:
-
Estou criando uma página que realize monitoramento de atividades.No meu código PHP defini uma variável que busca a data atual, depois passei o parâmetro de conexão com o banco de dados, depois criei um while para buscar as informações, dentro do while criei um if, a condição if é que se a variável data for igual a data cadastrada na atividade, exiba toda a atividade cadastrada. Mas o problema é que o if não está controlando essa condição, está passando direto e exibindo tudo. <?php $number = ('23'); $data = date("Y-m-d"); echo "$data"; /*Aqui realizo a conexão com o banco de dados, passo os dados para conectar, caso dê algum erro, o sistema me retorna uma mensagem de erro*/ $conect = mysqli_connect('localhost','root','','projeto_pessoal') or die ('Erro na conexão com o banco de dados'); /*Aqui passo o comando para realizar a busca no banco de dados, aplicando o filtro de pesquisa*/ $result_pesquisa = "SELECT * FROM cadastrar_atividade"; /*Neste momento, mando a execução, preciso passar como parametro a variável com a conexão e a variável com o comando, caso dê erro, será exibido uma mensagem*/ $resultado_pesquisa = mysqli_query($conect, $result_pesquisa); /*Aqui é aberto um laço de repetição para fazer uma varredura no banco de dados, em seguida realizo a exibição do que foi encontrado*/ ?> <h1>Resultado da Pesquisa</h1> <?php while($rows_pesquisa = mysqli_fetch_array($resultado_pesquisa)){ if($rows_pesquisa['prazo'] == $data) echo '<p class="title">'.'ID da atividade: '.'</p>'.'<p class="result">'.$rows_pesquisa['id'].'<br>'.'</p>'; echo '<p class="title">'.'Nome da atividade: '.'</p>'.'<p class="result">'.$rows_pesquisa['nome_atividade'].'<br>'.'</p>'; echo '<p class="title">'.'Descrição da atividade: '.'</p>'.'<p class="result">'.$rows_pesquisa['desc_atividade'].'<br>'.'</p>'; echo '<p class="title">'.'Prioridade: '.'</p>'.'<p class="result">'.$rows_pesquisa['prioridade'].'<br>'.'</p>'; echo '<p class="title">'.'Prazo: '.'</p>'.'<p class="result">'.$rows_pesquisa['prazo'].'<br>'.'</p>'; echo 'carregado'; echo '<hr></hr>'; } ?>
-
Alguém poderia me auxiliar pra fazer um loop com foreach para um sorteio?
André Monjardim postou um tópico no fórum PHP
Estou com uma dúvida aqui e não estou conseguindo achar uma solução. Criei um sistema de sorteio onde corre e salva no banco uma sequências numeral de forma aleatória. No foreach eu determinei que deverá procurar 5 sequências entre 1 à 10 sem repetir... e caso ele ache no banco, já salvo anteriormente por outro apostador um nº repetido, ele deveria somar + 1 no final do laço e continuar a buscar outro numero até finalizar as 5 sequências. Só que quando ele soma + 1 ele não transfere essa soma para o forech, pois o laço inicia numa linha abaixo. No trecho abaixo eu simulei um número salvo no banco que seria o "00004" e no loop ele deverá pular esse nº. Será que consegui passar a minha dúvida? // GERAR NÚMEROS ALEATÓRIOS function getRandomNumbers($qnt, $min, $max, $repeat = false, $sort = true, $sort_order = 0){ if ((($max - $min) + 1) >= $qnt) { $numbers = array(); while (count($numbers) < $qnt) { $number = mt_rand($min, $max); if ($repeat) { $numbers[] = $number; } elseif (!in_array($number, $numbers)) { $numbers[] = $number; } } if($sort){ switch ($sort_order){ case 0: sort($numbers); break; case 1: rsort($numbers); break; } } return $numbers; } else { return 'A faixa de valores entre $min e $max deve ser igual ou superior à ' . 'quantidade de números requisitados'; }} // Após declará-la: foreach (getRandomNumbers(5, 1, 10, false, false) as $number){ $number = str_pad($number , 6 , '0' , STR_PAD_LEFT); // EXIBIR NA TELA DE TESTE OS NÚMEROS PARA SORTEIO echo " $number<br>"; // $sql = mysqli_query($con, "SELECT * FROM sorteios WHERE num_sorteados='$number'"); // while($array = mysqli_fetch_array($sql)){ // $num_sorteados = $array['num_sorteados']; // } // TESTE $num_sorteados = 000004; // if($num_sorteados == false or $num_sorteados != $number){ $query = "INSERT INTO sorteios (referencia, num_sorteados) VALUES ('$reference','$number')"; mysqli_query($con, $query) or die (" Erro ao inserir dados sorteados"); } else { $qtde_numeros = $qtde_numeros + 1; } } -
Bom dia à todos. Estou tendo problemas em colocar um valor, oriundo de uma tabela de dados, no lugar do valor de condição de testes, no comendo While. Abaixo uma parte da expressão, preciso colocar no lugar do valor que condiciona o contador, uma variavel contendo um valor de um registro de uma tabela de dados. $conta=1; while($conta<=$qpa){ A variável $qpa deve conter o valor de uma linha de uma tabela. Mas não consigo fazer com que a variável retorne o valor, ela entra na expressão do comando com o valor zerado. Estou "pegando" da tabela acordos, a quantidade de parcelas ($qpa), que deve fazer um loop, gerando o parcelamento que será incluído em outra tabela. Agradeço se puderem me ajudar.
-
SELECT dentro de um FOREACH imprimindo apenas a última string da array. Como fazer para imprimir todos?
JurisCode postou um tópico no fórum PHP
OLÁ A TODOS, Boa tarde. Preciso de ajuda com o seguinte script. eu tenho uma array que é a seguinte: array (size=7) 0 => string 'gu' (length=2) 1 => string 'tr' (length=2) 2 => string 'fr' (length=2) 3 => string 'ip' (length=2) 4 => string 'al' (length=2) 5 => string 'po' (length=2) 6 => string 'xa' (length=2) Cada string da array de duas letra é a abreviatura de uma cidade; eu quero fazer uma pesquisa na base da dados para cada sigla dessa para ver qual a cidade correspondente. Como vai ser necessariamente um resultado apenas, eu tive que usar o foreach. Tipo foreach($array as $variavel); { $busca = $conn->query("SELECT * FROM tabela WHERE sigla = '$variavel'"); $resultado = $busca->fetch_assoc(); echo ' - '. $resultado['significado_da_sigla']; } } Não está funcionando perfeitamente, mas imprime apenas o último resultado. Eu já tentei uma variável para ir acumulando o resultado, tipo if (empty('$resultado_busca')) { $resultado_busca = $resultado['significado_da_sigla']; } else { $resultado_busca = $resultado_busca . ' - ' . $resultado['significado_da_sigla']; } ou seja, se a variável foi vazia (da primeira vez), então vai criar uma variável com o primeiro resultado, se a variável já existir (das outras vezes), então a variável vai ser igual à variavel anteriormente criado adicionando um traço e o próximo resultado. E depois, em vez de imprimir a variável com fetch_assoc $resultado['significado_da_sigla'] eu imprimiria a variável &resultado_busca, que em cada ciclo iria acumulando os resultados, mas também não está funcionando, essa não imprime nada na tela. Alguém pode dar uma ajuda? OBRIGADO, DESDE JÁ -
while Tem como fazer select sem while? É necessariamente um resultado
JurisCode postou um tópico no fórum PHP
eu tenho uma array que é a seguinte: array (size=7) 0 => string 'gu' (length=2) 1 => string 'tr' (length=2) 2 => string 'fr' (length=2) 3 => string 'ip' (length=2) 4 => string 'al' (length=2) 5 => string 'po' (length=2) 6 => string 'xa' (length=2) eu quero fazer uma pesquisa na base da dados para cada sigla dessa para ver qual o significado correspondente. Como vai ser necessariamente um resultado apenas, não tem motivo para usar o while, mas fazer via foreach. Tipo foreach($array as $variavel); { $busca = $conn->query("SELECT * FROM tabela WHERE sigla = '$variavel'"); $resultado = $busca->fetch_assoc(); echo ' - '. $resultado['significado_da_sigla']; } } Mas tá imprimindo só o último resultado. -
Problema em definir largura e disposição horizontal de tabelas com resultado de while
Aureo Almeida postou um tópico no fórum PHP
Problema em definir largura e disposição horizontal de tabelas com resultado de while Como iniciante em programação estou tendo problemas para estilizar uma tabela dentro de um script PHP. Possuo o seguinte script: <?php $sql = 'SELECT * FROM psd_produtos'; $stmt = $conn->query($sql); echo '<table>'; while($row = $stmt->fetch(PDO::FETCH_OBJ)){ echo " <td> <tr><h1>$row->prd_nome <br /></h1></tr> <tr><p>$row->prd_detalhe <br /></p></tr> <tr>$row->prd_valor <br /></tr> </td> "; } echo '</table>'; ?> Ele funciona perfeitamente, buscando e produzindo um loop das informações que preciso, porém, gostaria que o resultado me retornasse em tabelas que ficasse dispostas horizontalmente lado a lado, e imaginei colocar uma classe CSS que estabelecesse a largura da tabela em 400px com um float que me permitiria alinhar o resultado em “4 colunas”. Porém, essa classe não funciona dentro do script. Tentei echo '<table class="tabela-produto">'; e não funciona. A mesma classe, que estabelece uma largura para a tabela, aplicada a uma tabela fora do script funciona e isso tirou minha dúvida se este tópico seria sobre CSS/HTML ou PHP. Como posso fazer para obter meu objetivo com este script, alinhando horizontalmente o resultado do while em tabelas dispostas horizontalmente em 4 colunas? -
Estou com uma duvida, ao fazer um select para preencher um campo se ele for igual a real ele deveria preencher ex: o item 1 no valor de 1 real o item 2 no valor de 2 e o item no valor de 3, porem nos três itens ele preenche apenas com o 1º item.o código Controller: <div class="container"> <div class="col-md-12"> <button id="btnProcessar" type="button" class="btn btn-primary" onclick="processEntSai('.$parameters.');"><span>Processar</span></button> </div> <div class="row"> <div class="col-md-12"> <table cellpadding="5" id="tableItemNota" class="display dataTable cell-border compact" cellspacing="0" style="textalign:center; border-bottom:1px solid black;"> <thead> <tr style="border: 1px solid #ccc"> <th></th> <th>Item</th> <th>Imagem</th> <th>Qtd</th> <th>U.Medida</th> <th>Peso</th> <th>Código</th> <th>Nº Série</th> <th>Tamanho</th> <th>Descrição</th> <th>Coef.</th> <th>Moeda</th> <th>Valor Unitário</th> <th>Valor Total</th> </tr> </thead> <tbody>'; foreach($itemNFSaida as $item) { if(file_exists('uploads/produtos/'.$item['CODREF'].'.JPG')){ $img_url = BASE_URL.'/uploads/produtos/'.$item['CODREF'].'.JPG'; } else { $img_url = BASE_URL.'/assets/images/imgNotFound.png'; } if($item['QTDDEV'] == $item[$qtdFatRec]){ $tdSelectBox = '<span class="glyphicon glyphicon-ban-circle"></span>'; } else{ $tdSelectBox = '<input type="checkbox" id="'.$item['NUMSEP'].'" name="checkSeq" value="'.$item[$seqCmp].'"/>'; } if($item['USU_MOEVEN'] == 'AU'){ $item['valorEnt'] = $this->step5ModelObj->TotalentSaiComNota(10, $codFil, $numNota); $item['PREUNI'] = $item['valorEnt']['USU_VLRMOE']; } echo '<tr> <td class="order">'.$tdSelectBox.'</td> <td>'.$item[$seqCmp].'</td> <td><img src="'.$img_url.'" id="imgItemPed" data-codpro="'.$item['CODPRO'].'" onclick="itemModalDetalhes(this)"" style="width: 75px; border-radius: 5px; margin: 0px; cursor: pointer;"></td> <td>'.number_format($item['QTD'], 2, '.', '').'</td> <td>'.$item['UNIMED'].'</td> <td>'.number_format($item['PESBRU'], 2, '.', '').'</td> <td>'.$item['CODPRO'].'</td> <td>'.$item['NUMSEP'].'</td> <td>'.$item['CODDER'].'</td> <td>'.$item['CPL'].'</td> <td>'.number_format($item['USU_PREVEN'], 2, '.', '').'</td> <td>'.$item['USU_MOEVEN'].'</td> <td>'.number_format($item['PREUNI'], 2, ',', '').'</td> <td>'.number_format($item['VLRLIQ'], 2, ',', '').'</td> </tr>'; } echo '</tbody> </table> </div> </div> </div>'; O código da Model: public function TotalentSaiComNota($codEmp, $codFil, $numPed){ $sql = "SELECT USU_VLRMOE FROM E140IPV WHERE CODEMP = ? AND CODFIL = ? AND NUMNFV = ?"; $sql = $this->db->prepare($sql); $sql->execute(array($codEmp, $codFil, $numPed)); return $sql->fetch(); } Resumindo preciso que não repita o item do select como está repetindo, preciso que traga os item do select 1. item 1 2. item 2 3. item 3 e não 1. item 1 2. item 1 3. item 1
-
Olá, sou novo por aqui e estou aprendendo PHP agora. O meu problema é relacionado a um exercício que deve ser simples de resolver para vocês. Vou colocar ele aqui, caso alguém posso me ajudar. Utilizando um while, fazer um programa que lance uma moeda (escolhendo um número aleatório que pode ser 0 ou 1) até tirar 5 vezes cara (o número 1). Ao terminar, imprimir o número de lançamentos da moeda até tirar 5 vezes cara. Desde já agradeço. vlw