Foros del Web » Programando para Internet » PHP »

Creacion de sistema de relacionados! Problemas con WHERE IN MySQL

Estas en el tema de Creacion de sistema de relacionados! Problemas con WHERE IN MySQL en el foro de PHP en Foros del Web. Tengo este codigo Código PHP: //devuelve cadena con este formato: edwin, videos, cadena, jamo, pepsi, etc $etiquetas  =  ptags ( $permalink ); //Si hay etiquetas en la cadena procedemos if ( $etiquetas ) { //Convertimos la cadena en una matriz $etiquetas  =  explode ( ',' , $etiquetas ); ...
  #1 (permalink)  
Antiguo 14/09/2011, 19:03
Avatar de ColdFusion  
Fecha de Ingreso: octubre-2008
Ubicación: Tocoa, Colon Honduras C.A.
Mensajes: 419
Antigüedad: 15 años, 6 meses
Puntos: 9
Creacion de sistema de relacionados! Problemas con WHERE IN MySQL

Tengo este codigo

Código PHP:
//devuelve cadena con este formato: edwin, videos, cadena, jamo, pepsi, etc
$etiquetas ptags($permalink);

//Si hay etiquetas en la cadena procedemos
if ($etiquetas) {

//Convertimos la cadena en una matriz
$etiquetas explode(',',$etiquetas);

//Comenzamos proceso para crear cadena en este formato: 'edwin', 'videos', 'cadena', jamo', 'pepsi', 'etc'
$lista_etiquetas "'" .$etiquetas[0]. "'";
$cuenta_etiquetas count($etiquetas);

if (
$cuenta_etiquetas 1) {
for (
$i 1$i $cuenta_etiquetas$i++) {
$lista_etiquetas $lista_etiquetas .", '".$etiquetas[$i]."'";
}
//Finalizamos proceso de cadena

//Creamos cadena de consulta, en la cual usamos Where IN
$sql_consulta_post_relacionados "SELECT * FROM $tabla_publicaciones WHERE publicado=1 AND (tags) IN ($lista_etiquetas) LIMIT 5";

// en la bd existe el campo tags donde se guardan las tags de X publicacion en el formato: edwin, videos, cadena, jamo, pepsi, etc.

//Intentamos sacar los post que tenga alguna(s) etiqueta(s) de las cuales fueron extraidas al inicio.

}else{ // Si no hay etiquetas en la cadena extraemos post de X usuario

$autor_post_id pautor($permalink);
$sql_consulta_post_relacionados "SELECT * FROM $tabla_publicaciones WHERE autor_id=$autor_post_id  AND publicado=1 ORDER BY RAND() LIMIT 5";
//Generemos consulta
}

//Ejecutamos consulta
$consulta_post_relacionados $wk_db->consultar($sql_consulta_post_relacionados);;

//Extraemos datos de la consulta anterior
while ($dato_post_relacionados $wk_db->fetchObjetos($consulta_post_relacionados)) {
..

Veran Aqui el problema es que no extrae ningun post cuando intento por las tags..

Alguien sabe si estoy fallando en algo.. Ayuda!
  #2 (permalink)  
Antiguo 14/09/2011, 23:47
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Creacion de sistema de relacionados! Problemas con WHERE IN MySQL

Si tags en un campo varchar y puede contener varias etiquetas, ejemplo: "php desarrollo clases poo" entonces deberias usar LIKE para cada etiqueta en vez de IN, ya que lo otro se supone que funcionaria si fueran solo una etiqueta en el campo.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: mysql, where...in
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 14:14.