Foros del Web » Programando para Internet » PHP »

Arrays en php

Estas en el tema de Arrays en php en el foro de PHP en Foros del Web. <?php //iniciamos una sesion para todas las páginas session_start(); //Conectamos con la base $conexion=mysql_connect("localhost","root",""); //seleccionamos la base de datos mysql_select_db("torneos") or die("Problemas en la seleccion ...
  #1 (permalink)  
Antiguo 25/03/2011, 07:17
 
Fecha de Ingreso: marzo-2011
Mensajes: 12
Antigüedad: 13 años
Puntos: 1
Arrays en php

<?php

//iniciamos una sesion para todas las páginas
session_start();

//Conectamos con la base
$conexion=mysql_connect("localhost","root","");

//seleccionamos la base de datos
mysql_select_db("torneos")
or die("Problemas en la seleccion de la base de datos");


$c=0;

$_SESSION['continente']="Europa";
function funcion_continente(){//abro funcion
$continentes = "select * from paises where Continente='".$_SESSION['continente']."'";
$continente = mysql_query($continentes);

while($A=mysql_fetch_array($continente)){ //abro while 1
$paises = "select * from torneos";
$pais = mysql_query($paises);

while($B=mysql_fetch_array($pais)){ //abro while 2

if ($A['nombre']==$B['pais']){ // abro if
$c=$c+1;
$nom="torneo".$c;
echo $nom."<br>";

$torneo=array
(
$nom => array
("pais" => $B['pais'],
"mes" => $B['mes'],
"ano" => $B['ano'],
"tipo" => $B['tipo'],
"nombre" => $B['nombre'],
"tipo" => $B['tipo'],
"usuario" => $B['usuario'],
"web" => $B['web'],
),
);

} // cierro if



} //cierro while 2





} //cierro while 1

ECHO "<br>pais".$torneo["torneo1"]["pais"];
ECHO "<br>nom".$torneo["torneo1"]["nombre"];
ECHO "<br>pais".$torneo["torneo18"]["pais"];
ECHO "<br>nom".$torneo["torneo18"]["nombre"];



} //cierro funcion

funcion_continente()

?>



alguien puede decirme como hacer para incluir campos en el array $torneo... puesto que ahora solo me incluye el último. (machacando los registros)

he probado con arra_push($torneo, .................. ) pero algo debo estar haciendo mal puesto que me da errores.

Última edición por meuca; 25/03/2011 a las 07:40
  #2 (permalink)  
Antiguo 25/03/2011, 08:19
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Arrays en php

tenes que hacer un array para cada campo
cuando terminas de llenar todos los arrays los cargar en uno general.
y asi tenes todos los valores en un solo array
  #3 (permalink)  
Antiguo 25/03/2011, 08:23
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: Arrays en php

Hola meuca.
Para ir incluyendo más valores en el array sin machacar los demás tienes que poner la variable así: $torneo[]
$torneo[]=.....

Mira a ver si te funciona así.

Un saludo.
  #4 (permalink)  
Antiguo 25/03/2011, 08:59
 
Fecha de Ingreso: marzo-2011
Mensajes: 12
Antigüedad: 13 años
Puntos: 1
Respuesta: Arrays en php

Cita:
Iniciado por Nexus10 Ver Mensaje
Hola meuca.
Para ir incluyendo más valores en el array sin machacar los demás tienes que poner la variable así: $torneo[]
$torneo[]=.....

Mira a ver si te funciona así.

Un saludo.



Ante todo gracias ...!!



<?php

//iniciamos una sesion para todas las páginas
session_start();

//Conectamos con la base
$conexion=mysql_connect("localhost","root","");

//seleccionamos la base de datos
mysql_select_db("torneos")
or die("Problemas en la seleccion de la base de datos");


$c=0;

