Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/06/2004, 12:31
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Puedes hacer:

Código PHP:
$sql="SELECT * FROM tabla WHERE campo LIKE (%".$valor."%)"
Pero tal vez eso te dé problemas con por ejemplo: 11,21,312321 (si buscas "1" .. ).

Para estos casos .. sería ideal que pensases en "normalizar" mas tu Base de datos .. guardando esos valores en una tabla extra relacionada con esta que ya usas por su "ID" (identificador único) que uses.

Si no puedes hacer eso (que sería altamente recomendable por el rendimiento de tu própia aplicación) .. te va a tocar lo más probable a recorrer todos esos resultados y "via PHP" ir biendo si el registro en cuestión tiene tu resultado (con tu in_array() )

Código PHP:
$resultado=mysql_query("SELECT * FROM tabla");
while (
$registro=mysql_fetch_array($resultado)){
   
// convertir tu string en un array .. 
   
$array_campo implode(","$registro['campo']); 
   
// aplicar in_array() ...
   
if (in_array("2"$array_campo)); 
      echo 
"Se encontró 2. en: ".$registro['id_o_nombre_como_lo_identifiques']."<br>";
  }


Esta solución sin bien debe funcionar no es NADA optimo .. SI ya usas Base de datos .. usalas "bien" para eso .. en estos casos es necesario empezar a "normalizar" ...

Un saludo,