Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/08/2008, 02:54
crujikoki
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 17 años, 1 mes
Puntos: 8
Consulta like en mysql

Hola,

He indagado un poco por estos mundos de Internet y no he sabido encontrar la solución a mi problema, a ver si vosotros me podeis ayudar un poquillo.

Bien, pues en mi web tengo un apartado en que aparece un abecedario para buscar por letra, número y otros, los títulos de las pelícuals, algo así:

0-9 - A - B - C - D - E - ............. - Z - Otros

Mediante Ajax hago la consulta pertinente y todo va como la seda menos en el caso de seleccionar el 0-9 y el Otros. Lo que pretendo en ambos casos es que me busque todas las entradas cuyo título sean números y en el caso de "Otros" sea cualquier cosa menos numeros y letras. Os adjunto el código a ver si me podeis hechar un cable. Os aviso de que lo que he hecho puedo estar muy muy mal proque lo he hecho por probar:

Código PHP:
<?php

    $con 
mysql_connect("localhost","root","123456789");
    
    if (!
$con)
        die(
'Impossible connectar: ' mysql_error());
    
    
mysql_select_db("organizador"$con);
    
$where=array();
    
    if (!empty(
$_POST['titulo']))
    {    
        if(
$_POST['titulo'] == "0-9")
        {
            
$where[]="Titulo LIKE '{0}%' OR '{1}%' OR '{2}%' OR '{3}%' OR '{4}%' OR '{5}%' OR '{6}%' OR '{7}%' OR '{8}%' OR '{9}%'";
        }
        else
        {
            
$where[]="Titulo LIKE '{$_POST['titulo']}%'"
        }
    }
    
    
/*if ($_POST['genero'] != "Opciones...")  
        $where[]="Genero LIKE '{$_POST['genero']}%'";*/

    
if ($_POST['id_genero'] != 0)
        
$where[]="ID_Genero = {$_POST['id_genero']}";

    if (!empty(
$_POST['year']))
        
$where[]="Year = {$_POST['year']}";

    if (
0==count($where)) 
        
$cad_where=''
    else
    { 
        
$cad_where=implode(' AND ',$where); 
        
$cad_where='WHERE '.$cad_where
    }
    
    
$sql "SELECT Titulo, ID_Pelicula FROM pelis $cad_where ORDER By Titulo";

    
//echo $sql;

    
$result mysql_query($sql,$con);
    if(
mysql_num_rows($result) > 0)
    {
        while (
$registro mysql_fetch_array($result)) 
          {
              echo 
"<a href=\"#\" id=\"".$registro['ID_Pelicula']."\" class=\"resultado\" onmouseover=\"mostrarDatos(this)\">".$registro['Titulo']."</a><br>";
        }
        exit;
       }
       else
       {
          echo 
"no existe";
    }
?>
Esto está mal seguro:

Código PHP:
$where[]="Titulo LIKE '{0}%' OR '{1}%' OR '{2}%' OR '{3}%' OR '{4}%' OR '{5}%' OR '{6}%' OR '{7}%' OR '{8}%' OR '{9}%'"
Y quisiera saber como se hace esa consulta y ya que estamos como puedo hacer lo contrario, que no sean ni números ni letras. Muchas gracias de antemano!!!!