Foros del Web » Programando para Internet » PHP »

Problema con buscador de varias opciones

Estas en el tema de Problema con buscador de varias opciones en el foro de PHP en Foros del Web. Hola a todos, tengo un problema. Tengo un buscador de cursos, y 6 opciones para buscar mas especificamente: Fecha de inicio, Municipio, que contenga 'x' ...
  #1 (permalink)  
Antiguo 20/09/2012, 11:51
Avatar de TheScript  
Fecha de Ingreso: septiembre-2011
Ubicación: Spain
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 30
Problema con buscador de varias opciones

Hola a todos, tengo un problema. Tengo un buscador de cursos, y 6 opciones para buscar mas especificamente: Fecha de inicio, Municipio, que contenga 'x' palabra, la especialidad del curso... y un par de cosas mas...

He hecho esto pero me salta un error haga lo que haga:

Código PHP:
Warningmysql_num_rows() expects parameter 1 to be resourceboolean given in /var/www/vhosts/foremmurcia.com/httpdocs/gestion_cursos/cursos.php on line 110 

Código PHP:
<?php


if(isset($_REQUEST['sbmt_form'])){
                    
        if(isset(
$_POST['situacion_laboral'])){$situacion_laboral " AND trabaja='".$_POST['situacion_laboral']."'";}else{$situacion_laboral="";}
        
        if(isset(
$_POST['contiene'])){$contiene " AND Accion like %".$_POST['contiene']."%";}else{$contiene="";}                    
        
        if(isset(
$_POST['especialidad'])){$especialidad " AND IdEspecialidad='".$_POST['especialidad']."'";}else{$especialidad="";}
        
        if(isset(
$_POST['colectivo'])){$colectivo " AND idCol='".$_POST['colectivo']."'";}else{$colectivo="";}
        
        
$para="";
        
$result mysql_query("SELECT * cursos where activo='1'".$situacion_laboral.$contiene.$especialidad.$colectivo);
                                      if (
mysql_num_rows($result)>0){ 
                                       while(
$row mysql_fetch_assoc($result)){ 
                                    if (
$row['trabaja'] == "-1" ){ $para="Trabajadores"; }else{$para="Trabajadores";}                                    
    
?>                
                  <tr>
                <td width="150">
                    <div style="position:relative; width:150; overflow:auto">
                        <a href="curso.php?id=<?php echo $row['IdCurso']?>" class="enlace_curso"><?php echo $row['Accion'];?></a>
                    </div>
                </td>
                <td><?php echo $para;?></td>
                <td><?php echo $row['municipio'];?></td>
                <td><?php echo mysql_fecha($row['FechaInicio']);?></td>
                <td><?php  echo mysql_fecha($row['FechaFinal']);?></td>
                <td><?php echo $row['HorasCurso']."Hrs";?></td>
          </tr>

¿Como debo de meter las variables en la consulta?

¿Por qué me da error? Da igual si pongo los parámetros de busqueda completos o solo por uno o por dos , me da error de todas las maneras.
  #2 (permalink)  
Antiguo 20/09/2012, 12:03
 
Fecha de Ingreso: junio-2011
Ubicación: Veracruz
Mensajes: 16
Antigüedad: 12 años, 10 meses
Puntos: 5
Pregunta Respuesta: Problema con buscador de varias opciones

Buen día,

de principio no se ve la conexión o no se en donde la estés haciendo, que normalmente ese error es por falta de la conexion.

Prueba imprimiendo el query y ejecutalo directamente....


Saludos
  #3 (permalink)  
Antiguo 20/09/2012, 12:08
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Problema con buscador de varias opciones

veo q cuando haces mysqlquery no ke mandas la conexion.
$result = mysql_query("SELECT * cursos where activo='1'".$situacion_laboral.$contiene.$especial idad.$colectivo,$aquideberiairlaconexion);
  #4 (permalink)  
Antiguo 20/09/2012, 12:11
Avatar de TheScript  
Fecha de Ingreso: septiembre-2011
Ubicación: Spain
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 30
Respuesta: Problema con buscador de varias opciones

Tienes razon , es problema de la conexion... no lo entiendo.... tengo justo abajo otra consulta que si me la realiza... y un include a mi archivo de conexion.... que funciona bien... que cosas mas raras me pasan...
  #5 (permalink)  
Antiguo 20/09/2012, 12:16
Avatar de TheScript  
Fecha de Ingreso: septiembre-2011
Ubicación: Spain
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 30
Respuesta: Problema con buscador de varias opciones

Código PHP:

    <?php
        
if(isset($_REQUEST['sbmt_form'])){
                    
        
//if(isset($_POST['situacion_laboral'])){$situacion_laboral = "AND trabaja='".$_POST['situacion_laboral']."'";}else{$situacion_laboral="";}
        
        //if(isset($_POST['contiene'])){$contiene = "AND Accion like %".$_POST['contiene']."%";}else{$contiene="";}                    
        
        //if(isset($_POST['especialidad'])){$especialidad = "AND IdEspecialidad='".$_POST['especialidad']."'";}else{$especialidad="";}
        
        //if(isset($_POST['colectivo'])){$colectivo = "AND idCol='".$_POST['colectivo']."'";}else{$colectivo="";}
        
        
$para="";
        
$resultado mysql_query("SELECT * curso where municipio='308'");
                                      if (
$resultado){ 
                                       while(
$row mysql_fetch_assoc($resultado)){ 
                                    if (
$row['trabaja'] == "-1" ){ $para="Trabajadores"; }else{$para="Trabajadores";}                                    
    
?>                
                  <tr>
                <td width="150">
                    <div style="position:relative; width:150; overflow:auto">
                        <a href="curso.php?id=<?php echo $row['IdCurso']?>" class="enlace_curso"><?php echo $row['Accion'];?></a>
                    </div>
                </td>
                <td><?php echo $para;?></td>
                <td><?php echo $row['muni'];?></td>
                <td><?php echo mysql_fecha($row['FechaInicio']);?></td>
                <td><?php  echo mysql_fecha($row['FechaFinal']);?></td>
                <td><?php echo $row['HorasCurso']."Hrs";?></td>
          </tr>    
                
                <?php } }
                        }
                        
                        
                        
                        
                        else{
$result mysql_query("SELECT curso.*, cursos.muni , cursos.cod_curso FROM curso , cursos where curso.IdCurso=cursos.cod_curso");
                                      if (
mysql_num_rows($result)>0){ 
                                       while(
$row mysql_fetch_assoc($result)){ 
                                    if (
$row['trabaja'] == "-1" ){ $para="Trabajadores"; }else{$para="Trabajadores";}
                                    
                                    
?>
No entiendo por qué la segunda consulta si me la hace, y la primera no....
  #6 (permalink)  
Antiguo 20/09/2012, 12:20
 
Fecha de Ingreso: junio-2011
Ubicación: Veracruz
Mensajes: 16
Antigüedad: 12 años, 10 meses
Puntos: 5
Respuesta: Problema con buscador de varias opciones

tu query esta mal:


Código PHP:
 $resultado mysql_query("SELECT * curso where municipio='308'"); 
deberia de ser

Código PHP:
 $resultado mysql_query("SELECT * FROM curso where municipio='308'"); 
te hace falta el from
  #7 (permalink)  
Antiguo 20/09/2012, 12:23
 
Fecha de Ingreso: junio-2011
Ubicación: Veracruz
Mensajes: 16
Antigüedad: 12 años, 10 meses
Puntos: 5
De acuerdo Respuesta: Problema con buscador de varias opciones

Otra cosa...

te recomiendo utilices mysqli o PDO y utilizar POO y en capas ( de preferencia checa el MVC), asi tu codigo sera mas organizado y mas legible...

ve por el buen camino desde el principio...


Saludos
  #8 (permalink)  
Antiguo 20/09/2012, 12:28
Avatar de TheScript  
Fecha de Ingreso: septiembre-2011
Ubicación: Spain
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 30
Respuesta: Problema con buscador de varias opciones

Gracias Amigos por responder, si no fuera por vosotros estaría ya muerta!!!

Ahora voy a por mi primer problema, que en realidad fue ese por el que posteé jejejejeje Si alguien ve que no estoy planteando bien la manera de buiscar con varios valores espero consejos.

Un saludo a todos y mil gracias de nuevo.
  #9 (permalink)  
Antiguo 20/09/2012, 15:00
Avatar de TheScript  
Fecha de Ingreso: septiembre-2011
Ubicación: Spain
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 30
Respuesta: Problema con buscador de varias opciones

Hola a todos, me ha surgido un problema que nunca habia visto hasta ahora:

Cita:
Notice: Use of undefined constant - assumed ' ' in /var/www/vhosts/*****/httpdocs/cursos/cursos.php on line 118
y en la líne 18 solo tengo el simbolo de cerrar php.. doy por hecho que es de la consulta que tengo un poco mas arriba.

Os enseño lo que estoy intentando hacer aver que os parece.

A raiz de ver un Post en este foro, que decia algo asi:

Código PHP:

$sql 
"SELECT * FROM tabla ";
if(
$_GET['id']>0)
 {
$sql .= "WHERE id = ".$_GET['id'];} 
He decidido montar mi buscador de esa manera. PEROOOO. Yo me conecto a la base de datos asi:

Código PHP:

$dbhost
="****.com";
$mysql_db="nombredebd";
$mysql_user="usuariobasedatos";
$mysql_psw="psw";

$rs=mysql_connect($dbhost$mysql_user$mysql_psw);
if(
$rs){mysql_select_db($mysql_db); mysql_query("SET NAMES utf8");} 
Y luego para hacer las consultas solo debo de poner esto:

Código PHP:
$result mysql_query("SELECT * from  cursos"
Y ya está...

No se como probar mas a concatenar la consulta.

asi no me funciona: $result.= mysql_query("where ........")

Y así es como me salta el error:::

Código PHP:
$resultados = ("SELECT * FROM cursos");
        
$resultadomysql_query($resultados);
        
        
                                      if (
$resultado){ 
                                       while(
$row mysql_fetch_assoc($resultado)){...} 
Tambien he probado así y nada:
Código PHP:
$resultados = ("SELECT * FROM CCur");
        
$resultadomysql_query($resultados$rs);
        
        
                                      if (
$resultado){ 
                                       while(
$row mysql_fetch_assoc($resultado)){ ...} 
Que estoy haciendo mal!!

Yo solo quiero que funcione como el que vi en el post, pero con mi manera de conectar, y si no puedo así pues modificarla, pero que me funcione como sea! Y nisiquiera me hace una simple consulta... esto es un desastre

Etiquetas: mysql, opciones, buscadores, variables
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 19:39.