1

estoy teniendo problemas con una consulta, tengo un combobox para hacer la consulta y que esta se muestre en una tabla. Lo hago de la siguiente manera:

$where="";
$fun=$_POST['funcion']; 
if (isset($_POST['buscar']))
{
   $where="where tipo_funcion='".$fun."' and status='Activo'";  
}
//Consulta 
$q="SELECT * FROM utrans_archivos_seccion WHERE status='Activo' $where"; 
$resFun=$con->query($q);

 <!-- Creamos la tabla para mostrar dentro de ella lo que el usuario esta pidiendo y consultando -->
        <table class="table">
                <tr>
                <!-- Columnas por las que vamos a acomodar la información en la tabla -->
                    <th></th>
                    <th>Código Sección</th>
                    <th>Sección</th>
                </tr>

                <?php
                //Metemos un while para que jale la información de la base de datos
                while ($regFun = $resFun->fetch_array(MYSQLI_BOTH))
                {

                    echo'<tr>
                         <td><input type="checkbox" name="eliminar[]" value="'.$regFun['seccion_id'].'" /> </td>
                         <td>'.$regFun['codigo_seccion'].'</td>
                         <td>'.$regFun['seccion'].'</td>
                         </tr>';
                }
                ?>
            </table>

El problema es que me muestra en la tabla los registros que estan activos y hasta ahí todo "bien" pero al momento de hacer la consulta no lo hace, siento que la variable $where puede ser la que este afectando,

Bender Paisa
  • 12,491
  • 4
  • 23
  • 41
user67189
  • 11
  • 1
  • 1
    Claro, porque acabarías con una consulta con 2 `WHERE`: `SELECT * FROM utrans_archivos_seccion WHERE status='Activo' where tipo_funcion=...`. Obviamente no puedes tener 2 `WHERE`. Y por favor, toma en cuenta que es peligroso concatenar variables directamente en el SQL ([¿Qué es la inyección SQL y cómo puedo evitarla?](https://es.stackoverflow.com/questions/10518/qu%C3%A9-es-la-inyecci%C3%B3n-sql-y-c%C3%B3mo-puedo-evitarla)). – sstan Nov 22 '17 at 20:05

1 Answers1

1

intenta con esto

$where="";
$fun=$_POST['funcion']; 
if (isset($_POST['buscar']))
{
   $where=" where tipo_funcion='".$fun."' and status='Activo'";  
}
else
{
   $where=" WHERE status='Activo'";  
}
//Consulta 
$q="SELECT * FROM utrans_archivos_seccion '".$where."'"; 
$resFun=$con->query($q);

 <!-- Creamos la tabla para mostrar dentro de ella lo que el usuario esta pidiendo y consultando -->
        <table class="table">
                <tr>
                <!-- Columnas por las que vamos a acomodar la información en la tabla -->
                    <th></th>
                    <th>Código Sección</th>
                    <th>Sección</th>
                </tr>

                <?php
                //Metemos un while para que jale la información de la base de datos
                while ($regFun = $resFun->fetch_array(MYSQLI_BOTH))
                {

                    echo'<tr>
                         <td><input type="checkbox" name="eliminar[]" value="'.$regFun['seccion_id'].'" /> </td>
                         <td>'.$regFun['codigo_seccion'].'</td>
                         <td>'.$regFun['seccion'].'</td>
                         </tr>';
                }
                ?>
            </table>
Gerard_jcr
  • 660
  • 7
  • 19