Jump to content
Matheus B. Siqueira

Undefined Variable no const com Json

Recommended Posts

Fala pessoal, meu problema é o seguinte: Tento retornar os valores do json_encode via AJAX, só que na hora de armazenar no const ele da erro de:

 <b>Notice</b>:  Undefined variable: videos_pendentes in <b>C:\xampp\htdocs\tcc\monitor.php</b> on line <b>504</b><br />
<br />

 <b>Notice</b>:  Trying to access array offset on value of type null in <b>C:\xampp\htdocs\tcc\monitor.php</b> on line <b>504</b><br />
 null);

Não sei qual seria a melhor forma de retornar esses dados, alguma sugestão?

AJAX:

$('#btn-lista-videos-carousel').click(function() {

    var nome_monitor = $("#nomecomp").val();

    $.ajax({
      url: 'pesquisar_video_pendente.php',
      data: {nome_monitor},
      dataType: 'json',
      type: "POST",

      complete: function(data) {

        const videos_pendentes = JSON.parse(<?php echo json_encode($videos_pendentes[0]) ?>);

        let itens = '';
        let indicadores = '';
        $('#botaobaixar').hide();
        $('#tudo_monitor').hide();
        $('#carouselExampleIndicators_2').hide();
        if (videos_pendentes.length > 0) {

            videos_pendentes.forEach(function(video, indice) {
            indicadores += '<li data-target="#carouselExampleIndicators" data-slide-to="' + indice + '" class="' + (indice == 0 ? 'active' : '') + '"></li>'

            itens += '<div data-link_video="' + video.link_video + '" data-id="' + video.idvideo_monitor + '" data-titulo="' + video.titulo_video + '" data-situacao="' + video.situacao + '" class="carousel-item ' + (indice == 0 ? 'active' : '') + '">';
            itens += '    <iframe  width="100%" height="350" src="https://www.youtube.com/embed/' + video.link_video + '" frameborder="0" allowfullscreen></iframe>'
            itens += '</div>';

          });

          $('#tudo_monitor').show();
          $('#carouselExampleIndicators').show();
          $('#carousel-indicadores').html(indicadores);
          $('#carousel-itens').html(itens);

        } else {

          alert('Nenhum vídeo pendente');

        }
      }

    });
  });

E o meu PHP, a qual busca os dados no mysql:

<?php

$monitor  =  $_POST['nomecomp'];
$servidor = 'localhost';
$usuario  = 'root';
$senha    = 'root';
$banco    = 'onteach';
$conexao  = mysqli_connect($servidor, $usuario, $senha, $banco);

$consulta = "SELECT * FROM video_monitor WHERE video_monitor.monitor = '$monitor' AND video_monitor.pendente = 1 OR video_monitor.pendente = 3";

$resultados = mysqli_query($conexao, $consulta);
  $videos_pendentes = array();

while ($video = mysqli_fetch_assoc($resultados))
  $videos_pendentes[] = $video;

mysqli_free_result($resultados);
mysqli_close($conexao);

$videos_pendentes = json_encode($videos_pendentes);
echo json_encode($videos_pendentes);

?>

 

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 danilo759
      Tenho uma tabelinha de programas para uma rádio... está da seguinte forma.

      titulo
      data (YYYY-MM-DD)
      hora (00:00:00)

      Minha consulta, mas não retorna o programa da hora corrente. O que eu fiz de errado?
      SELECT * FROM programas WHERE data = CURDATE() AND hora = CURTIME() LIMIT 1
    • By Ro_JnR
      Estou tentando a semanas resolver um problema, consumir uma API e verificar se o campo no banco está vazio, se estiver faz insert se não faz update.
      Até aí tudo bem, agora não consigo passar do meu select para o banco, ele da erro.
       
      Segue o código:
       
      <?php

          require_once("db.class.php");
          
          $url = "https://servicodados.ibge.gov.br/api/v1/localidades/distritos";
              $ch = curl_init($url);
              curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
              curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
              $resultado = json_decode(curl_exec($ch));
              foreach ($resultado as $cidades) {
                  $nome = $cidades->nome;
                  $stmt = $conn->prepare("SELECT name FROM cidades WHERE name=?");
                  $stmt->bind_Param(':name', $nome);
                  $stmt->execute();
                  $stmt->bind_result($resultSelect);
                  $stmt->fetch();
                  if(!$stmt->execute()){
                      print_r($stmt->errorInfo());
                  }
              } 

      ?>
       
      Código do banco:
       
      $conn = new PDO("mysql:host=localhost;dbname=exercicio", "root", "");
      //"sqlsrv:Database=dbphp7;server=localhost\SQLEXPRESS;ConnectionPooling=0", "sa", "root");
      $stmt = $conn->prepare("SELECT * FROM cidades ORDER BY nome");
      $stmt->execute();
      //fetchALL basicamente faço while do mysqli
      $results = $stmt->fetchALL(PDO::FETCH_ASSOC);
       
      Print do erro:

       
      Tenho um outro exercicio que fiz bem parecido, consumi a API de estados e inseri no banco de dados, esse funcionou normalmente.
      Alguém poderia me dar uma luz, não sei mais o que fazer.
      Era para ser simples rsrsrrs.
    • By mzaidan
      Boa tarde, estou fazendo a conexão da seguinte maneira:
      $servername = "localhost"; $database = "banco"; $username = "user"; $password = "senha"; // Create connection $conn = mysqli_connect($servername, $username, $password, $database); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } //echo "Connected successfully"; mysqli_close($conn);  No campo pesquisar:
      require_once('class/Conexao.class.php'); try { $pdo = new Conexao(); $resultado = $pdo->select("SELECT * FROM phrasal WHERE ingles LIKE '$parametro%' or portugues like '$parametro%' ORDER BY id LIMIT 4"); $pdo->desconectar(); }catch (PDOException $e){ echo $e->getMessage(); } //resgata os dados na tabela if(count($resultado)){ foreach ($resultado as $res) { $msg .=" <tr>"; $msg .=" <td><font color='#87CEFA' size=$size><b>".$res['ingles']."</b></font></td>"; $msg .=" <td><div class='a'><font size=$size>".$res['portugues']."</font></div></td>"; $msg .=" <td><div class='a' align='justify'><font size=$size>".$res['exemplo']."</font></div></td>"; $msg .=" </tr>"; } }else{ $msg = ""; $msg .="Nenhum resultado foi encontrado..."; } $msg .=" </tbody>"; $msg .="</table>"; //retorna a msg concatenada echo $msg; Mas não retorna nada.
      Onde estou errando?

      Site: http://ehoradoingles.com/

      Desde já agradeço.
    • By asacap1000
      Galera me foi solicitado a criação de um servidor web, para disponibilizar serviços para os clientes. O que vocês recomendam?
      Tenho um servidor da DELL com windows 2016. Todo o desenvolvimento será em PHP, Javascript e companhia Ltda com conexão aos bancos de dados Mysql, SQL e ORACLE.
      Já temos um servidor que será desativado porém está utilizando uma versão muito antiga de PHP 5.4 e como base de instalação foi utilizado o WampServer. 
    • By asacap1000
      Galera me foi solicitado a criação de um servidor web, para disponibilizar serviços para os clientes. O que vocês recomendam?
      Tenho um servidor da DELL com windows 2016. Todo o desenvolvimento será em PHP, Javascript e companhia Ltda com conexão aos bancos de dados Mysql, SQL e ORACLE.
      Já temos um servidor que será desativado porém está utilizando uma versão muito antiga de PHP 5.4 e como base de instalação foi utilizado o WampServer. 
×

Important Information

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