Foros del Web » Programando para Internet » PHP »

problemas con condicionales if dentro de un while

Estas en el tema de problemas con condicionales if dentro de un while en el foro de PHP en Foros del Web. Buenas foreros, tengo una pregunta Resulta que hago un SELECT a mi base de datos y a traves de un WHILE muestro resultados, dentro de ...
  #1 (permalink)  
Antiguo 13/06/2011, 07:31
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
problemas con condicionales if dentro de un while

Buenas foreros, tengo una pregunta
Resulta que hago un SELECT a mi base de datos y a traves de un WHILE muestro resultados, dentro de ese while hago unos condicionales if para tener en cuenta ala hora de mostrar los resultados
Pero tengo un problema y es que dentro de los if no me arroja los resultados que se arrojan dentro del while...

Explico mejor con el codigo:

Código PHP:
Ver original
  1. <?php
  2. $sql="SELECT.......... FROM ......";
  3. $obj->consulta($sql);
  4. $numfilas = $obj->numFilas();
  5. $registros[0][0]="";
  6.  
  7. while($i<$numfilas)
  8. {
  9.  
  10. //*******aca me muestra todos los valores que recoje en esa posicion *********//
  11. echo $registros[$i][5];
  12.  
  13. //************pero si quiero mostrar eso dentro de un if, no lo muestra**********//
  14. if(($registros[$i][3]==1)  && ($registros[$i][6]==1) )
  15.         {
  16.         echo $registros[$i][5]; //Aca no muestra nada
  17.  
  18.     }
  19.  
  20.  
  21. }
  22.  
  23. ?>

Efectivamente se que cuando (($registros[$i][3]==1) && ($registros[$i][6]==1) el valor de $registros[$i][5], es vacio
Pero requiero mostrar el valor que si se muestra dentro del while, una solución que me funciona es realizar una nueva
dentro del condicional, pero son mas de 5 condicionales.....Consumo de mucho servidor...De que manera podria mostrar
el valor de $registros[$i][5], sin necesidad de tener que repetir mi consulta dentro de cada if?
Agradezco me puedan orientar, muchas gracias
  #2 (permalink)  
Antiguo 13/06/2011, 07:40
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: problemas con condicionales if dentro de un while

y bueno si no se cumple la condicion nunca la va a mostrar!
y no veo definido el $i
  #3 (permalink)  
Antiguo 13/06/2011, 07:47
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: problemas con condicionales if dentro de un while

Si eso es cierto, el $i se me olvido colocarlo, pero si lo tengo
Entonces, tendria que hacer el mismo SELECT dentro de cada if?

Donde podria hacer un solo SELECT para que cada if me recoja ese valor?

Por ejemplo tengo:

Código PHP:
Ver original
  1. if(($registros[$i][3]==1) && ($registros[$i][6]==1) )
  2. {
  3. $sql="SELECT .... FROM .....";
  4.  echo $registros[$i][5]; //Aca si me muestra
  5.  
  6. }
  7.  
  8.  
  9. if(($registros[$i][3]==2) && ($registros[$i][6]==3) )
  10.  {
  11.  
  12. $sql="SELECT .... FROM .....";
  13.  
  14.  echo $registros[$i][5]; //Aca si muestra
  15.  
  16.  }

Tendria que hacerlo dentro de cada if, se puede hacer un solo select que me pase el valor de $registros[$i][5] a cada if?
  #4 (permalink)  
Antiguo 13/06/2011, 07:50
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: problemas con condicionales if dentro de un while

no entiendo por que recorres asi los datos?
estas usando mysql_fetch_row??
  #5 (permalink)  
Antiguo 13/06/2011, 08:10
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: problemas con condicionales if dentro de un while

Si, pero con sql server...
  #6 (permalink)  
Antiguo 13/06/2011, 08:11
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: problemas con condicionales if dentro de un while

sqlsrv_fetch_array, lo que pasa es que el campo $registros[$i][5], me recoje una formula que a medida que valla cambiando de campo, debe irse ejecutando, por eso debo pasar con un evento Onblur todos os valores de esa posicion
  #7 (permalink)  
Antiguo 13/06/2011, 08:14
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: problemas con condicionales if dentro de un while

y no podes acceder directamente con el nombre del campo

ej:
echo $registros['nombre_campo'];

y para saber la cantidad de resgistros esta mysql_num_rows seguro que esta el equivalente
mssql_num_rows buscalo
  #8 (permalink)  
Antiguo 13/06/2011, 08:29
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: problemas con condicionales if dentro de un while

es sqlsrv_num_rows

Si claro tambien los puedo mostrar asi......de cualquiera de las dos formas puedo, me muestra igual....
Pero ps aun no logro solucionar el problema, no quiero repetir la consulta......

Etiquetas: condicionales
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 10:56.