elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Emular while($col=mysql_fetch_array($resp)) con FOR
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Emular while($col=mysql_fetch_array($resp)) con FOR  (Leído 3,389 veces)
Graphixx


Desconectado Desconectado

Mensajes: 1.336


Full Stack Developer


Ver Perfil WWW
Emular while($col=mysql_fetch_array($resp)) con FOR
« en: 16 Noviembre 2012, 15:48 pm »

alguna idea de como recorrer un resultado mysql en vez de con:
while($col=mysql_fetch_array($resp))

algo asi:
Código
  1. $resf = mysql_num_rows($resp);
  2. $resc = mysql_num_rows($resp_cr);
  3.  
  4. //optenemos el limite mas grande de entre las dos consultas
  5. if($resf > $resc){
  6.  
  7. $limite=$resf
  8. $ban = "f";
  9. }else{
  10. $ban = "c";
  11. $limite=$resc
  12. }
  13.  
  14. $col=mysql_fetch_array($resp)
  15. $col_cr=mysql_fetch_array($resp_cr)
  16. //recorremos el maximo de resultados
  17. for ($i = 0; $i <= $limite; $i++) {
  18.  
  19. if($ban=="f"){
  20. //limitar cr
  21. if($i<=$resc){
  22. //dibujamos fila cr
  23.  
  24. }
  25. }
  26.  
  27. if($ban=="c"){
  28. //limitar fr
  29. if($i<=$resf){
  30. //dibujamos fila fr
  31. }
  32. }
  33.  
  34. }//fin for

es que quiero unir dos consultas mysql en una sola.
algo asi como supongamos tengo un vector de 5 resultados y otro de 3
quiero que recorriendo el mayor, ir mostrando tambien el menor, controlando que el menor no se salga de rango.


En línea

Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx Rōninnovation
dimitrix


Desconectado Desconectado

Mensajes: 4.847



Ver Perfil WWW
Re: Emular while($col=mysql_fetch_array($resp)) con FOR
« Respuesta #1 en: 16 Noviembre 2012, 17:12 pm »

mysql_fetch_array te crea dos arrays, puedes sacar con el mysql_num_rows la cantidad de elementos que tienes y luego con el for los recorres... Ahora estoy muy distraido pero si nadie te ayuda esta noche me intentaré ayudarte ;-)

Sólo recuerdamelo.


En línea




dimitrix


Desconectado Desconectado

Mensajes: 4.847



Ver Perfil WWW
Re: Emular while($col=mysql_fetch_array($resp)) con FOR
« Respuesta #2 en: 16 Noviembre 2012, 17:19 pm »

Vale, tardé 6 minutos que me cambié de PC pero funciona sin problemas, comprobado.

Código
  1. <?php
  2. $res=mysql_query("SELECT * FROM tabla");
  3. $count=mysql_num_rows($res);
  4.  
  5. for($i=0;$count!=$i;$i++){
  6. $valores=mysql_fetch_array($res);
  7. };
  8. ?>

Espero que sea lo que buscas^^
En línea




Graphixx


Desconectado Desconectado

Mensajes: 1.336


Full Stack Developer


Ver Perfil WWW
Re: Emular while($col=mysql_fetch_array($resp)) con FOR
« Respuesta #3 en: 16 Noviembre 2012, 18:14 pm »

lo que llevo es algo asi:

Código
  1. //optenemos el limite mas grande de entre las dos consultas
  2. if($resultados_totales > $resultados_totales_cr){
  3. $ban = "f";
  4. }elseif($resultados_totales < $resultados_totales_cr){
  5. $ban = "c";
  6. }else{$ban = "c";}
  7.  
  8. if($ban=="f"){
  9. //limitar cr
  10.  
  11.    for($s=0;@$col=mysql_fetch_array($resp);$s++){
  12.  
  13. //dibuja f
  14. echo "<br />fr";
  15.  
  16. if($sent<$resultados_totales_cr){
  17. //dibuja c
  18. @$col_cr=mysql_fetch_array($resp_cr);
  19. echo "<br />";
  20. }
  21.  
  22. }
  23.  
  24. }elseif($ban=="c"){
  25. //limitar fr  
  26.    for($s=0;@$col_cr=mysql_fetch_array($resp_cr);$s++){
  27.  
  28. //dibuja c
  29. echo "<br />";
  30.  
  31. if($sent<$resultados_totales-1){
  32. //dibuja f
  33. @$col = mysql_fetch_array($resp);
  34.    echo "<br />";
  35.    }
  36. }
  37.  
  38. }

Me autorespondi tambien:
http://foro.elhacker.net/php/paginacion_salteada_entre_dos_tablas-t376054.0.html
« Última modificación: 16 Noviembre 2012, 18:17 pm por Graphixx » En línea

Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx Rōninnovation
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con mysql_fetch_array()
PHP
[KMT] 5 3,219 Último mensaje 4 Abril 2007, 11:20 am
por Luisango
Error mysql_fetch_array... « 1 2 »
PHP
Noxors 12 5,843 Último mensaje 30 Mayo 2008, 17:22 pm
por Noxors
error con mysql_fetch_array « 1 2 3 »
PHP
Og. 20 9,211 Último mensaje 27 Julio 2009, 21:25 pm
por Hadess_inf
Ayuda con mysql_fetch_array « 1 2 »
Bases de Datos
royerphpmysql 14 7,598 Último mensaje 17 Noviembre 2010, 04:53 am
por royerphpmysql
ayuda mysql_fetch_array en php
Desarrollo Web
General Dmitry Vergadoski 2 1,789 Último mensaje 23 Diciembre 2013, 22:50 pm
por General Dmitry Vergadoski
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines