Foros del Web » Programando para Internet » PHP »

¿Crear una lista/menu de series?

Estas en el tema de ¿Crear una lista/menu de series? en el foro de PHP en Foros del Web. Buenos dias a todos... Lo que quiero, y no se de que forma hacerlo es crear un menu o lista... Algo que por ejemplo yo ...
  #1 (permalink)  
Antiguo 09/05/2009, 11:26
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 5 meses
Puntos: 21
Pregunta ¿Crear una lista/menu de series?

Buenos dias a todos...

Lo que quiero, y no se de que forma hacerlo es crear un menu o lista...

Algo que por ejemplo yo tengo en la tabla 'id' 'nombre' 'categoria' - (categoria seria a,b,c,d)

Bueno, y que el menu este separado alfabeticamente, en la letra "A" solo aparecen las series que empiezan con "A" y asi, la verdad que soy nuevo en esto, y con mi corto conocimiento la unica forma posible que le vi, seria hace 26 querys(si es que se puede, no se).

Aunque no se si haya algun tipo de funcion con la que yo pueda tomar todo el contenido de la tabla (todas las series, a-z) y separar las que comienzan con "A" en una variable y así.

De antemano, muchas gracias ^^
  #2 (permalink)  
Antiguo 09/05/2009, 17:18
Avatar de AnesGy  
Fecha de Ingreso: mayo-2009
Mensajes: 518
Antigüedad: 15 años
Puntos: 19
Respuesta: ¿Crear una lista/menu de series?

Haz un query que saque todas los registros (si solo quieres los de una categoría, pues no saques el resto). Luego haz 26 (mas una si incluyes la ñ y mas otra si incluyes carácteres especiales como números y demás) arrays (o una matriz de arrays, solución que me gusta más.)

Si haces 26 matrizes tienes que usar nombres de variable dinámicos:

Código:
$matriz{$id_de_matriz}
Por tanto si $id_de_matriz vale 1, se referirá a la variable $matriz1

Si no, usa índices

Código:
$matrices[$id_de_matriz]
Por tanto si $id_de_matriz vale 1, se referirá al elemento de la matriz 1.


Las matrices pueden contener matrices dentro, ergo, explicaré el método de las matrices:

para crear la supermatriz ($matriz):

Código PHP:
$matriz=array("0-9" => array(),"Ñ"=>array()); //Así se tiene el elemento de los carácteres especiales y el de las Ñ.
//Si no se inicia la matriz $matriz vacía.
for ($i=0;$i<26;$i++){
 
$matriz[chr(65+$i)]=array(); //Crea con chr(codio ASCII) el índice del sistema.

Con esto ya tenemos el sistema casi hecho ahora:

Código PHP:
$result mysql_query($query,$link);//en $query está la pesquisa a la base de datos y en $link el identificador de enlace.
while($row=mysql_fetch_assoc($result)){//Estraemos elemento a elemento
 
$identificador strtoupper(substr(row['nombre'],0,1));//Cogemos el primer carácter
 
if(preg_match('/([A-ZÑ])/',$identificador) = 0){$identificador="0-9";}
 
//Con expresiones regulares comprobamos que el identificador sea correcto.
 
$matriz[$identificador][$row['id']=$row;
 
//o bien:
 //$matriz[$identificador][$row['nombre']=$row;

Para mostrar los datos haces un foreach($matriz[$id] as $j) y te saldrán los datos fluidamente.
  #3 (permalink)  
Antiguo 09/05/2009, 19:48
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 5 meses
Puntos: 21
Respuesta: ¿Crear una lista/menu de series?

Ahh..bueno, muchas gracias por tu respuesta, me ah ayudado muchisimo ^^
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 14:31.