array y bucle en php (SOLUCIONADO)

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: akodo, maiku

Responder
Avatar de Usuario
greer
Forista Medio
Forista Medio
Mensajes: 334
Registrado: Mar Feb 27, 2007 8:00 am
Ubicación: PANAMA

array y bucle en php (SOLUCIONADO)

Mensaje por greer » Jue Ene 19, 2012 4:03 am

Hola,

estoy en un pequeño "proyecto" personal... solo para aprender en el camino.

en fin, tengo una duda que me gustaria explicar para ver si algun compañero con mas conocimientos me indique cual es mi error...

mi codigo es este:

Código: Seleccionar todo

$net = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($db,$net);

$consulta = "SELECT nick FROM usuarios";

$resultado = mysql_query($consulta,$net);
while($BD = mysql_fetch_assoc($resultado)){
	print_r($BD);
}
El resultado de esto es:

Array ( [nick] => murray ) Array ( [nick] => selvin ) Array ( [nick] => Alejadro ) Array ( [nick] => sebas ) Array ( [nick] => follower )

y lo que quiero hacer es esto:

Array ( [Ana] => Array ( [correo] => ana@ana.com ) [Carlos] => Array ( [correo] => carlos@carlos.com ) )

Que le faltaria a mi codigo para tirar este ultimo resultado ?

Saludos.
Última edición por greer el Jue Ene 19, 2012 5:08 pm, editado 2 veces en total.
http://greermurray.com
Avatar de Usuario
mcun
Administrador
Administrador
Mensajes: 3888
Registrado: Lun Abr 19, 2010 12:30 am
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)
Contactar:

Re: array y bucle

Mensaje por mcun » Jue Ene 19, 2012 4:37 am

Primero deberias indicarnos en el titulo en que lenguaje lo haces, yo soy moderador por lo que me preocupo de revisar todos los temas, pero muchos usuarios no harán clik en tu mensaje si no le das al menos los datos básicos.

Bueno sobre tu consulta si miras al detalle el código veras que la sentencia sql solo pides el nick por lo que jamas podrás recuperar otro dato que tenga la tabla

tu código

Código: Seleccionar todo

$consulta = "SELECT nick FROM usuarios"
deberia ser

Código: Seleccionar todo

$consulta = "SELECT nick, mail FROM usuarios"
o
$consulta = "SELECT * FROM usuarios"
revisa-lo y edita el titulo por favor
Los programadores de verdad no documentan. La documentación es para los idiotas que no pueden leer un volcado de memoria.

Trusted Network and Developer | Lee el Reglamento !! |WIKI-EL | Twitter @mr_mcun
Debian + TTY | ArchLinux + awesome | openSUSE + Gnome-Shell | Linux User #508809
Avatar de Usuario
akodo
Moderador
Moderador
Mensajes: 1457
Registrado: Mié Nov 28, 2007 8:00 am
Ubicación: En la X del explorer (pulse para llamar)

Re: array y bucle

Mensaje por akodo » Jue Ene 19, 2012 11:49 am

A parte de lo que ha dicho mcun, dado que lo que parece que quieres hacer es obtener una lista con datos de usuario, te recomendaría que crearas una clase usuario para contener los datos que quieras (el nombre y su correo, por ejemplo) y utilizaras dicha clase para guardar los datos. No voy a poner código porque no soy un experto y seguramente meta la pata y no pueda ayudar.

En cualquier caso, si no manejas clases básicamente lo que vas a hacer es lo mismo: extraer los datos que necesites de la base de datos y (posiblemente) utilizar una función para convertir esos datos al formato que tú quieras.
Descargue el gestor de mp3 "Music Manager" -> ([url=http://ctrlalt.iespana.es]mmlf[/url])
Última versión del gestor "Music Manager" -> ([url=http://sourceforge.net/projects/jmusicmanager/]jmmm[/url])
Avatar de Usuario
greer
Forista Medio
Forista Medio
Mensajes: 334
Registrado: Mar Feb 27, 2007 8:00 am
Ubicación: PANAMA

Re: array y bucle en php

Mensaje por greer » Jue Ene 19, 2012 5:21 pm

Hola,

Le pido disculpas a los moderadores del foro por el error en el titulo, ya lo pude ajustar :)

Sobre el problema que se me presentaba pude encontrar la solucion:

Código: Seleccionar todo

$usuarios = array(
	'Ana' => array(
		'correo' => 'ana@ana.com',
		'edad' => '16'
	),
	'Carlos' => array(
		'correo' => 'carlos@carlos.com',
		'edad' => '13'
	),
);
print_r($usuarios);

resultado:

Array ( [Ana] => Array ( [edad] => 16 [correo] => ana@ana.com ) [Carlos] => Array ( [edad] => 13 [correo] => carlos@carlos.com ) )

y ahora el codigo que hice para sacar su equivalente pero haciendo una consulta a la base de datos:

Código: Seleccionar todo

$consulta = "SELECT nombre, correo, edad FROM usuarios";

$i = array();
$resultado = mysql_query($consulta,$net) or die(mysql_error());
while($BD = mysql_fetch_assoc($resultado)){ //BUCLE
	$i["$BD[nombre]"] = array("edad" => $BD["edad"], "correo" => $BD["correo"] );
}
print_r($i);

resultado esperado es (el mismo, solo que sacando los datos de una BD mysql):

Array ( [Ana] => Array ( [edad] => 16 [correo] => ana@ana.com ) [Carlos] => Array ( [edad] => 13 [correo] => carlos@carlos.com ) )

Gracias a todos por su ayuda.

Saludos.
http://greermurray.com
Avatar de Usuario
mcun
Administrador
Administrador
Mensajes: 3888
Registrado: Lun Abr 19, 2010 12:30 am
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)
Contactar:

Re: array y bucle en php (SOLUCIONADO)

Mensaje por mcun » Jue Ene 19, 2012 7:39 pm

que bueno que lo hayas solucionado y gracias por editar el titulo ;)
Los programadores de verdad no documentan. La documentación es para los idiotas que no pueden leer un volcado de memoria.

Trusted Network and Developer | Lee el Reglamento !! |WIKI-EL | Twitter @mr_mcun
Debian + TTY | ArchLinux + awesome | openSUSE + Gnome-Shell | Linux User #508809
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje