Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] sacar una variable de dentro de un while

Estas en el tema de sacar una variable de dentro de un while en el foro de PHP en Foros del Web. Hola muy buenos días pues sacar una variable de dentro de un bucle while pero solo me arroja un resultado cuando necesito que los arroje ...
  #1 (permalink)  
Antiguo 26/12/2013, 04:33
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 4 meses
Puntos: 4
sacar una variable de dentro de un while

Hola muy buenos días pues sacar una variable de dentro de un bucle while pero solo me arroja un resultado cuando necesito que los arroje todos. si alguien puede echarme una mano.
Código PHP:
Ver original
  1. <?php
  2. $misplacas = mysql_query("SELECT badge_id FROM users_placas WHERE users_id = '1'");
  3. while($row = mysql_fetch_assoc($misplacas)){
  4. $placas = '<div id="placa" style="background-image: url(../placas/'.$row[badge_id].'.gif);"></div>';
  5. }
  6. echo ''.$placas.'';
  7. ?>

Feliz Navidad.
  #2 (permalink)  
Antiguo 26/12/2013, 04:58
Avatar de baldaweb  
Fecha de Ingreso: septiembre-2010
Ubicación: Barco pirata
Mensajes: 244
Antigüedad: 13 años, 7 meses
Puntos: 20
Respuesta: sacar una variable de dentro de un while

Una manera sencilla:

Antes del while $placas=""
y luego haces dentro del while
$placas.='<div...</div>';
  #3 (permalink)  
Antiguo 26/12/2013, 05:08
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: sacar una variable de dentro de un while

Cita:
Iniciado por Jose789 Ver Mensaje
Hola muy buenos días pues sacar una variable de dentro de un bucle while pero solo me arroja un resultado cuando necesito que los arroje todos. si alguien puede echarme una mano.
Código PHP:
Ver original
  1. <?php
  2. $misplacas = mysql_query("SELECT badge_id FROM users_placas WHERE users_id = '1'");
  3. while($row = mysql_fetch_assoc($misplacas)){
  4. $placas = '<div id="placa" style="background-image: url(../placas/'.$row[badge_id].'.gif);"></div>';
  5. }
  6. echo ''.$placas.'';
  7. ?>

Feliz Navidad.
Veo que quieres que arroje todos los resultados. El error están en la consulta, aquí:

Código PHP:
Ver original
  1. $misplacas = mysql_query("SELECT badge_id FROM users_placas WHERE users_id = '1'");

Es por que tienes esto:

Código PHP:
Ver original
  1. WHERE users_id = '1'

Eso hace que solo se muestre el users_id que sea igual a 1...

La solución es la siguiente:

Código PHP:
Ver original
  1. $misplacas = mysql_query("SELECT badge_id FROM users_placas'");

Eso sería para mostrar todos los resultados.
¡Feliz navidad!

Saludos.
  #4 (permalink)  
Antiguo 26/12/2013, 05:19
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: sacar una variable de dentro de un while

No me di cuenta, veo que user_id se refiere al id del usuario con el $_GET['id'] ¿no?

Si es asín sería asín:

Tú tendrías esto:

Código PHP:
Ver original
  1. $id = $_GET['id'];

Pues en la consulta has de poner esto:

Código PHP:
Ver original
  1. $misplacas = mysql_query("SELECT badge_id FROM users_placas WHERE users_id = '".$id."'");

Y ya se mostraría los resultados de id que se haya introducido.

Entonces lo de arriba que comente no tiene sentido.
Disculpa.

Saludos.
Felices fiestas!!
  #5 (permalink)  
Antiguo 26/12/2013, 05:30
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 4 meses
Puntos: 4
Respuesta: sacar una variable de dentro de un while

Cita:
Iniciado por TSG Ver Mensaje
No me di cuenta, veo que user_id se refiere al id del usuario con el $_GET['id'] ¿no?

Si es asín sería asín:

Tú tendrías esto:

Código PHP:
Ver original
  1. $id = $_GET['id'];

Pues en la consulta has de poner esto:

Código PHP:
Ver original
  1. $misplacas = mysql_query("SELECT badge_id FROM users_placas WHERE users_id = '".$id."'");

Y ya se mostraría los resultados de id que se haya introducido.

Entonces lo de arriba que comente no tiene sentido.
Disculpa.

