Foros del Web » Programando para Internet » PHP »

arrays bidimensionales

Estas en el tema de arrays bidimensionales en el foro de PHP en Foros del Web. Hola chicos y chicas programadores, buenas tardes, tengo una duda sobre arreglos bidimensionales con php, mi intencion es obtener informacion de la bd, y que ...
  #1 (permalink)  
Antiguo 22/09/2008, 17:14
Avatar de ana_gloria  
Fecha de Ingreso: febrero-2008
Mensajes: 65
Antigüedad: 16 años, 2 meses
Puntos: 1
Busqueda arrays bidimensionales

Hola chicos y chicas programadores, buenas tardes, tengo una duda sobre arreglos bidimensionales con php, mi intencion es obtener informacion de la bd, y que solito me los vaya arreglando segun corresponda como un arreglo, por ejemplo: tengo el campo especie y el campo pie, y quiero que la especie "sorgo" tenga el dato que le corresponda en este caso el precio del campo llamado "pie": ejemplo mas explicito

Especie-----------Pie
Sorgo $0.45
Maíz Blanco $.50

etc, etc, etc, para esto realizo la siguiente acción, si ven utilice la funcion de array_unshift, porque segun viene en el manual de php q Introduce uno o más elementos al principio de la matriz....................
Código PHP:

$precio
=array_unshift();
    
$sql="select especie, pie from tbl_avance_pecuario where month(fecha_modificacion)='".$mes."'
    and ddr='$id_ddr' and tipo=3"
;
    
$rs=mysql_query($sql$conecta) or die ("Error al obtener los id's de la tabla de agricolas".mysql_error());
    while(
$fila=mysql_fetch_array($rs))
    {
            
array_push($precio,$fila["especie"],$fila["pie"]);
    }
    
mysql_free_result($rs);
    
$despliegue.='<tr><td class="txt" colspan="9">'.implode(",",$precio).'</td></tr>'
Y al ejecutarlo me salen estos errores :
Warning: Wrong parameter count for array_unshift()
Warning: array_push() [function.array-push]: First argument should be an array
Warning: implode() [function.implode]: Bad arguments.

Para los mas sabiondos, disculpen mi ignorancia.

De antemano les agradezco su ayuda ;)
  #2 (permalink)  
Antiguo 22/09/2008, 17:35
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: arrays bidimensionales

Disculpa, no leo tu tema. Solo veo que usas array_unshift() sin parámetros cuando el propio error te pide uno. array_push() te dice que el primer argumento debe ser un array e implode() que están mal los argumentos.

En resumen: haces mal uso de las funciones, consulta la documentación para que veas cómo tienen que usarse.
www.php.net/array_unshift
www.php.net/array_push
www.php.net/implode
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 22/09/2008, 20:09
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 21 años
Puntos: 60
Respuesta: arrays bidimensionales

Creo que estas un poco enredada con el uso de las funciones, sin embargo si lei bien necesitas almacenar en un array asociativo o Tabla Hash, los datos de cada producto, sin embargo creo que lo puedes solucionar así, sin usar funciones de array.

Código PHP:
$productos = array();
$sql="select especie, pie from tbl_avance_pecuario where month(fecha_modificacion)='".$mes."'
    and ddr='$id_ddr' and tipo=3"
;
    
$rs=mysql_query($sql$conecta) or die ("Error al obtener los id's de la tabla de agricolas".mysql_error());
    while(
$fila=mysql_fetch_array($rs))
    {
            
//Agregar cada producto al array
            
$productos[] = array($fila["especie"],$fila["pie"]);
    }
    
mysql_free_result($rs);
   
//desplegar los datos
    
foreach($productos as $key =>$val){
    
$despliegue.='<tr><td class="txt" colspan="9">'.$val[0].','.$val[1].'</td></tr>';
   } 
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
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 06:16.