Hacer un « explode » de un campo en la base de datos
Angecorse
Mensajes publicados
42
Estado
Miembro
-
Reivax962 Mensajes publicados 3742 Estado Miembro -
Reivax962 Mensajes publicados 3742 Estado Miembro -
Hola,
Inventario:
- mysql
- phpmyadmin
- innodb
- framework php: CI 3
BD: blog
tabla: post
En la base de datos tengo varios tags en el campo 'tags':
por ejemplo: "video 3d, comique"
Están separados por un espacio, una coma o ambos.
Me gustaría que al mostrarse se "explosionen" para que, si uno de ellos es clicado, la búsqueda se realice en todos los artículos que contengan ese único tag y se muestre el resultado.
Me gustaría que sea una función y que él recorra tantos tags como haya en el campo:
public static function tags(){
}
2 respuestas
-
Hola,
Una alternativa a explode es divertirse con expresiones regulares: "(([^,\s]+)[,\s])*([^,\s]+)"
Xavier-
-
-
-
-
1. En realidad me gustaría crear una función con
explode
que busque el campo [field] (a descomponer) de la tabla [table] en la base de datos.
2. Me gustaría mostrarlo en mi página con<? php foreach ($explode as $e): <li><?php echo $e->field; ?></li> ?php endforeach; ?>
1. tan pronto como toca la base de datos, tengo errores (si creo una variable para descomponer todo va bien)
2. En ese punto también tengo errores, porque cada <li> debe mostrar unexplode
de field
He eliminado todo :(
-
-
Hola,
No termino de entender muy bien tu solicitud... al menos… cuál es exactamente la pregunta...
¿En qué bloqueas? ¿La visualización? ¿la explosión? ¿el bucle? ¿La búsqueda?
¿Qué es lo que ya has empezado a hacer?
Sin hablar de que no conocemos la estructura de tu tabla "post"... el código de la vista en la que quieres mostrar tus tags... la forma de conexión a tu BDD (PDO? Mysqli? mysql?)
En fin... ¡gracias por especificar!
PD: Hablas del framework CI3... ¿te refieres a Code Igniter 3?
Cordialement,
Jordane-
Hola Jordane,
Para CI3: Sí, es efectivamente CodeIgniter 3 (precisé que a veces haya helpers u otros que sean nativos para este tipo de función)
→ La forma de conexión: no importante, no es el tema ;)
→ La estructura de la tabla: en mi opinión, no tiene interés conocerla
Me gustaría una función que explote los datos contenidos en el campo "tags" de la tabla "blog" : Lo más importante está citado aquí.
Reitero el ejemplo:
En "tags" si tengo "vídeo, 3d, comique" o "vídeo 3d comique" (con o sin coma), la función debe devolver tantos bloques (bloque[0], bloque[1], bloque[2], bloque[x],...) como palabras haya y retornar el resultado.
Para información, la explosión del campo servirá posteriormente:
→ para disociar las etiquetas (palabras clave) al mostrarlas (pero no es mi petición).
→ para calcular, en este campo "tags", cuáles son las etiquetas más utilizadas y mostrarlas (una vez más no es mi petición)
No te compliques con lo que rodea la función. -
-