PHP - Cargar Array desde Mysql

   
Vista:

Cargar Array desde Mysql

Publicado por Toti (2 intervenciones) el 14/03/2016 12:42:21
Hola,
después de consultar varias tablas en mysql obtengo la siguiente información:

Nombre, Numfactura, Fecha, Estado, Descripción, Localidad

Quiero cargar esta información en un array multidimensional para después ordenarla por Nombre y poder mostrarla en pantalla ordenada.

Cómo puedo cargar el array y después ordenarlo ?

La información no la puedo traer ordenada de la base de datos.

Muchas gracias
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 xve

Cargar Array desde Mysql

Publicado por xve (5523 intervenciones) el 14/03/2016 16:25:33
Hola Toti, el resultado de la consulta MySQL ya es un array del tipo mysqli_result de mysql!!! Además, si lo deseas, sabes que desde SQL el resultado ya te puede venir ordenador...

$result=mysqli_query() -> ya devuelve un array del tipo mysqli_result!!!

$result[0] -> hace referencia al primer row
$result[0][1] -> hace referencia al primer row y a la primera columna

Si no te sirve, siempre puedes recorrer todo el resultado de la base de datos, y ir creando tu el array...

Comentanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Felix

Cargar Array desde Mysql

Publicado por Felix (17 intervenciones) el 15/03/2016 00:29:33
Yo tengo un problema parecido pero con 3 tablas distintas y la consulta SQL me funciona perfecto cuando consulto y comparo por "id" para seleccionar y mostrar lego con un While; el problema me viene cuando intento inetgrar la 3ra tabla en la consulta.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<table>
 
<?php
$sql="SELECT *, dato1, count(dato2)
FROM tabla1 AS t1, tabla2 AS t2 
WHERE t1.id=t2.dato1 
GROUP BY dato1 ORDER BY dato1 ASC LIMIT 10";
$result = $conn->query($sql);
 
if ($result->num_rows > 0) {
 
	while($row = $result->fetch_assoc()) {
		echo "<tr><td>".$row["dato1"]."</td><td>".$row['count(dato2)']."</td></tr>";
					}
				echo "</table>";
					}
				else {
				echo "0 results";
						}
	?>

Hasta aquí todo va bien, el problema se presenta cuando intento hacer una tercera consulta agregando la tabla3:

1
2
3
4
$sql="SELECT *, count(dato2), count(dato3)
FROM tabla1 AS t1, tabla2 AS t2, tabla3 AS t3 
WHERE t1.id=t2.dato1 AND t3.dato3=t1.id 
GROUP BY dato1 ORDER BY dato1 ASC LIMIT 10";

Esto no me muestra los datos deseados en la tabla al contar los registros.
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 xve

Cargar Array desde Mysql

Publicado por xve (5523 intervenciones) el 15/03/2016 10:57:13
Hola Felix, juntar las tablas de esta manera, no es muy correcto... lo suyo seria utilizaras joins, de esta manera, indicas la dirección de la vinculación, y indicas por que campo se tiene que vincular.

left join
right join

Para tu consulta, podria ser:
1
2
3
4
$sql="SELECT *, dato1, count(dato2)
FROM tabla1 AS t1
LEFT JOIN tabla2 AS t2  ON t1.id=t2.dato1 
GROUP BY t2.dato1 ORDER BY t2.dato1 ASC LIMIT 10";

Para una tercera tabla podria ser:
1
2
3
4
5
$sql="SELECT *, dato1, count(dato2)
FROM tabla1 AS t1
LEFT JOIN tabla2 AS t2  ON t1.id=t2.dato1
LEFT JOIN tabla3 AS t3  ON t1.id=t3.dato1
GROUP BY t2.dato1 ORDER BY t2.dato1 ASC LIMIT 10";

Espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Cargar Array desde Mysql

Publicado por toti (2 intervenciones) el 15/03/2016 13:30:35
Hola XVE, empiezo por comentarte que llevo poco tiempo programando en PHP

Lo que pasa es que voy haciendo consultas encadenadas con los valores que me van devolviendo distintas consultas:


$resultado=obtener_datos(id)
while ($row_datos=mysql_fetch_row($resultado) {
-- por cada dato obtenido sigo haciendo consultas de igual forma con algún while más
-- al final presento los datos en una tabla
--------------- <td> $row_datos[0]</td>
--------------- <td> $row_facturas[1]</td>
--------------- ...............................
}

No sé si me explico bien

Muchas gracias
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