Foros del Web » Programando para Internet » PHP »

optimizacion de codigo php

Estas en el tema de optimizacion de codigo php en el foro de PHP en Foros del Web. hola, hice un codigo de paginacion de resultados para mi web y llegue a esto: <? $result=mysql_query("select count(*) from descarga where tip=4",$link); $totreg=mysql_result($result,0); $totpag= $totreg ...
  #1 (permalink)  
Antiguo 06/01/2004, 00:08
Avatar de nachopro  
Fecha de Ingreso: noviembre-2003
Ubicación: Haedo, Bs. As.
Mensajes: 290
Antigüedad: 14 años
Puntos: 2
optimizacion de codigo php

hola, hice un codigo de paginacion de resultados para mi web y llegue a esto:
<?
$result=mysql_query("select count(*) from descarga where tip=4",$link);
$totreg=mysql_result($result,0);
$totpag= $totreg / 10;
$pag = ceil($totpag);
$d = array();
$dpag[1] = "| <a href='?d=0'>1-10</a> |";
$dpag[2] = "| <a href='?d=0'>1-10</a> | <a href='?d=10'>11-20</a> |";
echo $dpag[$pag];
?>

y funciona a la perfeccion, el tema es que el array $dpag va a ser muuuuy pesado cuando llegue por ejemplo a listar 100 elementso.... como se les ocurre que pueda hacerllo???
muchas gracias, saludos!
  #2 (permalink)  
Antiguo 06/01/2004, 00:30
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
Cambia el count(*) por las celdas que forzosamente estás usando, porque lo que haces en esta condición es bajar TODA la tabla.
  #3 (permalink)  
Antiguo 06/01/2004, 09:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Mensaje Original por lado2mx
Cambia el count(*) por las celdas que forzosamente estás usando, porque lo que haces en esta condición es bajar TODA la tabla.
No entendí ...

COUNT(*) (de Mysql) te devuelve un "record-set" con un sólo registro/campo que tiene el "total" de coincidencias de esa consulta (bajo ese WHERE que hay ...).

Peor sería hacer un mysql_num_rows() para ese caso concreto donde se obtendría todaaa la consulta para luego sòlo "contar" los registros arrojados. (de ese record-set: consulta)

Un saludo,
  #4 (permalink)  
Antiguo 06/01/2004, 12:15
Avatar de nachopro  
Fecha de Ingreso: noviembre-2003
Ubicación: Haedo, Bs. As.
Mensajes: 290
Antigüedad: 14 años
Puntos: 2
perdooon

lo que quiero optimizar es el tema de las viariable $dpag
porque tengo que hacer algo asi:
<?
$totreg=mysql_result($result,0);
$totpag= $totreg / 10;
$pag = ceil($totpag);
$d = array();
$dpag[1] = "| <a href='?d=0'>1-10</a> |";
$dpag[2] = "| <a href='?d=0'>1-10</a> | <a href='?d=10'>11-20</a> |";
$dpag[3] = "| <a href='?d=0'>1-10</a> | <a href='?d=10'>11-20</a> | <a href='?d=20'>21-30</a> |";
$dpag[4] = "| <a href='?d=0'>1-10</a> | <a href='?d=10'>11-20</a> | <a href='?d=20'>21-30</a> | <a href='?d=30'>31-40</a> |";
echo $dpag[$pag];
?>
y asi toooda la vida para que aparescan los links de que resultados ver
  #5 (permalink)  
Antiguo 06/01/2004, 12:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usa un bucle for() con saltos de 10 unidades .. así podrás componer tus links de forma "dinámica".

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 00:06.