Foros del Web » Programando para Internet » PHP »

Dudas con Matrices?

Estas en el tema de Dudas con Matrices? en el foro de PHP en Foros del Web. Hola: miren, quiero extraer todos los datos de una tabla y quiero guardarlos en variables para poder rescatarlos mas o menos asi $variable=($fila,$columna); pero no ...
  #1 (permalink)  
Antiguo 04/02/2003, 13:13
 
Fecha de Ingreso: julio-2002
Mensajes: 119
Antigüedad: 22 años, 4 meses
Puntos: 0
Pregunta Dudas con Matrices?

Hola: miren, quiero extraer todos los datos de una tabla y quiero guardarlos en variables para poder rescatarlos mas o menos asi

$variable=($fila,$columna);

pero no me resulta...

los valores $fila y $columna son corectos el probelma debe estar en la la sintaxis del arreglo...

si alguien puede darme una manito se lo agradeceria mucho
  #2 (permalink)  
Antiguo 04/02/2003, 13:28
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 9 meses
Puntos: 5
Debería ser asi:

$variable($fila)=$columna;

o bien

$variable()="(".$fila.",".$columna.")";

En el primer caso te crearía un array donde las claves (keys) serían los nombres de las filas, y el contenido sería el valor de $columna


En el segundo te crearía un array con índice numérico con el valor (fila,columna) textual.


Saludos
__________________
Manoloweb
  #3 (permalink)  
Antiguo 04/02/2003, 13:42
 
Fecha de Ingreso: julio-2002
Mensajes: 119
Antigüedad: 22 años, 4 meses
Puntos: 0
Manoloweb:

sabes que no me resulta...

te incluyo el codigo para que veas que es lo que trato de hacer


$fields = mysql_list_fields("$db", "$tabla", $link);
$columns = mysql_num_fields($fields);

$resultado = mysql_query("SELECT * FROM $tabla");
$filas = mysql_num_rows($resultado);

$result = mysql_query("SELECT * FROM $tabla");
$row = mysql_fetch_array($result);

for ($z = 0; $z < $filas; $z++) {
for ($y = 0; $y < $columns; $y++) {
$a("$z","$y") = $row("$z","$y"); echo $a;

}
}

la linea en negrit es la del problema...

por si me puedes ayudar....
  #4 (permalink)  
Antiguo 04/02/2003, 13:54
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 23 años
Puntos: 69
Probaste algo mucho mas simple ?

Código PHP:
<?
$rs 
mysql_query("SELECT * FROM $tabla");
$i 0;
if(
mysql_num_rows($rs))
while(
$row mysql_fetch_row($rs))
$matriz[$i++] = $row;

?>
Y listo.. con eso tienes tu matriz armada.
luego averiguas el total de filas con :
$filas = count($matriz)
y la cantidad de columnas con
$columnas = count($matriz[0])

Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #5 (permalink)  
Antiguo 04/02/2003, 14:05
 
Fecha de Ingreso: julio-2002
Mensajes: 119
Antigüedad: 22 años, 4 meses
Puntos: 0
perfecto...

al parecer la matriz esta creada, ahora como puedo mostrarla???

por ejemplo la celda (2,5)?
  #6 (permalink)  
Antiguo 04/02/2003, 14:15
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 23 años
Puntos: 69
A leer un poco más el manual, que esto es muy básico.
echo $matriz[1][4];
( recordá que los índices comienzan en cero )
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #7 (permalink)  
Antiguo 04/02/2003, 14:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
$matriz[2][5] .. es un array bidimensional .. El primero es la FILA y el segundo la COLUMNA ..

Puedes omitir el contador $i q se usa .. usando:

Código PHP:
$rs mysql_query("SELECT * FROM $db_tabla") or die(mysql_error());
if(
mysql_num_rows($rs))
while(
$row mysql_fetch_row($rs)){
$matriz[] = $row;

En este caso .. el "numerado" de FILAS comienza en 0 .. al igual q las comumnas ..

A la columna puedes acceder tambien por el nombre "fisico" q tenga en tu tabla de tu Base de datos .. Ejemplo:

$matriz[2]['comosellame_en_tu_caso_la_columna5']

Si quieres acceder así a tus columnas deberias usar:

while($row = mysql_fetch_assoc($rs)){

ó

while($row = mysql_fetch_array($rs)){


Un saludo,
  #8 (permalink)  
Antiguo 04/02/2003, 14:33
 
Fecha de Ingreso: julio-2002
Mensajes: 119
Antigüedad: 22 años, 4 meses
Puntos: 0
Funciona a la perfeccion....


Muchas gracias a todos muchachos


atte

drenis
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 21:28.