Foros del Web » Programando para Internet » PHP »

problemas con if o while

Estas en el tema de problemas con if o while en el foro de PHP en Foros del Web. hola amigos veran... estuve realizando una web en php pero con coordenadas echas en php con mysql... lo que pasa es lo siguiente, yo estoy ...
  #1 (permalink)  
Antiguo 08/12/2012, 11:25
 
Fecha de Ingreso: mayo-2010
Mensajes: 215
Antigüedad: 13 años, 11 meses
Puntos: 4
Pregunta problemas con if o while

hola amigos veran... estuve realizando una web en php pero con coordenadas echas en php con mysql...

lo que pasa es lo siguiente, yo estoy haciendo algo mas o menos asi

-----x-------------x-----
x------------------------
--------------------------

supongamos que las X son la gente en linea como una tabla de coordenadas

el problema es el siguiente...
que cuando yo le pongo "if" para la consulta de usuarios en linea solo las coordenadas sale 1 usuario reconocido ...
-----x-------------------
--------------------------
--------------------------

y cuando le pongo while sale asi :

-----x-------------------
-------------------------
--------------------------

-------------------x-----
-------------------------
--------------------------


--------------------------
x------------------------
---------------------------


se repiten las tablas por los numeros de usuarios que salen en linea con sus coordenadas... hay alguna manera de poder evitarlo ? para que el contenido salga todo en 1 ? agradezco de antemano su ayuda
  #2 (permalink)  
Antiguo 08/12/2012, 11:29
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problemas con if o while

Si nos muestras el código que estás utilizando será más fácil ayudarte.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 08/12/2012, 11:41
 
Fecha de Ingreso: mayo-2010
Mensajes: 215
Antigüedad: 13 años, 11 meses
Puntos: 4
Respuesta: problemas con if o while

Código PHP:
<? $qmnews2 = @mysql_query("SELECT * FROM users_online  limit 0,20");
if(
$userid mysql_fetch_array($qmnews2)){ ?>
eso uso para identificar a los usuarios en linea ... respectivamente en la tabla de coordenadas cada tabla tiene una coordenada algo asi :


Código PHP:
<table width="87" border="1">
  <tr>
    <td width="28"><? if($userid[x]='1' and  $userid[y]='2'){echo'usuario1';}?></td>
    <td width="43"><? if($userid[x]='2' and  $userid[y]='2'){echo'usuario2';}?></td>
  </tr>
  <tr>
    <td><? if($userid[x]='1' and  $userid[y]='1'){echo'usuario3';}?></td>
    <td><? if($userid[x]='2' and  $userid[y]='1'){echo'usuario4';}?></td>
  </tr>
</table>
  #4 (permalink)  
Antiguo 08/12/2012, 12:14
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problemas con if o while

Aún faltan datos. De todos modos, puedes guardar los usuarios y las coordenadas en una variable, y luego imprimir la tabla de una vez a partir de esa variable.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 08/12/2012, 12:31
 
Fecha de Ingreso: mayo-2010
Mensajes: 215
Antigüedad: 13 años, 11 meses
Puntos: 4
Respuesta: problemas con if o while

Cita:
Iniciado por David Ver Mensaje
Aún faltan datos. De todos modos, puedes guardar los usuarios y las coordenadas en una variable, y luego imprimir la tabla de una vez a partir de esa variable.
mira solo hay una tabla que se llama users_online con las siguientes tablas

user | x | y <-- tablas
---------------- <-- datos
user1 | 1 | 1
user2 | 2 | 1



las coordenadas son la tabla que puse ... y el usuario es colocado dependiendo a su coordenada gravada en la tabla de arriba como vez en X y Y nada mas :)
  #6 (permalink)  
Antiguo 08/12/2012, 12:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problemas con if o while

Me refiero a la tabla HTML, debes imprimirla una sola vez ya teniendo los datos de coordenadas de todos los usuarios que quieres mostrar. ¿Cómo habías intentado con el while? ¿Puedes mostrarnos?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 08/12/2012, 12:45
 
Fecha de Ingreso: mayo-2010
Mensajes: 215
Antigüedad: 13 años, 11 meses
Puntos: 4
Respuesta: problemas con if o while

Cita:
Iniciado por David Ver Mensaje
Me refiero a la tabla HTML, debes imprimirla una sola vez ya teniendo los datos de coordenadas de todos los usuarios que quieres mostrar. ¿Cómo habías intentado con el while? ¿Puedes mostrarnos?
bueno brother yo lo hice asi u.u fue la unica manera que se me ocurrio

