Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

441
Vistas
Notificaciones PHP AJAX si la consulta MySQL no devuelve filas

Situación

Tengo un script de trabajo que envía una solicitud ajax a get_code.php . Este script se ejecuta desde la página principal: index.php . El script get_code.php consulta mi base de datos MySQL en busca de una fila y luego envía los datos a index.php .

Código actual

jQuery en index.php

 <script type="text/javascript"> $("#CMTCode").click(function(){ var cde = $("#cmtcodeinput").val(); $.ajax({ method:'POST', url:'get_code.php', data: {va_code:cde}, dataType: 'json', success: function(output_string){ $('#rtable').append(output_string); $("#cmtcodeinput").val(''); var prc = $(".price:last"); prc.focus(); } }); }); </script>

Script PHP get_code.php

 <?php include('dbc.php'); $code = $_POST['va_code']; $cq = mysql_query("SELECT * FROM variants where va_code='$code'")or die(mysql_error()); if(!$cq){ mysql_close(); echo json_encode('There was an error running the query: ' . mysql_error()); }elseif(!mysql_num_rows($cq)){ mysql_close(); echo json_encode('No results returned'); }else{ $output_string = ''; $output_string .= '<tr>'; while($row = mysql_fetch_assoc($cq)) { $output_string .= '<td>'.$row['cmtcost'].'</td>'; //etc. etc. lots more output here } $output_string .= '</tr>'; } mysql_close(); echo json_encode($output_string); ?>

Problema

Sin embargo, si no se encuentran resultados para la consulta, no se devuelve nada en la página para notificar al usuario. Idealmente, me gustaría abrir un modal o mostrar un div en el que pueda usar los datos ingresados por el usuario. Simplemente no puedo resolver por mi vida cómo verificar si $cq no arroja resultados, y si es así, mostrar algo en index.php como una notificación que dice 'No se encontró su código'.

Agradecido de cualquier ayuda

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Podría devolver un indicador de resultado. Esta es una buena lógica y fácil de entender.

Si no se encontró ninguna fila:

 die(json_encode(['result' => false, 'error' => 'No code was found']));

Si se encuentra algún código:

 die(json_encode(['result' => true, 'output' => $output_string]));

Y en js:

 ... success: function(data){ if (!data.result) { alert(data.error); } else { $('#rtable').append(data.output); $("#cmtcodeinput").val(''); var prc = $(".price:last"); prc.focus(); } } ...

Espero eso ayude.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda