PHP - Unir resultados sql a un array

 
Vista:
sin imagen de perfil

Unir resultados sql a un array

Publicado por Gordon (4 intervenciones) el 21/05/2017 05:12:25
Hola tengo un problema a la hora de usar (array_unique) me eh dado cuenta, para que funcione es necesario unir la columna de resultados en un solo array y ahí no se como hacerlo ¿alguna sugerencia?

Saludos Cordiales

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
 
include ("conexion.php") ;
//$sql="SELECT group_concat(tags) FROM tag";
$sql ="SELECT tags FROM tag";
$result=mysql_query($sql)or die (mysql_error ());
while ($fila=mysql_fetch_array($result)) {
 
$bb=$fila[0];
$bb=explode(", ",$fila[0]); //creo un array por cada columna  Array ( [0] => naturaleza [1] => paisaje [2] => ) ...etc
//$bb=array_unique($bb); 
 
foreach($bb as $tags){ //separo individualmente cada palabra
echo "<br>";
echo "<a href='y.php?id_post=$tags'>$tags</a>";
  }
 
} //salgo del bucle while
?>






mi base de datos
tabla
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Unir resultados sql a un array

Publicado por kip (877 intervenciones) el 21/05/2017 05:52:37
Hola, que es lo que quieres hacer ? mostrar un enlace por cada tag de cada post almacenado ?

Es decir algo asi ?

Para el primer registro:
<a href='y.php?id_post=naturalueza'>naturaleza</a>
<a href='y.php?id_post=paisaje'>paisaje</a>

Para el segundo registro:
<a href='y.php?id_post=paisaje'>paisaje</a>
<a href='y.php?id_post=montañas'>montañas</a>
<a href='y.php?id_post=lago'>lago</a>

Por cada iteracion de cada registro mostraras enlaces que serian uno por cada tag del post ?

Que es lo que quieres hacer con array_unique podrias decirnoslo ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Unir resultados sql a un array

Publicado por Gordon (4 intervenciones) el 21/05/2017 06:26:08
en resumen usar al array_unique. por ejemplo paisaje se repite 5 veces quiero que aparezca una vez.

Sin-titulo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Unir resultados sql a un array

Publicado por kip (877 intervenciones) el 21/05/2017 06:40:07
Podrias hacerlo asi, sin array_unique :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
include ("conexion.php") ;
 
$sql ="SELECT tags FROM tag";
$result=mysql_query($sql)or die (mysql_error ());
$tags = array();
 
while ($fila=mysql_fetch_array($result)) {
    $tags_post = explode(", ",$fila[0]);
    foreach ($tags_post as $tag_post) {
        if ( ! in_array($tag_post, $tags)) {
            array_push($tags, $tag_post);
        }
    }
}
 
foreach ($tags as $tag) {
    echo "<br>";
    echo "<a href='y.php?id_post=$tag'>$tag</a>";
}

Con array_unique podria ser algo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
include ("conexion.php") ;
 
$sql ="SELECT tags FROM tag";
$result=mysql_query($sql)or die (mysql_error ());
$tags = array();
 
while ($fila=mysql_fetch_array($result)) {
    $tags += explode(", ",$fila[0]);
}
 
$tags = array_unique($tags);
 
foreach ($tags as $tag) {
    echo "<br>";
    echo "<a href='y.php?id_post=$tags'>$tags</a>";
}

Prueba ambos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Unir resultados sql a un array

Publicado por Gordon (4 intervenciones) el 21/05/2017 20:23:15
Para el primero funciono bien. No se me ocurrió usar el array_push incluso me costo entenderlo pero lo entendí y me vale.


bien


el segundo ejemplo no funciono bien no se porque devuelve estos resultados.
resultado-dos

Gracias por la solución kip. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar