Foros del Web » Programando para Internet » PHP »

Array asociativo.

Estas en el tema de Array asociativo. en el foro de PHP en Foros del Web. Hola chicos, tengo un array asociativo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $mt = array ( $var1 => $var2 ) ; El cual recorro mediante ...
  #1 (permalink)  
Antiguo 04/06/2012, 07:06
Avatar de oNefl0w189  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 117
Antigüedad: 14 años
Puntos: 4
Array asociativo.

Hola chicos, tengo un array asociativo

Código PHP:
Ver original
  1. $mt = array($var1 => $var2);

El cual recorro mediante un foreach

Código PHP:
Ver original
  1. foreach ($mt as $clave => $valor){
  2. echo "variable1 ".$clave."</td><td>Variable2 ".$valor."</td></tr>";
  3. }


El caso es que ese array esta dentro de un while, y lo que quiero es que con cada pasada del while en el que esta, me añada los datos correspondientes de esa ejecucion.


Es decir, un while me da en cada pasada unos valores diferentes vara

$var1 y $var2

y lo que quiero es que en el array MT, me guarde con cada pasada esos datos a eese array, para despues mostrar ese array fuera del while.


Ejemplo:


1 pasada bucle while

$var1 = 1
$var2 = pepe

2 pasada bucle while
$var1 = 2
$var2 = lucas

array ( 1 > pepe , 2 > lucas );

Mostrar fuera del while
1 > pepe
2 > lucas



Tal y como lo tengo ahora, yo creo que me sobreescribe los datos, pues solo me muestra 1 fila..
__________________
Nunca dijeron que la vida sería fácil, sólo prometieron que valdría la pena vivirla.

Dar las gracias y añadir Karma, no cuesta nada, ¿Que menos si te ayudan? :)
  #2 (permalink)  
Antiguo 04/06/2012, 07:13
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Array asociativo.

Te recomiendo la lectura de la web oficial
Ahora, antes que nada tenes que definir el array:

Código PHP:
$contenido = array();
while( ){
$contenido []= $dato;
}
// Ó
while( ){
$contenido[$dato1] = array();
$contenido[$dato1] []= $dato2;
}
//Ó
while( ){
$contenido [$dato1]= $dato2;
}


echo 
"<pre>";
print_r($contenido);
echo 
"</pre>"
PD: no entendi muy bien tu pregunta, espero que los ejemplos te den una idea
__________________
Mono programando!
twitter.com/eguimariano
  #3 (permalink)  
Antiguo 04/06/2012, 07:22
Avatar de oNefl0w189  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 117
Antigüedad: 14 años
Puntos: 4
Respuesta: Array asociativo.

Este es mi caso específico:

Código PHP:
Ver original
  1. while($datos2 = mysql_fetch_assoc($resuencuestas)) {
  2.             // CONTAMOS EL NÚMERO DE REGISTROS PARA DIVIDIR.
  3.             $sql4 = ("SELECT COUNT(*) FROM encuestas WHERE numeroPregunta = '".$datos2['numeroPregunta']."' AND codAmbito = '".$datos2['codAmbito']."'");
  4.             $resultados4 = mysql_query($sql4);
  5.             while($datos4 = mysql_fetch_array($resultados4)){
  6.                 $cuenta = $datos4[0];
  7.             }
  8.            
  9.             // SELECIONAMOS Y SUMAMOS LA MEDIA CUANDO SEA ESE NUMERO DE PREGUNTA EN ESE AMBITO.
  10.             $sql5 = ("SELECT SUM(media) as media FROM encuestas WHERE numeroPregunta = '".$datos2['numeroPregunta']."' AND codAmbito = '".$datos2['codAmbito']."'");
  11.             $resultados5 = mysql_query($sql5);
  12.             while($datos5 = mysql_fetch_array($resultados5)){
  13.                     $mediatotal = $datos5[0]/$cuenta;
  14.                    
  15.                    
  16.             }
  17.  
  18.         $mt = array($datos2['numeroPregunta'] => $mediatotal);
  19.  
  20. }
  21.  
  22. foreach ($mt as $clave => $valor){
  23. echo "<tr><td>".$clave."</td><td>".$valor."</td></tr>";
  24. }
__________________
Nunca dijeron que la vida sería fácil, sólo prometieron que valdría la pena vivirla.

Dar las gracias y añadir Karma, no cuesta nada, ¿Que menos si te ayudan? :)
  #4 (permalink)  
Antiguo 04/06/2012, 08:14
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Array asociativo.

Claro se sobre escribe, por que esta mal declarado $mt

Antes del primer While, declaras $mt como array().

y despues, en ves de poner
$mt = array($datos2['numeroPregunta'] => $mediatotal);
pones:

$mt [$datos2['numeroPregunta']]= $mediatotal;

Te quedaria:

Código PHP:
$mt=array();
while(){
 while(){
 }
 while(){
 }
 
$mt [$datos2['numeroPregunta']]= $mediatotal;

}
foreach (
$mt as $clave => $valor){echo "<tr><td>".$clave."</td><td>".$valor."</td></tr>";} 
__________________
Mono programando!
twitter.com/eguimariano
  #5 (permalink)  
Antiguo 05/06/2012, 05:11
Avatar de oNefl0w189  
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 117
Antigüedad: 14 años
Puntos: 4
Respuesta: Array asociativo.

Lo he echo como me has indicado SirDuque y ahora sí, aunque el array le he creado dentro de un while, porque quiero que con cada pasada me cree el bucle nuevo.

Muchas gracias por la ayuda compi, eres un fiera!
__________________
Nunca dijeron que la vida sería fácil, sólo prometieron que valdría la pena vivirla.

Dar las gracias y añadir Karma, no cuesta nada, ¿Que menos si te ayudan? :)

Etiquetas: variables
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 13:53.