Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Mejora en consulta, error al sacar datos

Estas en el tema de Mejora en consulta, error al sacar datos en el foro de PHP en Foros del Web. Duda en como tengo que mostrar los resultados cuando la consulta no devuelve nada. Estoy haciendo una consulta y saco los resultados en JSON. Si ...
  #1 (permalink)  
Antiguo 02/07/2020, 12:22
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 126
Antigüedad: 12 años, 11 meses
Puntos: 0
Mejora en consulta, error al sacar datos

Duda en como tengo que mostrar los resultados cuando la consulta no devuelve nada. Estoy haciendo una consulta y saco los resultados en JSON. Si la consulta cumple las condiciones, hace el JSON, si no encuentra nada da error. Como la consulta devuelve un array para el JSON intenté hacer una array con un mensaje de error, pq entiendo que está esperando que devuelva un array. La consulta PHP es la siguiente
Código PHP:
$especie $_POST['especie'];
SELECT vw_spezies.id_spezievw_spezies.aphia_id_codevw_spezies."order\", vw_spezies.name,  vl_images.principal, 
    FROM vw_spezies, vl_images
    WHERE vw_spezies.\"order\" in ("
.ltrim($especie,',').") and vl_images.principal = 'true' and vl_images.aphia_id_code = vw_spezies.aphia_id_code ORDER BY name
    
//$respuesta = array();

    $statement = $cnn->prepare( $consulta );
    
    $valor= $statement->execute();
    
    if( $valor){
        while( $resultado = $statement->fetch(PDO::FETCH_ASSOC)){
            $data["
data"][] = $resultado;
        }
        //$especie = json_encode($data);
        //$respuesta["
ok"] = true;
        //$respuesta["
data"] = $especie;
        //$respuesta["
mensaje"] = "Info entregada ";
        //$respuesta["
status"] = 200;
        echo json_encode( $data );
    }else{
        echo "
error";
        //$respuesta["
ok"] = false;
        //$respuesta["
mensaje"] = "No se encontraron resultados ";
        //$respuesta["
status"] = 200;
        //echo json_enconde($respuesta);
    }
    //echo json_encode( $respuesta ); 
Ahí tengo comentado lo que pensé que tenía que hacer con el array de error, que por otro lado debe de estar mal pq... Me interesa que tenga la imagen, por lo que a lo mejor una opción sería hacer un array con vw_spezies.\"order\" más una imagen genérica de "No hay datos" de este modo siempre saldría algo. Cómo podría hacer esa consulta, o el WHILE? pq supongo que el problema está en ese punto. gracias anticipadas.
  #2 (permalink)  
Antiguo 30/08/2020, 11:08
SLD
 
Fecha de Ingreso: diciembre-2013
Mensajes: 121
Antigüedad: 10 años, 4 meses
Puntos: 6
Respuesta: Mejora en consulta, error al sacar datos

Si la consulta retorna VACÍO,
ello no debe generar un error.

Simplemente
Código PHP:
if(empty($valor))echo 'Los criterios de búsqueda no retornan un resultado'
lo cual puedes pareciar, que no es un error.

Etiquetas: dato, mejora, post, resultado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:15.