Foros del Web » Programando para Internet » PHP »

Duda sobre sistema de noticias con tags

Estas en el tema de Duda sobre sistema de noticias con tags en el foro de PHP en Foros del Web. Hola buenas, estaba pensando en integrar tags en el sistema de noticias de mi web. La question es cual es la mejor forma para hacerlo... ...
  #1 (permalink)  
Antiguo 23/09/2008, 14:23
Avatar de naitmeir  
Fecha de Ingreso: junio-2008
Ubicación: Barcelona
Mensajes: 227
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta Duda sobre sistema de noticias con tags

Hola buenas, estaba pensando en integrar tags en el sistema de noticias de mi web.

La question es cual es la mejor forma para hacerlo...

bien creando una serie de campos en la tabla de noticias para cada etiqueta o desarrollando algun codigo para que te lea las etiquetas que se almacenan en un solo campo para Tags de la tabla noticias o otra opcion diferente de las anteriores, nose estoy perdido, cual es la forma mas comun para incorporar tags a una noticia??
  #2 (permalink)  
Antiguo 23/09/2008, 14:38
 
Fecha de Ingreso: enero-2008
Mensajes: 132
Antigüedad: 16 años, 3 meses
Puntos: 6
Respuesta: Duda sobre sistema de noticias con tags

Es mejor que guarde los tags en un solo campo separado por comas, y despues a la hora de leer los tags los separe con la funcion split()

Suerte
__________________
surfiction.org
  #3 (permalink)  
Antiguo 23/09/2008, 14:38
Avatar de naitmeir  
Fecha de Ingreso: junio-2008
Ubicación: Barcelona
Mensajes: 227
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Duda sobre sistema de noticias con tags

gracias me mirare la funcion split()
  #4 (permalink)  
Antiguo 24/09/2008, 01:13
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Duda sobre sistema de noticias con tags

En tu caso usa un simple explode. Split usa expresiones regulares por lo tanto es un poquito mas lento que un simple explode.
  #5 (permalink)  
Antiguo 24/09/2008, 02:52
Avatar de naitmeir  
Fecha de Ingreso: junio-2008
Ubicación: Barcelona
Mensajes: 227
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta Duda sobre sistema de noticias con tags

Pues si porque solo voy a separarlo por comas...

Tengo una nueva duda sobre el tema de las tags, cuando tenga el nuevo array con todas las tags, tendre algo como esto...

resultado despues de explode()

$tags ={"tag1","tag2","tag3","tag2","tag3"};

...se repetiran tags, estoy pensando de hacer simples sentencias con if() para recorrer el array con un loop y descartar los valores repetidos, pero pienso q es demasiado bruto, alguna sugerencia?
  #6 (permalink)  
Antiguo 24/09/2008, 03:02
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: Duda sobre sistema de noticias con tags

array_unique te puede servir.

Un saludo
  #7 (permalink)  
Antiguo 24/09/2008, 03:25
Avatar de naitmeir  
Fecha de Ingreso: junio-2008
Ubicación: Barcelona
Mensajes: 227
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta Duda sobre sistema de noticias con tags

Me ha quedado asi el tema, pero el eplorer me peta! x_D en fin nose, no me deja ver el error...

Código PHP:
               $result mysql_query ("select categoria from noticias order by leido",$conexion) or die( mysql_error() );
               while(
$row mysql_fetch_array($result)){
                        
$categoria=stripslashes($row["categoria"]);
                        
//separo la cadena
                        
$tagsrep=explode(",",$categoria);
                        
//elimino resultados repetidos
                        
$tags=array_unique($tagsrep);
                        
//muestro los resultados y los enlazo
                        
for($i=0;count($tags);$i++)
                        {
                        
$tag="<a id=margen href=tags.php?tag=$tags[$i]>$tags[$i]</a>";
                        echo 
"$tag ";
                        }       
               } 
  #8 (permalink)  
Antiguo 24/09/2008, 03:32
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: Duda sobre sistema de noticias con tags

¿Ya has debugao? Mira a ver el valor de $categoria antes de hacer el explode.
  #9 (permalink)  
Antiguo 24/09/2008, 03:35
Avatar de naitmeir  
Fecha de Ingreso: junio-2008
Ubicación: Barcelona
Mensajes: 227
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Duda sobre sistema de noticias con tags

El valor de $categoria es el esperado antes de hacer el explode si
  #10 (permalink)  
Antiguo 24/09/2008, 03:58
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: Duda sobre sistema de noticias con tags

Cuando dices 'pero el eplorer me peta', te refieres al explode o al Internet Explorer?

Por otro lado, quizás no tengas configurado el PHP para que se vean los errores. Prueba poniendo
Código PHP:
error_reporting(E_ALL); 
al principio de tu código.
  #11 (permalink)  
Antiguo 24/09/2008, 04:14
Avatar de naitmeir  
Fecha de Ingreso: junio-2008
Ubicación: Barcelona
Mensajes: 227
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta Duda sobre sistema de noticias con tags

Perdon, escrivi mal, "el explorer me peta", Internet Explorer. He vuelto a probar con un nuevo codigo pero sigue sin cargarme el explorer y sigue "petando".

La consulta es la que yo quiero generar y sale bien, el problema viene con el resto del codigo ...

Código PHP:
               $result mysql_query ("select categoria from noticias order by leido",$conexion) or die( mysql_error() );
               
error_reporting(E_ALL);
               
$ii=0;
               while(
$row mysql_fetch_array($result)){
                        
$categoria=stripslashes($row["categoria"]);
                        
//separo la cadena
                        
$tags=explode(",",$categoria);
                        
//cuento los que hay en ese campo
                        
$numelem=count($tags);
                        
//guardo en un array temporal todos los resultados
                        
for($i=0;$i<=$numelem;$i++){
                            
$tagstemp[$ii]=$tags[$i];
                            
$ii++;
                        }
               }
               
//elimino los repetidos
               
$tags=array_unique($tagstemp);
               
//cuento los elementos del array
               
$numelem=count(tags);
               
// los muestro todos
               
for($i=0;$i<=$numelem;$i++){
                       echo 
"$tags[$i] ";
               } 

Última edición por naitmeir; 24/09/2008 a las 04:25
  #12 (permalink)  
Antiguo 24/09/2008, 04:29
Avatar de naitmeir  
Fecha de Ingreso: junio-2008
Ubicación: Barcelona
Mensajes: 227
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta Duda sobre sistema de noticias con tags

Vamos a ver hemos avanzado algo... dejando el codigo de la siguiente forma ...

Código PHP:
               error_reporting(E_ALL);
               
$ii=0;
               while(
$row mysql_fetch_array($result)){
                        
$categoria=stripslashes($row["categoria"]);
                        
//separo la cadena
                        
$tags=explode(",",$categoria);
                        
//cuento los que hay en ese campo
                        
$numelem=count($tags);
                        
//guardo en un array temporal todos los resultados
                        
for($i=0;$i<=$numelem;$i++){
                            
$tagstemp[$ii]=$tags[$i];
                            echo 
"$tagstemp[$ii] ";
                            
$ii++;
                        }
               } 

Me muestra el valor del array pero me notifica lo siguiente..

Valor_del_array
Notice: Undefined offset: 1 in ...

Y si le agrego el resto del codigo que falta, que he puesto antes, no me da el Valor_del_array, pero me notifica lo mismo...
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 16:50.