Foros del Web » Programando para Internet » PHP »

No me quieren salir unos feos arrays

Estas en el tema de No me quieren salir unos feos arrays en el foro de PHP en Foros del Web. Holaaas, tengo un problema .. tengo que hacer que mi tablita muestre "valor"=>$500, $1000 y "productos"=>Chocolate, hamburguesa. Hice esto apartir de arrays multidimensionales y foreach, ...
  #1 (permalink)  
Antiguo 14/04/2012, 02:08
 
Fecha de Ingreso: abril-2012
Mensajes: 5
Antigüedad: 12 años, 8 meses
Puntos: 0
No me quieren salir unos feos arrays

Holaaas,
tengo un problema .. tengo que hacer que mi tablita muestre "valor"=>$500, $1000 y "productos"=>Chocolate, hamburguesa. Hice esto apartir de arrays multidimensionales y foreach, pero no me quiere salir >.<.... solo logro que me salga la primera la primera letra y el primer numero xD

asi:


y bueno este es mi codigo:
Código PHP:
<?php
error_reporting
(E_ALL E_NOTICE);?>
<table width="100%" border="1">
  <tr class="arriba">
    <td>Comida</td>
    <td>Valor</td>
    <td>Producto</td>
  </tr>

<?php
$comida
=array("dulces"=>
                        array(
"500""chocolate"),
              
"chatarra"=>
                        array(
"1000""hamburguesa"));

foreach(
$comida as $element=> $clave) {

    foreach(
$clave as $item) {

    }

?>
 
 <tr class="segunda">
    <td> <?php echo $element;?></td>
    <td>$<?php echo $clave[0][$p=$_GET[Valor]] ;?></td>
    <td><?php echo $item [$c=$_GET[Producto]] ;?></td>
    </tr>
    <?php }?>
</table>
Sera que no se ocuar el foreach D:, heeelp
  #2 (permalink)  
Antiguo 14/04/2012, 02:10
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años, 1 mes
Puntos: 168
Respuesta: No me quieren salir unos feos arrays

Proba poner '' ( comillas simples ) en los datos que pones en GET[].
Algo como:
Código PHP:
Ver original
  1. <td>$<?php echo $clave[0][$p=$_GET['Valor']] ;?></td>
  2. <td><?php echo $item [$c=$_GET['Producto']] ;?></td>
  #3 (permalink)  
Antiguo 14/04/2012, 02:15
 
Fecha de Ingreso: abril-2012
Mensajes: 5
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: No me quieren salir unos feos arrays

tampoco funciona asi entre comillas u.u
  #4 (permalink)  
Antiguo 14/04/2012, 02:39
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años, 1 mes
Puntos: 168
Respuesta: No me quieren salir unos feos arrays

Ahi lo que veo es que muestra el 1er caracter( h y c ) por lo que no se esta recorriendo bien el vector ( array o como quieras llamarle ) . Porque la posición no se va incrementando, probá usar un FOR, en vez de foreach, ejemplo:

ejemplo:
Código PHP:
Ver original
  1. <?php
  2.     // declarar array - INICIO EN POSICION 1 (UNO)
  3.     $nums = array(1=>10,22,27,15,6,11,64,9,7,16);
  4.     $pos = 1;
  5.     while ($pos<=count($nums)) {
  6.         echo "<span> $nums[$pos] </span><br />\n";
  7.         $pos++;
  8.     } // end for
  9.   ?>

Código PHP:
Ver original
  1. <?php
  2.     // declarar array - INICIO EN POSICION 0 (CERO)
  3.     $nums = array(10,22,27,15,6,11,64,9,7);
  4.    
  5.     for ($pos=0;$pos<9;$pos++) {
  6.         echo "<span> $nums[$pos] </span><br />\n";
  7.     } // end for
  8.   ?>

Acá te deje unos ejemplos, espero que te sirvan :)
  #5 (permalink)  
Antiguo 14/04/2012, 02:55
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 15 años, 4 meses
Puntos: 66
Respuesta: No me quieren salir unos feos arrays

Mira si te sirve este ejemplo:

Código PHP:
$comida=array("dulces"=>
array(
"500""chocolate"),
"chatarra"=>
 array(
"1000""hamburguesa"));

foreach(
$comida as $element => $key) {
echo 
"$element tiene como valores".$key[0]." y ".$key[1]."<br />" ;

saludos,
__________________
Tu álbum de cromos online!!
  #6 (permalink)  
Antiguo 14/04/2012, 04:18
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años, 8 meses
Puntos: 97
Respuesta: No me quieren salir unos feos arrays

Fíjate que tu bucle esta vacio. prueba esto.


<?php
error_reporting(E_ALL ^ E_NOTICE);?>
<table width="100%" border="1">
<tr class="arriba">
<td>Comida</td>
<td>Valor</td>
<td>Producto</td>
</tr>

<?php
$comida=array("dulces"=>
array("500", "chocolate"),
"chatarra"=>
array("1000", "hamburguesa"));

$result="";
foreach($comida as $element=> $clave) {
$result.="<td>$element</td><td>${$clave[0]}</td><td>$clave[1]</td>";
}
echo $result;
?>
</table>
  #7 (permalink)  
Antiguo 14/04/2012, 14:57
 
Fecha de Ingreso: abril-2012
Mensajes: 5
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: No me quieren salir unos feos arrays

wuu gracias chicos me ayudaron mucho!! <3
El metodo GET estaba chocando con mis otras variables.. alfinal lo deje asi y resulto *_*.

Código PHP:
<?php
$comida
=array("dulces"=>
                        array(
"500""chocolate"),
              
"chatarra"=>
                        array(
"1000""hamburguesa"));

foreach(
$comida as $element=> $clave) {

    foreach(
$clave as $item) {

    }

?>
 
 <tr class="segunda">
    <td> <?php echo $element;?></td>
    <td>$<?php echo $clave[0]; ?>
    <?php echo $p=$_GET['Valor'] ;?></td>
    <td><?php echo $item;?>
    <?php echo $c=$_GET['Producto'] ;?></td>
    </tr>
    <?php }?>
Tengo otra duda haber si alguien me puede explicar... a mi tablita le agregado mas celdas una de "CANTIDAD" y otra "TOTAL" para asi aplicarles formulas, pero si se fijan en mi codigo sigo ocupando el metodo GET, pero yo ya tengo definido los valores de "chatarra" y "dulce"... entonces cmo hago para que me salga el total con valores ya derterminados?
  #8 (permalink)  
Antiguo 14/04/2012, 15:12
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 15 años, 4 meses
Puntos: 66
Respuesta: No me quieren salir unos feos arrays

Cita:
Iniciado por Tamaraa Ver Mensaje
wuu gracias chicos me ayudaron mucho!! <3

Tengo otra duda haber si alguien me puede explicar... a mi tablita le agregado mas celdas una de "CANTIDAD" y otra "TOTAL" para asi aplicarles formulas, pero si se fijan en mi codigo sigo ocupando el metodo GET, pero yo ya tengo definido los valores de "chatarra" y "dulce"... entonces cmo hago para que me salga el total con valores ya derterminados?
Si quieres contar usa count($element);
Si quieres sumar usa una variable para acumular la cantidad en cada iteración del for $suma+=$valor[0];
__________________
Tu álbum de cromos online!!

Etiquetas: arrays, salir
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 12:04.