Nueva pregunta

Pregunta:

Fecha: 28-07-2017 12:46:55 (En Español)

¿Cómo puedo realizar esta consulta SQL para filtrar resultados por ciudad, mes y id de nodo?[No resuelta]

Quiero realizar una consulta en donde me muestre un resultado al seleccionar una ciudad o al seleccionar un mes o buscar por el id_nodo o buscar por ciudad y mes que me muestre todos los nodos que hay en esa ciudad ese mes, adjunto una imagen de mi formulario para que me puedan comprender mejor.



SELECT * FROM huawei_gestion_proyectos
WHERE (CIUDAD ='$CIUDAD'
OR MES_DESTINO = '$MES_DESTINO'
OR ID_NODO = '$ID_NODO')
OR (CIUDAD ='$CIUDAD'
AND MES_DESTINO = '$MES_DESTINO')
Etiquetas: MySQL - Pregunta - Query - SQL Votos: 0 - Respuestas: 2 - Vistas: 20 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 29-07-2017 03:37:21 Buen dias, creo que tu pregunta no es muy clara, igual cuentanos cual fue el resultado de la sentencia sql que escribiste   Votos: 0 - Link respuesta
     
  • Fecha: 29-07-2017 06:19:41 Hola, ya que veo que estas usando PHP podrias ayudarte desde ahi en vez de hacerlo directamente en la consulta MySQL, lo cual se puede pero resulta mas largo.
    <?php
    
    require_once('zeusafk.database.lib.php');
    
    $db = ZeusAFK\Database::GetInstance()->CreateConnection('localhost', 'root', 'root', 'test_db');
    
    $cuidad = isset($_POST['cuidad']) && is_numeric($_POST['ciudad']) ? $_POST['ciudad'] : 0;
    $mes = isset($_POST['mes']) && is_numeric($_POST['mes'] && $_POST['mes'] >= 1 && $_POST['mes'] <= 12) ? $_POST['mes'] : 0;
    $id = isset($_POST['id']) && is_numeric($_POST['id']) ? $_POST['id'] : 0;
    
    if($id > 0){
    	$query = "SELECT * FROM huawei_gestion_proyectos WHERE id = ?";
    	$results = $db->Query($query, 'i', $id)->GetResults();
    }else if($ciudad > 0 && $mes == 0){
    	$query = "SELECT * FROM huawei_gestion_proyectos WHERE ciudad = ?";
    	$results = $db->Query($query, 'i', $ciudad)->GetResults();
    }else if($mes > 0 && $ciudad == 0){
    	$query = "SELECT * FROM huawei_gestion_proyectos WHERE mes = ?";
    	$results = $db->Query($query, 'i', $mes)->GetResults();
    }else{
    	$query = "SELECT * FROM huawei_gestion_proyectos WHERE ciudad = ? AND mes = ?";
    	$results = $db->Query($query, 'ii', array($ciudad, $mes))->GetResults();
    }
    
    
    // TODO: work with $results
    


    Para ahorrarme trabajo lo hice con mi libreria de base de datos, pero la idea es clara, igual te dejo mi libreria por si quieres darle una mirada y te lo recomendaría ya que claramente ibas a tener problemas de sql injection :P
    zeusafk.database.lib.php
      Votos: 1 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com