$_SESSION['continente']="Europa";
function funcion_continente(){//abro funcion
$continentes = "select * from paises where Continente='".$_SESSION['continente']."'";
$continente = mysql_query($continentes);
$c=0;
while($A=mysql_fetch_array($continente)){ //abro while 1
$paises = "select * from torneos";
$pais = mysql_query($paises);

while($B=mysql_fetch_array($pais)){ //abro while 2

if ($A['nombre']==$B['pais']){ // abro if
$c=$c+1;
$nom="torneo".$c;
echo $nom."<br>";

$torneo[]=array //PONGO COM ME DICES VERDAD??
(
$nom => array
("pais" => $B['pais'],
"mes" => $B['mes'],
"ano" => $B['ano'],
"tipo" => $B['tipo'],
"nombre" => $B['nombre'],
"tipo" => $B['tipo'],
"usuario" => $B['usuario'],
"web" => $B['web'],
),
);

} // cierro if



} //cierro while 2





} //cierro while 1

ECHO "<br>pais".$torneo["torneo1"]["pais"];
ECHO "<br>nom".$torneo["torneo1"]["nombre"];
ECHO "<br>pais".$torneo["torneo3"]["pais"];
ECHO "<br>nom".$torneo["torneo3"]["nombre"];
ECHO "<br>pais".$torneo["torneo18"]["pais"];
ECHO "<br>nom".$torneo["torneo18"]["nombre"];



} //cierro funcion

funcion_continente()

?>


















Resultado : sigo sin hacer bien la operación.........






torneo1
torneo2
torneo3
torneo4
torneo5
torneo6
torneo7
torneo8
torneo9
torneo10
torneo11
torneo12
torneo13
torneo14
torneo15
torneo16
torneo17
torneo18

Notice: Undefined index: torneo1 in C:\Archivos de programa\EasyPHP5.2.10\www\allyearchess\continente .php on line 58

pais
Notice: Undefined index: torneo1 in C:\Archivos de programa\EasyPHP5.2.10\www\allyearchess\continente .php on line 59

nom
Notice: Undefined index: torneo3 in C:\Archivos de programa\EasyPHP5.2.10\www\allyearchess\continente .php on line 60

pais
Notice: Undefined index: torneo3 in C:\Archivos de programa\EasyPHP5.2.10\www\allyearchess\continente .php on line 61

nom
Notice: Undefined index: torneo18 in C:\Archivos de programa\EasyPHP5.2.10\www\allyearchess\continente .php on line 62

pais
Notice: Undefined index: torneo18 in C:\Archivos de programa\EasyPHP5.2.10\www\allyearchess\continente .php on line 63

nom
  #5 (permalink)  
Antiguo 25/03/2011, 09:21
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Arrays en php

parece que es asi
Código PHP:
<?php
$torneo
[]= ($nom => array(
                
"pais" => $B['pais'],
                
"mes" => $B['mes'],
                
"ano" => $B['ano'],
                
"tipo" => $B['tipo'],
                
"nombre" => $B['nombre'],
                
"tipo" => $B['tipo'],
                
"usuario" => $B['usuario'],
                
"web" => $B['web']);

//para ver el contenido
print_r($torneo);
?>
  #6 (permalink)  
Antiguo 25/03/2011, 09:38
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: Arrays en php

A ver, tu código no lo entiendo bien. ¿Que es exactamente lo que quieres que te salga?

Cuando creas el array inicialmente lo puedes poner sin corchetes:
$torneo=array(......

pero después, si quieres añadir elementos sin que se machaquen los que hay tienes que poner corchetes:

$torneo[]=....

No sé si es esto lo que estás buscando para tu código.
  #7 (permalink)  
Antiguo 25/03/2011, 09:48
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: Arrays en php

¡Ah vale! Ya he entendido el código.
Al estar la variable dentro del while tiene que ir con corchetes, claro. Eso lo tienes bien. Debe haber otro problema. Mira lo que te ha dicho Death_Empire
  #8 (permalink)  
Antiguo 25/03/2011, 10:36
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: Arrays en php

Ya he visto lo que pasa. La cosa es que $torneo es un array tridimensional, así que para acceder a torneo1, torneo2, etc tienes que poner otro índice previo:

ECHO "<br>pais".$torneo[0]["torneo1"]["pais"];
ECHO "<br>nom".$torneo[0]["torneo1"]["nombre"];
ECHO "<br>pais".$torneo[2]["torneo3"]["pais"];
ECHO "<br>nom".$torneo[2]["torneo3"]["nombre"];
ECHO "<br>pais".$torneo[17]["torneo18"]["pais"];
ECHO "<br>nom".$torneo[17]["torneo18"]["nombre"];

Mira a ver si así te funciona.

Un saludo.

Etiquetas: arrays
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 08:02.