Emular while($col=mysql_fetch_array($resp)) con FOR

Iniciado por Graphixx, 16 Noviembre 2012, 15:48 PM

0 Miembros y 1 Visitante están viendo este tema.

Graphixx

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

algo asi:
Código (php) [Seleccionar]

$resf = mysql_num_rows($resp);
$resc = mysql_num_rows($resp_cr);

//optenemos el limite mas grande de entre las dos consultas
if($resf > $resc){

$limite=$resf
$ban = "f";
}else{
$ban = "c";
$limite=$resc
}

$col=mysql_fetch_array($resp)
$col_cr=mysql_fetch_array($resp_cr)
//recorremos el maximo de resultados
for ($i = 0; $i <= $limite; $i++) {
   
if($ban=="f"){
//limitar cr
if($i<=$resc){
//dibujamos fila cr

}
}

if($ban=="c"){
//limitar fr
if($i<=$resf){
//dibujamos fila fr
}
}

}//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.
Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog

dimitrix

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.




dimitrix

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

Código (php-brief) [Seleccionar]

<?php
$res
=mysql_query("SELECT * FROM tabla");
$count=mysql_num_rows($res);

for(
$i=0;$count!=$i;$i++){
$valores=mysql_fetch_array($res);
};
?>


Espero que sea lo que buscas^^




Graphixx

#3
lo que llevo es algo asi:

Código (php) [Seleccionar]

//optenemos el limite mas grande de entre las dos consultas
if($resultados_totales > $resultados_totales_cr){
$ban = "f";
}elseif($resultados_totales < $resultados_totales_cr){
$ban = "c";
}else{$ban = "c";}
   
if($ban=="f"){
//limitar cr

   for($s=0;@$col=mysql_fetch_array($resp);$s++){

//dibuja f
echo "<br />fr";

if($sent<$resultados_totales_cr){
//dibuja c
@$col_cr=mysql_fetch_array($resp_cr);
echo "<br />";
}

}

}elseif($ban=="c"){
//limitar fr  
   for($s=0;@$col_cr=mysql_fetch_array($resp_cr);$s++){

//dibuja c
echo "<br />";

if($sent<$resultados_totales-1){
//dibuja f
@$col = mysql_fetch_array($resp);
   echo "<br />";
   }
}

}


Me autorespondi tambien:
http://foro.elhacker.net/php/paginacion_salteada_entre_dos_tablas-t376054.0.html
Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog