Desplegar consulta de bd en una página
Hola, soy nuevo en esto.
Necesito desplegar una lista, en una tabla o grid, algo parecido.
de una consulta específica. Los datos solo los tengo en la BD. y necesito desplegar un select * from tabla.
Hay algún módulo para desplegar esto?
Algo que me puedan recomendar.
Estuve viendo el módulo views, pero creo que no me sirve.
Alguien me pudiera recomendar qué hacer, o algún tutorial?
Gracias.
Saludos
- Inicie sesión o regístrese para enviar comentarios

respuesta desplegar consulta de bd
1. Necesitas poder usar php en tus páginas para poder ejecutar tus consultas. Habilita el módulo php. Ahora te va a aparecer una nueva opción en formatos de entrada cuando crees tus páginas.
2. En la página que va a mostrar tu contenido elige formato de entrada php
3. escribe una consulta sql normal para buscar tu contenido
la única diferencia con el sql estándar es que debes presentar los nombres de las tablas entre corchetes ej:
$query = "SELECT * FROM {nombre_de_la_tabla} WHERE lista_condiciones";ten cuidado de no poner ; terminador dentro de la sentencia y si, luego de ella para indicar fin de línea en php
4 para ejecutar la sentencia tienes dos funciones del API de drupal: db_query() y db_query_range() su uso depende de cuantos elementos de la tabla quieras mostrar: si los vas a mostrar todos usas db_query() y si vas a mostrar por bloques usas db_query_range(). y para recorrer tu consulta usas la función del API de drupal db_fetch_object(). (Esto ya se puso agotador. Hace falta un ejemplo) ejemplo:
<?php
/* ejemplo de consultas */
$query = "SELECT * FROM {nombre_de_la_tabla} WHERE lista_condiciones";
// consulta global
$query_result_1 = db_query($query);
// consulta restringida para mostrar sólo una parte
$inicio = algun_numero; // puede ser 0 para mostrar desde el principio
$cuantos = otro_numero;
$query_result_2 = db_query_range($query, $inicio, $cuantos);
// ahora una salida a una tabla uso $query_result_1_o_2 para referirme a los dos casos
$lineas = array(); // para recoger los datos
while ($registro = db_fetch_object($query_result_1_o_2){
$linea = "<tr>" // reinicia la línea en cada paso del loop
$linea .= "<td>" . $registro->nombrecampo1 . "</td>";
$linea .= "<td>" . $registro->nombrecampo2 . "</td>";
//... siguen otros campos (observa el uso de .= para agregar)
$linea .= "<td>" . $registro->nombrecampoN . "</td>";
// agregar la línea al array preparado para contener la salida
$lineas[] = $linea . "</tr>";
}
$tabla = "<table>" . implode("", $lineas) . "</table>";
// ahora muestro el resultado
echo $tabla;
?>
Ahora si necesitas mostrar paginada la consulta por bloques de n registros y que el visitante pueda avanzar en ellos e ir a un bloque arbitrario ej (pg 50 de 75) mostrando 15 registros cada vez, puedes usar un módulo que escribí: lo llamo barradenavegacion y es totalmente funcional pero se encuentra en estado beta y no está disponible en el sitio drupal.
Si deseas probarlo responde a este comentario y te envío una copia del código fuente.
Espero haber sido de utilidad