Foros del Web » Programando para Internet » PHP »

Meter variable como matriz en un array??

Estas en el tema de Meter variable como matriz en un array?? en el foro de PHP en Foros del Web. Se puede meter una variable dentro de un array?este es el codigo que tengo y no me sale: Código PHP: <? $ref =  $_GET [ ...
  #1 (permalink)  
Antiguo 27/05/2008, 07:58
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 11 años, 10 meses
Puntos: 0
Meter variable como matriz en un array??

Se puede meter una variable dentro de un array?este es el codigo que tengo y no me sale:

Código PHP:
<?
$ref
$_GET['ref'];
$nombre=$_GET['nombre'];
$descricate=$_GET['descricate'];
$codven=$_GET['codven'];

 
$array[$ref]($descricate,$nombre,$codven);
 
echo 
$array;
 
?>
Me podeis ayudar??

Última edición por Slayer_sephiroth; 28/05/2008 a las 18:37
  #2 (permalink)  
Antiguo 27/05/2008, 08:28
 
Fecha de Ingreso: diciembre-2003
Ubicación: Salamanca
Mensajes: 123
Antigüedad: 16 años
Puntos: 3
Respuesta: Meter variable como matriz en un array??

Prueba:

Código PHP:
$ref$_GET['ref'];
$ref= array($_GET['nombre'],$_GET['descricate'],$_GET['codven']);
print_r($ref); 
  #3 (permalink)  
Antiguo 27/05/2008, 09:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Meter variable como matriz en un array??

O en dado caso:
Código PHP:
$array[$ref] = array($descricate,$nombre,$codven); 
Saludos.
  #4 (permalink)  
Antiguo 27/05/2008, 14:44
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Meter variable como matriz en un array??

Funciona,el problema es que solo me muestra el ultimo dato selecionado,es decir,selecciono un $ref,entonces me muestra todo lo que tiene $array.Luego selecciono otro $ref y sustituye al anterior,yo lo que quiero es que a medida que yo vaya seleccionado $ref me vayan apareciendo.
  #5 (permalink)  
Antiguo 27/05/2008, 14:52
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 14 años, 9 meses
Puntos: 20
Respuesta: Meter variable como matriz en un array??

Código PHP:
//Recoges los datos en una matriz
$matriz = array();
$matriz[]=$_GET['nombre'];
$matriz[]=$_GET['descricate'];
$matriz[]=$_GET['codven']; 

//La matriz es "ref". Lo he hecho asi para que veas lo que estoy haciendo.
$ref $matriz;

//Imprime cada valor
echo $ref[0]; # Nombre
echo $ref[1]; # Descricate
echo $ref[2]; # Codven 

Última edición por david_M_G; 27/05/2008 a las 14:57
  #6 (permalink)  
Antiguo 27/05/2008, 14:54
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.650
Antigüedad: 11 años, 8 meses
Puntos: 336
Respuesta: Meter variable como matriz en un array??

usando el codigo de dobeto guardas el en el arreglo, para mostrarlo usalo asi

para imprimir el nombre usa

echo $ref[0];

para imprimir las otras 2 variables usa 1 y 2

echo $ref[1]." y ".$ref[2];

si no te referias a eso... pues postea el codigo que estas usando xD
  #7 (permalink)  
Antiguo 27/05/2008, 15:09
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Meter variable como matriz en un array??

Me sigue mostrando la ultima linea que he cogido,este es mi codigo:

Código PHP:
<?php 


 $ref
$_GET['ref'];
 
$nombre=$_GET['nombre'];
$descricate=$_GET['descricate'];
$codven=$_GET['codven'];





$array[$ref]=array ("nombre,".$nombre."descricate,".$descricate);

print_r ($array[$ref]);


?>
Lo que yo quiero es:

Selecciono objeto

$array[0]=($codigo,$nombre);

Vuelvo hacia la pagina de seleccion de objetos
Selecciono objeto
se crea automaticamente
$array[1]=($codigo,$nombre);
y asi sucesivamente hasta que deje de selccionar objetos.
Como se puede hacer?
  #8 (permalink)  
Antiguo 27/05/2008, 15:17
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.650
Antigüedad: 11 años, 8 meses
Puntos: 336
Respuesta: Meter variable como matriz en un array??

ah ok, creo que lo que quieres hacer es que se vayan acumulando datos?

o sea al seleccionar un objeto se guardan los datos de ese objeto, seleccionas otro y se guardan aparte esos datos quedando guardados los datos de ambas cosas

selecciono objeto 1 y queda:

(objeto1, descricate1,codven1)

seleccionas otro objeto 2 y queda:

(objeto1, descricate1,codven1)
(objeto2, descricate2,codven2)

o sea los 21 objetos en un arreglo (bidimensional) es eso?

si este es el caso, avisame para no gastarme de mas xD
  #9 (permalink)  
Antiguo 27/05/2008, 15:19
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Meter variable como matriz en un array??

Exactamente,eso es lo que quiero.¿como se hace?

Última edición por Slayer_sephiroth; 27/05/2008 a las 16:22
  #10 (permalink)  
Antiguo 27/05/2008, 17:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Meter variable como matriz en un array??

Hola Slayer_sephiroth,

Prueba el código como te digo usando [] con ese comando agregas un nuevo elemento a un array:
Código PHP:
$datos = array();

$temp = array( "a""b""c" );
$datos[] = $temp;
$temp = array( "d""e""f" );
$datos[] = $temp
Saludos.
  #11 (permalink)  
Antiguo 27/05/2008, 17:09
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Meter variable como matriz en un array??

Voy a probarlo y a ver si esta vez ya va,xq es que estoy quemado,intento hacer un carrito pero no hay forma y los que ahi por ahi no los entiendo,bueno ahora te cuento.
  #12 (permalink)  
Antiguo 27/05/2008, 17:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Meter variable como matriz en un array??

Hola Slayer_sephiroth,

Recuerda que si lo que quieres es guardar los datos entre paginas, necesitas usar variables de sesión forzosamente.

Saludos.
  #13 (permalink)  
Antiguo 27/05/2008, 17:24
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Meter variable como matriz en un array??

He puesto esto para verlo
Código PHP:
<?
foreach($datos as $a){
echo 
$a;
}
?>
Y me muestra :ArrayArray
  #14 (permalink)  
Antiguo 27/05/2008, 17:26
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Meter variable como matriz en un array??

Cita:
Iniciado por GatorV Ver Mensaje
Hola Slayer_sephiroth,

Recuerda que si lo que quieres es guardar los datos entre paginas, necesitas usar variables de sesión forzosamente.

Saludos.
por ejemplo en una pagina tengo una tabla con un objeto en cada linea y tambien una checkbox en cada linea,como seria para hacer que los que estuvieran señalados en la checkbox se me mostran en otra pagina?
  #15 (permalink)  
Antiguo 27/05/2008, 17:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Meter variable como matriz en un array??

Código PHP:
<?php
foreach($datos as $a){
     
"Arreglo: <br />";
     foreach( 
$a as $valor ) {
             echo 
"$valor<br />";
     }
}
?>
Usar sesiones es sencillo, busca en el foro, pero solo es usar session_start() en todas tus paginas y posteriormente manejar los valores que quieras guardar en el arreglo $_SESSION.

Saludos.
  #16 (permalink)  
Antiguo 27/05/2008, 17:56
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Meter variable como matriz en un array??

Me sale el contenido del array pero dos veces.

Última edición por Slayer_sephiroth; 27/05/2008 a las 18:18
  #17 (permalink)  
Antiguo 27/05/2008, 22:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Meter variable como matriz en un array??

¿Seguro? ¿que código estas usando?

Prueba esto:
Código PHP:
<?php
$datos 
= array();

$temp = array( "a""b""c" );
$datos[] = $temp;
$temp = array( "d""e""f" );
$datos[] = $temp

foreach(
$datos as $a){
     
"Arreglo: <br />";
     foreach( 
$a as $valor ) {
             echo 
"$valor<br />";
     }
}
?>
Saludos.
  #18 (permalink)  
Antiguo 28/05/2008, 05:57
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Meter variable como matriz en un array??

Lo mismo de antes,me muestra el contenido del array dos veces.Yo lo que quiero es que selecciono un objeto se crea el array[0] vuelvo hacia atras ,selecciono otro objeto y se crea solo el siguiente array y asi sucesivamente.

Ahora en vez de hacer eso sustituye el valor inicial del array siempre
  #19 (permalink)  
Antiguo 28/05/2008, 10:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Meter variable como matriz en un array??

Debes de tener un problema en tu instalación de PHP, ya que a mi me muestra esto:
Código:
Arreglo:
a
b
c
Arreglo:
d
e
f
Te recomiendo que verifiques tu instalación de PHP y en dado caso reinstales el paquete de PHP y Apache (o el servidor IIS que uses)

Saludos.
  #20 (permalink)  
Antiguo 28/05/2008, 15:51
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Meter variable como matriz en un array??

Lo que pasa esque tu introduces cadenas de texto escritas por ti,pero yo pongo variables,asi que le doy a un objeto y me muestra el valor del objeto dos veces y luego le doy a otro y me lo sustituye por el ultimo en vez de mostrarme el valor del objeto 1 y luego del objeto 2.
Un saludo
  #21 (permalink)  
Antiguo 28/05/2008, 16:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Meter variable como matriz en un array??

Hola Slayer_sephiroth,

Si te fijas en un post anterior te mencione que las variables que usas en tu script solo son validas en la instancia actual, si quieres "mantener" las variables entre varias paginas o requests de tu pagina actual debes FORZOSAMENTE usar sesiones para ir agregando las cosas a tu arreglo.

Saludos.
  #22 (permalink)  
Antiguo 28/05/2008, 16:17
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Meter variable como matriz en un array??

Asi mas o menos??digo mas o menos por que me sigue saliendo lo mismo.

Código PHP:
<?php 
session_start
();


 
$_SESSION['ref']= $_GET['ref'];
 
$_SESSION['nombre']=$_GET['nombre'];
$_SESSION['descricate']=$_GET['descricate'];
$_SESSION['codven']=$_GET['codven'];



$datos = array();

$temp = array( $_SESSION['nombre'],$_SESSION['ref'],$_SESSION['descricate'],$_SESSION['codven']);
$datos[] = $temp;
$temp = array( $_SESSION['nombre'],$_SESSION['ref'],$_SESSION['descricate'],$_SESSION['codven']);
$datos[] = $temp

foreach(
$datos as $a){
     
"Arreglo: <br />";
     foreach( 
$a as $valor ) {
             echo 
"$valor<br />";
     }
}


?>

<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="listarobjetos.php">Volver</a></p>

Saludos y perdona por el coñazo que estoy dando
  #23 (permalink)  
Antiguo 28/05/2008, 17:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Meter variable como matriz en un array??

Prueba así:
Código PHP:
<?php 
session_start
();
if( !isset( 
$_SESSION['datos'] ) ) {
      
$_SESSION['datos'] = array();
}

$arr = array( $_GET['ref'], $_GET['nombre'], $_GET['descricate'], $_GET['codven'] );
$_SESSION['datos'][$_GET['ref']] = $arr;

foreach(
$_SESSION['datos'] as $ref => $a){
     
"$ref: <br />";
     foreach( 
$a as $valor ) {
             echo 
"$valor<br />";
     }
}


?>
Saludos.
  #24 (permalink)  
Antiguo 28/05/2008, 18:36
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Meter variable como matriz en un array??

SIIIIII,por fin.
Muchas gracias tio me has salvado espero no volver a dar la plasta hasta dentro de un mes,jejej.

Salu2 y gracias de nuevo.
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 16:35.