Código PHP:
<? $qmnews2 = @mysql_query("SELECT * FROM users_online  limit 0,20"); 
while(
$userid mysql_fetch_array($qmnews2)){ ?>

<table width="87" border="1"> 
  <tr> 
    <td width="28"><? if($userid[x]='1' and  $userid[y]='2'){echo $userid[user];}?></td> 
    <td width="43"><? if($userid[x]='2' and  $userid[y]='2'){echo $userid[user];}?></td> 
  </tr> 
  <tr> 
    <td><? if($userid[x]='1' and  $userid[y]='1'){echo $userid[user];}?></td> 
    <td><? if($userid[x]='2' and  $userid[y]='1'){echo $userid[user];}?></td> 
  </tr> 
</table>
<? ?>
ahi es que si tengo 3 usuarios en linea la tabla se repite 3 veces... y si pongo en vez de WHILE ... pongo IF solo sale una vez pero no reconoce a los 3 en linea solo a 1 ....
  #8 (permalink)  
Antiguo 08/12/2012, 13:02
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problemas con if o while

Me refería a algo como:
Código PHP:
Ver original
  1. $users = array(1 => array(), 2 => array());
  2. while($userid = mysql_fetch_array($qmnews2)){
  3.     $users[$userid['x']][$userid['y']] = $userid['user'];
  4. }
Código PHP:
Ver original
  1. <table width="87" border="1">
  2.   <tr>
  3.     <td width="28"><?php echo $users[1][1]; ?></td>
  4.     <td width="43"><?php echo $users[1][2]; ?></td>
  5.   </tr>
  6.   <tr>
  7.     <td><?php echo $users[2][1]; ?></td>
  8.     <td><?php echo $users[2][2]; ?></td>
  9.   </tr>
  10. </table>
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 08/12/2012, 13:08
 
Fecha de Ingreso: mayo-2010
Mensajes: 215
Antigüedad: 13 años, 11 meses
Puntos: 4
Respuesta: problemas con if o while

Cita:
Iniciado por David Ver Mensaje
Me refería a algo como:
Código PHP:
Ver original
  1. $users = array(1 => array(), 2 => array());
  2. while($userid = mysql_fetch_array($qmnews2)){
  3.     $users[$userid['x']][$userid['y']] = $userid['user'];
  4. }
Código PHP:
Ver original
  1. <table width="87" border="1">
  2.   <tr>
  3.     <td width="28"><?php echo $users[1][1]; ?></td>
  4.     <td width="43"><?php echo $users[1][2]; ?></td>
  5.   </tr>
  6.   <tr>
  7.     <td><?php echo $users[2][1]; ?></td>
  8.     <td><?php echo $users[2][2]; ?></td>
  9.   </tr>
  10. </table>

con ese codigo que me has pasado vere que puedo hacer ...y tambien te digo esto

no qiuero que cada funcion pida la tabla osea evitar esto :

Código PHP:
<table width="87" border="1">  
  <tr>  
    <td width="28"><? $qmnews2 = @mysql_query("SELECT * FROM users_online");  
if(
$userid mysql_fetch_array($qmnews2)){  if($userid[x]='1' and  $userid[y]='2'){echo $userid[user];} }?></td>  
    <td width="43"><? $qmnews2 = @mysql_query("SELECT * FROM users_online");  
if(
$userid mysql_fetch_array($qmnews2)){  if($userid[x]='2' and  $userid[y]='2'){echo $userid[user];} }?></td>  
  </tr>  
  <tr>  
    <td><? $qmnews2 = @mysql_query("SELECT * FROM users_online");  
if(
$userid mysql_fetch_array($qmnews2)){  if($userid[x]='1' and  $userid[y]='1'){echo $userid[user];} }?></td>  
    <td><? $qmnews2 = @mysql_query("SELECT * FROM users_online");  
if(
$userid mysql_fetch_array($qmnews2)){  if($userid[x]='2' and  $userid[y]='1'){echo $userid[user];} }?></td>  
  </tr>  
</table>


si no haga una sola consulta sin que repita la tabla a cada ratos
  #10 (permalink)  
Antiguo 08/12/2012, 14:06
 
Fecha de Ingreso: mayo-2010
Mensajes: 215
Antigüedad: 13 años, 11 meses
Puntos: 4
Exclamación Respuesta: problemas con if o while

Cita:
Iniciado por David Ver Mensaje
Me refería a algo como:
Código PHP:
Ver original
  1. $users = array(1 => array(), 2 => array());
  2. while($userid = mysql_fetch_array($qmnews2)){
  3.     $users[$userid['x']][$userid['y']] = $userid['user'];
  4. }
Código PHP:
Ver original
  1. <table width="87" border="1">
  2.   <tr>
  3.     <td width="28"><?php echo $users[1][1]; ?></td>
  4.     <td width="43"><?php echo $users[1][2]; ?></td>
  5.   </tr>
  6.   <tr>
  7.     <td><?php echo $users[2][1]; ?></td>
  8.     <td><?php echo $users[2][2]; ?></td>
  9.   </tr>
  10. </table>
gracias David !! hice todo el cambio a mis codigos me fue algo dificil pero me funciono :)! gracias.

Etiquetas: mysql, tabla, usuarios
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 02:35.