Saludos.
Felices fiestas!!
Cierto si la variable ya la dispongo pero por no hacer mas líos en el código ya puse directamente el User id a mano
La consulta sigue siendo la misma, pero si divido el código funciona de maravilla.
Código PHP:
$misplacas mysql_query("SELECT badge_id FROM users_placas WHERE users_id = '".$id."'"); 
Código PHP:
<?
$misplacas 
mysql_query("SELECT badge_id FROM users_placas WHERE users_id = '1'");
while(
$row mysql_fetch_assoc($misplacas)){
?>
<div id="placa" style="background-image: url(http://habboadictos.es/img/placas/<?=$row[badge_id]?>'.gif);"></div>';
<?php
}
?>
Pero así no lo puedo poner en mi código...
  #6 (permalink)  
Antiguo 26/12/2013, 05:36
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: sacar una variable de dentro de un while

Podrías expresar exactamente y detalladamente que deseas hacer...
Cuál quieres que sea el resultado.

Saludos.
  #7 (permalink)  
Antiguo 26/12/2013, 05:40
Avatar de moriorGames  
Fecha de Ingreso: diciembre-2013
Ubicación: Barcelona
Mensajes: 37
Antigüedad: 10 años, 4 meses
Puntos: 3
Respuesta: sacar una variable de dentro de un while

Hola necesitas concatenar la variables placas para que te tire todos los resultados. El código correcto es:

Código PHP:
<?php
$placas 
''// primero crea la variable para tenerla definida. Cadena vacía.
$misplacas mysql_query("SELECT badge_id FROM users_placas WHERE users_id = '1'");
while ( 
$row mysql_fetch_assoc($misplacas) ) {
    
$placas .= '<div id="placa" style="background-image: url(../placas/'.$row[badge_id].'.gif);"></div>'// Aqui concatenas
}
echo 
$placas// Resultado de todas las coincidencias dentro del while
?>
__________________
Mi juego de estrategia medieval si lo entras hazme llegar tu opinión por favor, siempre la tengo en cuenta.
  #8 (permalink)  
Antiguo 26/12/2013, 05:49
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 4 meses
Puntos: 4
Respuesta: sacar una variable de dentro de un while

Cita:
Iniciado por moriorGames Ver Mensaje
Hola necesitas concatenar la variables placas para que te tire todos los resultados. El código correcto es:

Código PHP:
<?php
$placas 
''// primero crea la variable para tenerla definida. Cadena vacía.
$misplacas mysql_query("SELECT badge_id FROM users_placas WHERE users_id = '1'");
while ( 
$row mysql_fetch_assoc($misplacas) ) {
    
$placas .= '<div id="placa" style="background-image: url(../placas/'.$row[badge_id].'.gif);"></div>'// Aqui concatenas
}
echo 
$placas// Resultado de todas las coincidencias dentro del while
?>
Habria que definir la variable primero... :O Muchas Gracias.. Ya eh aprendido algo más jeje Feliz Navidad y prospero año nuevo :)
  #9 (permalink)  
Antiguo 26/12/2013, 05:52
Avatar de moriorGames  
Fecha de Ingreso: diciembre-2013
Ubicación: Barcelona
Mensajes: 37
Antigüedad: 10 años, 4 meses
Puntos: 3
Respuesta: sacar una variable de dentro de un while

Una cosilla, si me permites un apunte.

Desde el punto de vista del html en tu código hay una cosa que es incorrecta.

No puedes dar un valor <div id="placas"></div> id placas a ese elemento porque se va a repetir más de una vez.
Lo correcto sería asignar una clase <div class="placas"></div>

Recuerda que los elementos con ID deben de ser únicos en todo el documento, sino, luego puedes tener problemas.


De nada!! me alegro que te haya sido de ayuda!
__________________
Mi juego de estrategia medieval si lo entras hazme llegar tu opinión por favor, siempre la tengo en cuenta.
  #10 (permalink)  
Antiguo 26/12/2013, 08:53
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 4 meses
Puntos: 4
Respuesta: sacar una variable de dentro de un while

Cita:
Iniciado por moriorGames Ver Mensaje
Una cosilla, si me permites un apunte.

Desde el punto de vista del html en tu código hay una cosa que es incorrecta.

No puedes dar un valor <div id="placas"></div> id placas a ese elemento porque se va a repetir más de una vez.
Lo correcto sería asignar una clase <div class="placas"></div>

Recuerda que los elementos con ID deben de ser únicos en todo el documento, sino, luego puedes tener problemas.


De nada!! me alegro que te haya sido de ayuda!
Vale Gracias por el apunte lo tendré en cuenta. :)

Etiquetas: mysql, select, variable
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 22:00.