query e visualizzazione risultato

7 contenuti / 0 new
Ultimo contenuto
query e visualizzazione risultato

Buongiorno a tutti, mi sono avvicinato da poco a Drupal e a php e sto sbattendo la testa su una questione che potrà sembrare banal, ma di cui sul sito non ho trovato traccia.
banalmente: come visualizzo i risultati di una query su una tabella di mysql (potrebbe tranquillamente essere sullo stesso db di Drupal)? Ne ho lette di ogni, ma una soluzione funzionanete non l'ho trovata.
Ho provato a scrivere il codice direttamente all'interno della pagina ma il miglior risultato finora ottenuto è una pagina bianca, preceduto da una sequenza di 'fatal error' abbastanza seccanti. Il bello è che lo stesso codice eseguito in una pagina in mod 'standalone (fuori da drupal) sembra funzionare...
Se uno degli obiettivi di Drupal è proprio quello di scrivere la minor quantità possibile di codice, possibile non esista un modulo o che sò io che ti permette semplicemente di selezionare una tabella, sceglierne i campi da visualizzare, impostare le ripetizioni di riga, etc?
Grazie 10000

non ho capito: la query la devi eseguire sul db di drupal o su un altro db?
nel primo caso direi che views è senz'altro una soluzione che riduce al minimo il coding: http://drupal.org/project/views
nel secondo caso, ahimè, sono impreparato....

mah, io il modulo views l'ho installato ma il suo funzionamento mi è ancora abbastanza oscuro... l'unica cosa che ho notato è che in nessuno dei tanti parametri gestibili esiste un riferimento a database e/o tabelle.
Non vorrei sbagliarmi, ma credo che views sia utile esclusivamente per interrogazioni sulle tabelle, come dire, 'di sistema', cioè nodi, blocchi, tassonomia, etc.
io invece vorrei interrogare una tabella extra che ho creato nello stesso db di drupal. Tramite codice php ho ottenuto solo errori o pagine bianche, mentre lo stesso codice eseguito fuori drupal funziona benissimo.
Quello che vorrei capire è se esiste uno strumento (un modulo o altro) che permetta di impostare una query su una determinata tabella e successivamente di gestirne la visualizzazione dei risultati.
Per intendersi, un meccanismo simile alla creazione recordset di Dreamweaver (sempre sia lodato): imposti la connessione al db e lui ti mostra tutte le tabelle disponibili, dopodiche imposti la query (su una o più tabelle) e successivamente trascini nella pagina i campi di cui vuoi visualizzare i risultati. Rapido&Efficace.
Esiste qualcosa di simile anche per drupal?
ciao grazie 1000000000

views è un query-builder sviluppato per estrarre i contenuti dal db, in particolare funziona molto bene con CCK di cui è funzionalmente la controparte.
Se dai un'occhiata alle views di default (tipo monthly archive), in basso, sotto l'anteprima c'è una query. Magari puoi prendere spunto da li per costruire una view ad-hoc ed importarla in views...

A parte views, come dicevo, non me ne intendo un gran che di custom queries e gestione di db in generale. :(
ho fatto una rapida ricerca su drupal.org, forse questi thread possono interessarti
http://drupal.org/node/257651
http://drupal.org/node/46478
...mi spiace non poter fare di più

invece sei stato gentilissimo, grazie 1000!!
per puro caso sono effettivamente riuscito ad estrarre i dati da una tabella del db e ad impaginarli in qualche modo e sai dov'era il problema? La varivbile $mysql invece di $mysqli... sono impazzito per una 'i'... :(

Ora, mi resta da capire come realizzare una form che passi un parametro alla query impostata nella view così da visualizzare solo i risultati corrispondenti. In soldoni, vorrei poter scrivere un termine in una textbox, cliccare submit e passare la variabile alla query che con un costrutto LIKE mi tira fuori solo i risultati corrispondenti.... e qui si apre un altro universo di mal testa...

Ti elenco grosso modo le cose da fare in un modulo per creare il tuo form di ricerca:
- crea una voce del menu e quindi un URL di Drupal
- nella funzione che visualizza la pagina, inserisci il richiamo a una funzione che mostra i risultati e il richiamo a una funzione che visualizza il form
- crei una funzione che genera il form di ricerca con la FormAPI
- inserisci del codice nella funzione di _submit del form, in modo che le variabili POST inviate col form siano rese disponibili alla pagina.

per avere dei "form" che facciano da filtro nelle viwes usa i filter ed esponili, in questo modo li avrai come form da far usare all'utente per filtrare i contenuti.

Ciao
Marco
--
My blog
Working at @agavee