Jump to content
mamotinho

Problema Loop infinito ao criar While de uma consulta

Recommended Posts

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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By peterstefan
      Olá, estou com uma query aqui e preciso pegar de 2 campos diferentes os dados diferente de 0,  mais quanto tento no AND ele somente traz um resultado, o OR ele traz um dos campos com o valor 0, teria alguma forma de pegar os dados diferente de 0 dos dois campus?
      preciso pegar o idOrganizador diferente de 0 e o idPiloto diferente de 0 
       
      SELECT * FROM boletos WHERE proc = 0 AND idOrganizador !='0' AND idPiloto ='0';  
    • By Artur Mendonça
      Olá amigos.
      Estou a tentar fazer um sistema para upload de vídeos para criar uma base de dados.
      Já fiz um sistema para imagens e funciona na perfeição. Adaptei este código para upload de vídeo e recebo as mensagens de erro:
      Os (...) foi que coloquei para encurtar o caminho.
       
      Código da página para seleção e upload do vídeo:
      <?php session_start(); include_once "../conexao.php"; $agid = $_REQUEST['id']; $sql = "select * from tbl_album where albumid='$agid'"; $rs_result = mysqli_query($conectar, $sql); ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content="Página Administrativa"> <meta name="author" content=""> <link rel="icon" href="imagens/imgadmin.ico"> <title>Administrativo</title> <link rel="stylesheet" href="../css/bootstrap.min.css"> <link rel="stylesheet" href="../css/style.css"> </head> <?php $agid = $_REQUEST['id']; $sql = "SELECT * FROM tbl_albumvideo WHERE albumid='$agid'"; $rs_result = mysqli_query($conectar, $sql); while ($row = mysqli_fetch_assoc($rs_result)) { $aname = $row["name"]; } ;?> <body> <?php include_once "admmenu.php"; ?> <div class="container theme-showcase" role="main" Style='margin-top: 100px'> <h1 class="page-header"><br />Adicionar vídeo</h1> <div class="row"> <div class="col-md-12"> <div class="panel panel-default"> <div class="panel-heading"> Por favor selecione o vídeo </div> <div class="panel-body"> <div class="row"> <div class="col-lg-6"> <form action="processa/proc_cad_albumvideo2.php?id=<?php echo $agid ?>" method="POST" enctype="multipart/form-data" name="upload"> <div class="form-group"> <input type="file" name="arquivo" id="arquivo" value="arquivo"/> </div> <div class="form-group"> <input name="enviar" class="btn btn-primary" type="submit" id="enviar" value="Enviar"> </div> <div class="alert alert-danger" role="alert" style='margin-top:20px'> Esta operação poderá ser demorada, dependendo do tamanho do ficheiro a enviar e das suas condições de ligação à rede. <br/> <br/> Por favor seja paciente e não reinicie a página! </div> </form> </div> </div> </div> </div> </div> </div> </div> <script src="../js/jquery-3.2.1.slim.min.js"></script> <script src="../js/popper.min.js"></script> <script src="../js/bootstrap.min.js"></script> </body> </html> E este é o código para efetuar o upload e gravação na BD
      <?php ini_set('display_errors', 1); ini_set('display_startup_erros', 1); error_reporting(E_ALL); session_start(); include_once "../../conexao.php"; $adate = date('Y-m-d H:i:s'); $status = 'process'; $arquivo = $_FILES['arquivo']; $albumid = $_REQUEST['id']; $pasta = '../../videos/'; $resulta = mysqli_query($conectar, "SELECT * FROM tbl_albumvideo WHERE albumid='$albumid'"); $linhas = mysqli_fetch_assoc($resulta); $local = $linhas["local"]; $arqnome = $_FILES['arquivo']['name']; $ano = $linhas['ano']; $extensao = @end(explode('.', $arqnome)); $novonome = time() . "-" . rand() . "." . $extensao; $tmp = $_FILES['arquivo']['tmp_name']; $file = $pasta . $novonome; if (move_uploaded_file($tmp, $file)) { $query = mysqli_query($conectar, "INSERT INTO videos (video_name, local, ano,aid) VALUES ('$novonome','$local', '$ano', '$albumid')") or die(mysqli_error($conectar)); if ($query) { echo "<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://(...)/addgalleryvideo.php'> <script type=\"text/javascript\"> alert(\" O vídeo foi guardado com sucesso.\"); </script>";} else {echo " <META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://(...)/addgalleryvideo.php'> <script type=\"text/javascript\"> alert(\" O Vídeo não foi guardado.\"); </script> "; } } Linha 14 : $arquivo = $_FILES['arquivo']; 
      Linha 21: $arqnome = $_FILES['arquivo']['name'];
      Linha 27: $tmp = $_FILES['arquivo']['tmp_name'];
       
      Desde já muito obrigado.
    • By mamotinho
      oi pessoal estou com um problema , não estou conseguindo passar todos os valores o foreach no json_encode() alguém poderia me ajudar, eu estou tentando monta um mecanismo de refresh em tempo real de uma lista de notificação veja abaixo:
       
      <script type="text/javascript"> function make_call() { // Fazendo requisição AJAX $j.post('teste.php', function (frase) { // Exibindo frase $j('#listas').html('<i>' + frase + '</i>'); }, 'JSON'); setTimeout(function(){ make_call(); }, 5000); } </script>
      Aqui é o arquivo que quero enviar para a div #lists
       
      <?php require("conexao/directory.php"); $notificar = $db->query("select TOP 5 * from Techi7CP.dbo.cabal_notificacao_geral order by regdate desc"); $notificacao = $notificar->fetchAll(); $count_notificacao = abs($notificar->rowCount()); if($count_notificacao==0){ echo '<li style="text-align:center;">não existe notificações no momento.</li>'; }else{ foreach($notificacao as $notif){ $consulta_conta = $db->query("select * from account.dbo.cabal_auth_table where UserNum='".$notif['usernum']."'")->fetchObject(); switch($notif['acao']){ case 'logadopremiado' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle red small">redeem</span>'.$notif['jogador'].' ganhou no Logado Premiado</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; case 'mudarsenha' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle teal small">vpn_key</span>'.$consulta_conta->Nome.' alterou sua senha</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; case 'distribuirpontos' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle cyan small">control_point</span>'.$notif['jogador'].' distribuiu seus pontos</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; case 'girodasorte' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle brown small">star_border</span>'.$consulta_conta->Nome.' usou o giro da sorte</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; case 'sistematpoint' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle green small">golf_course</span>'.$notif['jogador'].' recebeu seu tpoint por clique</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; case 'combo' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle amber small">videogame_asset</span>'.$notif['jogador'].' fez '.$notif['ExtraDetalhes'].' em sua primeira vez</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; } } } ?> como eu faria para ser exibido todos os resultados registrados com o json_encode().
    • By szLeonardo
      Olá a todos,
      Estou com um problema no meu cadastro de usuário.
      A parte de cadastrar está sendo realizada corretamente e meu login também, o meu problema está é que tenho que cadastrar em uma tela, depois entrar em outra para validar e acessar.
      Gostaria que quando eu realizasse o cadastro já valida-se e entrasse direto, sem precisar ter que entrar na outra pagina e rodar o login.
       
      Segue meu cadastro que está funcionando:  
      //--Insere Registro   if(isset($_POST['cadastrar'])){     @$usuario      = trim(strip_tags($_POST['usuario']));     @$senha        = trim(strip_tags($_POST['senha']));     @$nivel_acesso = trim(strip_tags($_POST['nivel_acesso']));     $insert = "INSERT INTO cad_usuario (usuario, senha, nivel_acesso)                 VALUES (:usuario, :senha, :nivel_acesso)";   try{     $result = $conexao->prepare($insert);     $result->bindParam(':usuario',      $usuario, PDO::PARAM_STR);     $result->bindParam(':senha',        $senha, PDO::PARAM_STR);     $result->bindParam(':nivel_acesso', $nivel_acesso, PDO::PARAM_STR);     $result->execute();     $contar = $result->rowCount();   if($contar>0){     echo '<div class="alert alert-success">           <button type="button" class="close" data-dismiss="alert">×</button>           <strong>Sucesso!</strong> O Usuario foi Cadastrado!</div>';          $_SESSION['autenticado'] = true;   }else{     echo '<div class="alert alert-danger">           <button type="button" class="close" data-dismiss="alert">×</button>           <strong>Erro ao cadastrar!</strong> Não foi possível cadastrar o Usuario.</div>';   }}catch(PDOException $e){     echo $e;   }}   } }  
      Segue meu validador do usuário cadastrado que está funcionando: 
      <?php session_start(); include_once "connection/conecta.php"; $usuario = new Usuario(); try {   if($usuario->confere($_POST['usuario'],$_POST['senha'])) {     $_SESSION['autenticado'] = true;     $_SESSION['usuario'] = $_POST['usuario'];     header('location: principal.php');   } else {     $_SESSION['autenticado'] = false;     include_once "index.php";     exit("<div class='alert alert-danger col-sm-12'>Usuário ou senha incorretos. Verifique</div>");   } } catch(PDOException $p){   echo "Ocorreu um erro inesperado: ". $p->getMessage(); } ?>  
      Segue minha pagina principal aonde valida a $_SESSION['autenticado'] = false; 
      Mas só valida se passar na pagina index e passar pela validação a cima.
       <?php require_once("connection/conecta.php"); ob_start(); session_start();  if (@!$_SESSION['autenticado']){    include_once "index.php";    exit("<div class='alert alert-danger col-sm-12'>Para acessar o sistema você deve efetuar login</div>");  }     $logado = $_SESSION['usuario'];     $sql = "SELECT * from cad_usuario WHERE usuario = '$logado' and situacao = 'A'";     try{       $result = $conexao->prepare($sql);         $result->execute();       $contar = $result->rowCount();                if($contar =1){         $loop = $result->fetchAll();         foreach ($loop as $show){           $userLogado  = $show['usuario'];           $senhaLogado = $show['senha'];           $nivelLogado = $show['nivel_acesso'];         }       }       }catch (PDOWException $erro){ echo $erro;} ?>  
    • By mamotinho
      Olá, estou com dúvidas , eu tenho a seguinte execução 
       
      SELECT SUM(Cash) as soma FROM CashAccount Eu estou querendo pega o resultado desta consulta em PHP
      tipo
       
      $result = $pdo->query("SELECT SUM(Cash) as soma FROM CashAccount"); echo $result; Mais não sei como fazer aparece o mesmo resultado que é exibido quando eu faço a execução da query no SQL, por favor alguém poderia me informar como eu poderia está fazendo.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.