Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/07/2020, 12:22
emeotero
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 126
Antigüedad: 13 años, 7 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.