Desarrollo Web /

Consulta mysql con nuemros

Participa en el tema Consulta mysql con nuemros en el foro Desarrollo Web.
Hola, estoy intentando hacer la tipica consulta con el abecedario y los numeros: A B ...

Buscar en este tema:
 
  •  
    #1 Consulta mysql con nuemros
    Hola, estoy intentando hacer la tipica consulta con el abecedario y los numeros:

    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [0-9] Sin filtro

    Esos son los links, funciona con todas las letras y con "sin filtro", ahora la pregunta es como hago el WHERE para los numeros? O sea, para listar los discos,por ej, que empiezen con un titulo que contiene numeros.

    con las letras hago ...WHERE titulo LIKE '%.$letra."%'";

    A cada letra en la url le mando letra="la que correspoanda" y numeros letra=1, pero como hago con el WHERE para los numeros?
    +
     
    0
    Me gusta
     
    http://www.psicofxp.com/forums/desarrollo-web.264/896530-consulta-mysql-con-nuemros.html
    | Más
  • #2 Re: Consulta mysql con nuemros

    O sea, vos tomas lo que seteaste en letra con un get, y lo guardas en una variable para hacer la consulta?
    Me gusta este mensaje
  • #3 Re: Consulta mysql con nuemros

    Claro, le puede ir una letra cualquiera del abecedario, pero si elige [0-9], tomo un 1 con $_GET[''] y ahi quiero obtener los dicscos cuyo titulo empiezen con un numero.

    Código PHP:
    function get_discos($catid=NULL,$letra=NULL

         
       if( 
    db_connect()) 
        return 
    false
         
        
    $query "SELECT * FROM discos"
         
        if(
    $catid
        
    $query .=" WHERE catid=$catid"
             
        if(
    $letra
            
    $query .=" AND title LIKE '".$letra."%'"

    .......... 
    Me gusta este mensaje
  • #4 Re: Consulta mysql con nuemros

    No entiendo cual es tu problema, pero creo que seria exactamente lo mismo... No va a cambiar en nada que elijas un numero o una letra.
    Me gusta este mensaje
  • #5 Re: Consulta mysql con nuemros

    Si, por que si es una letra, tengo exactamente que letra es, pero para buscar por numero no estan listados 1 2 3 4 5 6 7 8 9 0, esta el link [0-9], me da un valor de un en el link, entonces necesito listar los que empiezen con cualquier numero.
    Me gusta este mensaje
  • #6 Re: Consulta mysql con nuemros

    pero el like funciona perfectamente con numeros y un $_GET['parametro'] tambien.

    de todas formas, la funcion que tenes es incorrecta, dado que si tenes el id no necesitas hacer el " AND " dado que si la letra no coincide con el id te va a devolver nada esa funcion. deberias usar un OR o deberias hacer el if anidado, si no hay catid, entonces que busque letra
    Me gusta este mensaje
  • #7 Re: Consulta mysql con nuemros

    Ya lo resolví.
    Aca les dejo la funcion, era lo que intentaba hacer.

    Código PHP:
    //por defaecto trae todos los libros
    function get_books($catid=NULL,$letra=NULL,$oferta=NULL)
    {
        
    //si falla conexion aborta operacion
       
    if(!$conn db_connect())
            return 
    false;
        
        
    //consulta por default
        
    $query "SELECT * FROM books";
        
        
    //si se seleecciono categoria $_GET['catid']    traemos todos los de esa categoria, obtenida por url
        
    if($catid)
            
    $query .=" WHERE catid=$catid";
        
            
    //si se seleeccionoletra $_GET['letra'] 
        
    if($letra)
        {    
            
    //pregunto si se selecciono categoria 
            
    if ($catid)
                
    $query.=" AND";
            else
                
    $query.=" WHERE";
            
    //    expresion regular libros que empiezen con una letra o los que empiezen de 0-9
            
    $query .=" title RLIKE '^[".$letra."]'";
        
        }
            
        
    //va a ser valida solo para index donde se muetrsen las ofertas
        //y no se puede seleccionar categoria ni letras
        
    if($oferta)
            
    $query .=" WHERE oferta='".$oferta."'";
        
        
    //hago consulta
       
    $result = @mysql_query($query);
        
        
    //si no result
       
    if (!$result )
         return 
    false;
          
       
    $num_books = @mysql_num_rows($result);
        
        
    //si no hay nada se baorta
       
    if ($num_books ==0)
          return 
    false;
        
        
    //pasa los resultados por otra funcion que devuelve el array    
       
    $result db_result_to_array($result);
        
        
    //devuelve consulta en array
       
    return $result;

    Me gusta este mensaje


Estadísticas del tema
  • 6 RESPUESTAS
  • 282 VISTAS
  • 3 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB