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

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') Votos: 0 - Respuestas: 2 - Vistas: 20 Compartir en: Google Facebook Twitter LinkedIn Link
¿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') 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
