Foros del Web » Programando para Internet » PHP »

Hacer un indice para glosario de términos

Estas en el tema de Hacer un indice para glosario de términos en el foro de PHP en Foros del Web. Hola amigos. Deseo realizar una especie de indice alfabetico de una lista de términos con su significado, la DB la tengo lista, la inserción, edición ...
  #1 (permalink)  
Antiguo 28/11/2003, 10:51
Avatar de TheRock  
Fecha de Ingreso: mayo-2002
Ubicación: Sucre - Bolivia
Mensajes: 189
Antigüedad: 21 años, 10 meses
Puntos: 0
Hacer un indice para glosario de términos

Hola amigos.

Deseo realizar una especie de indice alfabetico de una lista de términos con su significado, la DB la tengo lista, la inserción, edición y demás.

Lo que necesito es colocar vinculos con las letras del alfabeto de la A hasta la Z donde aparescan lon vínculos activos solo los terminos que se encuentren en mi BD, con 2 campos, termino y siginificado.

Ej. terminos en mi BD: Teclado, Mouse, Monitor

solo deberán aparecer con vinculos activos las letras M y T el resto de las letras sin vínculos.

Como podría hacer una consulta en mi servidor MySQL o mediante PHP para que esto funcione.

Espero su colaboración y les mando un cordial saludo a la distancia.

Gracias
  #2 (permalink)  
Antiguo 28/11/2003, 11:38
 
Fecha de Ingreso: octubre-2003
Mensajes: 37
Antigüedad: 20 años, 6 meses
Puntos: 0
Algo así puede servirte para empezar...

Código PHP:
<?
//Te conectas a la BD

for ($i="a";$i!="aa";$i++){
    
$qry="select count(*) as cuantos from tutabla where termino like '$i%'";
    
$qr=mysql_query($qry);
    
$rs=mysql_fetch_array($qr);
    if (
$rs["cuantos"]>0) {
        echo 
"<a href='pagina.php?letra=$i'>$i</a>";
    } else {
        echo 
$i;
    }
}

?>


(apuesto que no todos sabian que se podía hacer eso con FOR... je je)
  #3 (permalink)  
Antiguo 28/11/2003, 12:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No conocia ese uso del "for" para generar las letras del abecedario.

Podrías poner el ejemplo (sin Mysql por médio a ser posible .. solo: echo $i; sobrá ..) en las FAQ's.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 28/11/2003, 14:02
 
Fecha de Ingreso: octubre-2003
Mensajes: 37
Antigüedad: 20 años, 6 meses
Puntos: 0
Bueno el uso es muy simple,

Código PHP:

<?
for ($i="a";$i!="aa";$i++){
    echo 
$i;
}

?>
El hecho de que ponga !=="aa" en lugar de <="z" es porque con comparaciones lógicas mas complejas (menor o igual) PHP evalúa la respuesta lógica y no el caracter, así que "aa" se convierte en "true" y se hace un loop infinito.



EDITADO:

Para recorrer el abecedario desde una letra hasta otra, puede usarse algo así:

Código PHP:

<?
for ($i="f";$i<"m";$i++){
    echo 
$i;
}

?>

Última edición por nancyBB; 28/11/2003 a las 14:04
  #5 (permalink)  
Antiguo 28/11/2003, 14:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
ok, nancyBB .. eso mismo subelo a una FAQ para que quede para la posteridad xD. (sigue el formato de las FAQ's si la subes: Tema:, Pregunta: .. Respuesta: ...)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 28/11/2003, 14:50
Avatar de TheRock  
Fecha de Ingreso: mayo-2002
Ubicación: Sucre - Bolivia
Mensajes: 189
Antigüedad: 21 años, 10 meses
Puntos: 0
nancy, eso estubo excelente.

Cada dia más me sorprende y me gusta el PHP, ya no se que no es posible hacer en PHP, parece que todo, tan solo está limitado a nuestra imaginación.

Gracias por tu ayuda, saludos a todos los participantes del Foro.
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:31.