Foros del Web » Programando para Internet » PHP »

Problema con if dentro de while

Estas en el tema de Problema con if dentro de while en el foro de PHP en Foros del Web. Tengo una consulta la cual me debuelve registros de nombres y pues imprimo los regitros con un while. Código PHP: <?php  while( $row_return  =  mysql_fetch_array ...
  #1 (permalink)  
Antiguo 30/09/2013, 14:42
 
Fecha de Ingreso: julio-2013
Mensajes: 158
Antigüedad: 10 años, 9 meses
Puntos: 6
Pregunta Problema con if dentro de while

Tengo una consulta la cual me debuelve registros de nombres y pues imprimo los regitros con un while.

Código PHP:
<?php while($row_return mysql_fetch_array($return$result_type MYSQL_BOTH)) { 
    if (
$row_return['idUser'] == $_SESSION['MM_User']) {
        echo 
"tu,"
    }
        if (
$row_return['idUser'] != $_SESSION['MM_User']) {
            echo 
$row_return['Name']." ".$row_return['SurNames'];
    }

?>
Bien vasicamente lo que quiero es esto si el usuario esta en la tabla me muestre tu en primer lugar, en segundo lugar el nombre completo de las demas personas de la lista.

mi problema esque si el usuario esta en el primer registro si me funciona, pero si el usuario esta en el registro numero 20, tu me lo muestra en la pocision 20 cuando lo quiero primero.

Viendolo bien descubri el porque pero no como solucionarlo, el porque es porque busca el if por registro me explico en el primer registro busca la primera condicion si no se cumple, salta a la siguiente, por lo tanto si el usuario que esta en session no esta en el primer registro mostrara el nombre del primer usuario, por lo que si el usuario logueado o session como quieran llamarlo esta despues de 20 registros no mostrara tu asta despues de los registros donde ya comprobo la condicion.

Si pudieran ayudarme agradeceria bastante.
  #2 (permalink)  
Antiguo 30/09/2013, 14:45
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Problema con if dentro de while

Hay varias formas de abordar el problema, una es recorrer los datos de la bd, guardarlos en un arreglo al tiempo que se revisa si el usuario está en la tabla.

Luego se recorre este arreglo para mostrarlo en pantalla.

Otra opción es primero consultar mediante una sentencia si el usuario está en los datos que consultas.
  #3 (permalink)  
Antiguo 30/09/2013, 15:00
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Problema con if dentro de while

La segunda condicion esta "demas" ya que poniendo un "else" te ahorras codigo innecesario ej:

Código PHP:
Ver original
  1. if($foo==$bar){
  2. echo $foo;
  3. }
  4. if($foo != $bar){
  5. echo $foo,$bar;
  6. }
Es maa corto asi

Código PHP:
Ver original
  1. if($foo==$bar){
  2. echo $foo;
  3. }else{
  4. echo $foo,$bar;
  5. }
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #4 (permalink)  
Antiguo 30/09/2013, 15:18
 
Fecha de Ingreso: julio-2013
Mensajes: 158
Antigüedad: 10 años, 9 meses
Puntos: 6
Respuesta: Problema con if dentro de while

SkAr88 gracias pero ya lo sabia lo ise para que se explicara mejor xD, ocp001a en una sentencia tendria que poner otra consulta cierto? pero no es muy fiable ya que en el proyecto la velocidad lo es todo, pero si no me queda de otra, probare con un arreglo gracias.

Etiquetas: mysql, registro, tabla
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:03.