Foros del Web » Programando para Internet » PHP »

La mejor forma de hacer esto Dinamicamente

Estas en el tema de La mejor forma de hacer esto Dinamicamente en el foro de PHP en Foros del Web. hola que tal haber si me pueden dar una hayudadita estoy utilizando esto para hacer una lista por abecedario que aparecera en la cabecera de ...
  #1 (permalink)  
Antiguo 08/09/2008, 12:59
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
La mejor forma de hacer esto Dinamicamente

hola que tal haber si me pueden dar una hayudadita
estoy utilizando esto para hacer una lista por abecedario
que aparecera en la cabecera de la tabla
Código PHP:
$abc=array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A1','B1','C1','D1','E1','F1','G1','H1','I1','J1','K1','L1','M1','N1','O1','P1','Q1','R1','S1','T1','U1','V1','W1','X1','Y1','Z1'); 
     for($z=0;$z<$num2;$z++){ 
    ?>
    <td width="23"><?= $abc[$z];?></td>
    <?
si se fijan esto no es nada dinamico JAJAJAJa
a hi necesito de su hayuda de como hacer esto dinamico.
Que me aparesca el abecedario o A a la Z o si pasa de la Z seguirle hasta donde llegue. Porque si me aparece un total de registros de 60
me va amostrar de la A hasta Z1 y los demas vacios.
$num2 es el total de registros de una consulta anterior

alguna sugerencia....
  #2 (permalink)  
Antiguo 08/09/2008, 13:34
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: La mejor forma de hacer esto Dinamicamente

Código PHP:
<?php
for($i=A$i!=AA$i++) {
echo 
$i.'<br>';
}
?>
Intentalo ;)
  #3 (permalink)  
Antiguo 08/09/2008, 15:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: La mejor forma de hacer esto Dinamicamente

O en dado caso:
Código PHP:
foreach(range('A','Z') as $letter) {
      echo 
$letter "<br />";

Saludos.
  #4 (permalink)  
Antiguo 08/09/2008, 15:23
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
Respuesta: La mejor forma de hacer esto Dinamicamente

pues si en ese caso es si tengo 29 registros pero si tengo mas que hago como lo soluciono

gracias alguna otra respuesta gracias??
  #5 (permalink)  
Antiguo 08/09/2008, 15:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: La mejor forma de hacer esto Dinamicamente

En ese caso conforme vas recorriendo tu ciclo, puedes usar chr, y asi ir leyendo caracter por caracter (solo empieza desde la A).

Código PHP:
$start "A";
while(
$registros) {
      echo 
$start "<br />";
      
$start++;

Claro deberias de implementar una función que cheque si llegaste a Z, entonces agregar el número, etc.

Saludos.
  #6 (permalink)  
Antiguo 08/09/2008, 15:52
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
Respuesta: La mejor forma de hacer esto Dinamicamente

OK gracias pues voy a probar...
  #7 (permalink)  
Antiguo 08/09/2008, 15:58
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
Respuesta: La mejor forma de hacer esto Dinamicamente

pues no me quedo de otra mas que hacer esto
si mi numero de registros es menor a 26 que utilice letras y si es mayor utilice numeros del 1 al 1000

if($res>26)
{
foreach(range('1','1000') as $abv)
{
$abc[]=$abv;
} //fin foreach

}
else{
foreach(range('A','Z') as $abv2)
{
$abc[]=$abv2;
} //fin foreach
} //fin if num2 > 26

gracias por todo
no esta muy estetico o como yo hubiera querido pero tambien esta bien...
me soluciona mi problema
porque enumero las columnas para identificar el numero de columna con otra tabla
por ejemplo columna A en otra tabla muestro cantidades de esa columna

pero bueno gracias ....
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 04:43.