Foros del Web » Programando para Internet » PHP »

Problema con if anidados

Estas en el tema de Problema con if anidados en el foro de PHP en Foros del Web. Tengo un problema al ejecutar if anidados, al ejecutar y encontrar resultados se muestra que no hay horarios disponibles y muestra el resultado... y si ...
  #1 (permalink)  
Antiguo 13/02/2017, 06:46
 
Fecha de Ingreso: febrero-2003
Mensajes: 233
Antigüedad: 21 años, 2 meses
Puntos: 4
Problema con if anidados

Tengo un problema al ejecutar if anidados, al ejecutar y encontrar resultados se muestra que no hay horarios disponibles y muestra el resultado... y si no encuentra resultados me muestra dos veces que no hay horarios disponibles sin mostrar resultados.

Les dejo el código a ver si pueden ayudarme:

Código PHP:
Ver original
  1. <script src="../js/search.js"></script>
  2.  
  3. <?php
  4.  
  5. include "conexion.php";
  6.  
  7.  
  8. $sql1= "select * from horario INNER JOIN user ON horario.id_docente = user.id INNER JOIN materia ON horario.id_materia = materia.id INNER JOIN aula ON horario.id_aula = aula.id INNER JOIN seccion ON horario.id_seccion = seccion.id INNER JOIN turno ON horario.id_turno = turno.id";
  9. $query = $con->query($sql1);?>
  10.  
  11. <div>
  12.   <form>
  13.      <input  class="form-control" id="searchTerm" type="text" onkeyup="doSearch()" placeholder="Escriba aquí la palabra a buscar..."/>
  14.   </form>
  15. </div>
  16.  
  17. <?php if($query->num_rows>0):?>
  18. <table class="table table-bordered table-hover" id="search">
  19. <thead>
  20.     <th>Docente</th>
  21.     <th>Materia</th>
  22.     <th>Aula</th>
  23.     <th>Sección</th>
  24.     <th>Turno</th>
  25.     <th>Día</th>
  26.     <th>Hora de Inicio</th>
  27.     <th>Hora de Fin</th>
  28.     <th>Estatus</th>
  29.     <th>Estatus</th>
  30.  
  31. </thead>
  32. <?php while ($r=$query->fetch_array()):
  33.         $materia=$r["id_materia"];
  34.     if ($materia==$_GET["id"]):?>
  35. <tr>
  36.     <td><?php echo $r["name"]; ?></td>
  37.     <td><?php echo $r["materia"]; ?></td>
  38.     <td><?php echo $r["aula"]; ?></td>
  39.     <td><?php echo $r["seccion"]; ?></td>
  40.     <td><?php echo $r["turno"]; ?></td>
  41.     <td><?php echo $r["dia"]; ?></td>
  42.     <td><?php echo $r["hora_inicio"]; ?></td>
  43.     <td><?php echo $r["hora_fin"]; ?></td>
  44.  
  45.     <?php $estatus=$r["estatus"]; if ($estatus): ?> <td><img src="http://www.forosdelweb.com/f18/img/on.jpg" height="30" width="25"> En Clase</td> <?php else:?><td><img src="http://www.forosdelweb.com/f18/img/off.jpg" height="30" width="25"> Ausente</td><?php endif;?>
  46.    
  47.  
  48.  
  49.     <td style="width:150px;">
  50.         <a href="#" id="del-<?php echo $r["id_horario"];?>" class="btn btn-sm btn-danger">Eliminar</a>
  51.         <script>
  52.         $("#del-"+<?php echo $r["id_horario"];?>).click(function(e){
  53.             e.preventDefault();
  54.             p = confirm("Estas seguro?");
  55.             if(p){
  56.                 window.location="./eliminarHorario.php?id="+<?php echo $r["id_horario"];?>;
  57.             }
  58.  
  59.         });
  60.         </script>
  61.  
  62.     </td>
  63.  
  64. <?php else:?>
  65. <p class="alert alert-warning">No hay horarios disponibles</p>
  66. <?php endif;?>
  67. </tr>
  68. <?php endwhile;?>
  69. </table>
  70.  
  71.  
  72. <?php endif;?>

Última edición por Triby; 15/02/2017 a las 14:31 Razón: Código en highlight
  #2 (permalink)  
Antiguo 13/02/2017, 06:50
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Respuesta: Problema con if anidados

Antes de ponernos con el código, has probado el query directamente desde el gestor de base de datos? Primero hay que descartar que el query no te esté devolviendo resultados, así no perderíamos tiempo con el código.

En caso que no devuelva resultados el query, puedes probar el query cambiando todos los INNER JOIN por LEFT JOIN?
  #3 (permalink)  
Antiguo 15/02/2017, 14:34
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con if anidados

Lo ínico que se me ocurre es que estás ejecutando dos veces el código.
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 25/02/2017, 05:05
 
Fecha de Ingreso: febrero-2003
Mensajes: 233
Antigüedad: 21 años, 2 meses
Puntos: 4
Respuesta: Problema con if anidados

Gracias a ambos, Triby2: hice lo que me dijiste pero resolví con lo que dijo Triby, tenía un include que llamaba al mismo, estaba duplicado el código.

Gracias nuevamente

Etiquetas: anidados, select, sql
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 20:44.