
Accesso al server MySQL con il plugin MBS
Tutti i database di un'installazione di WordPress si trovano in un database MySQL del server web corrispondente. Per poter accedere al database esternamente, il database corrispondente deve essere autorizzato all'accesso esterno. Questa impostazione può essere effettuata solitamente nel backend del provider del server.
Per accedere direttamente ai database del server Web, è necessario utilizzare il plugin MBS FileMaker, poiché FileMaker non consente l'accesso diretto ai database con gli strumenti integrati. SQL-server. Il plugin MBS può essere installato sul server Sito web di Monkeybread Software e una versione demo gratuita è disponibile per il download. Per consentire l'accesso ai database MySQL, la libreria MySQL (libmysql.18.dylib o libMySQL.dll) deve trovarsi nella directory dei database.
WordPress, Contact Form 7 e Flamingo
Per fornire moduli per l'inserimento di dati da parte degli utenti su un sito web basato su WordPress, utilizzare il plugin Modulo di contatto 7. Per salvare le voci del modulo, installare anche l'estensione Fenicottero dello stesso produttore. Entrambi i plugin possono essere installati e attivati direttamente nel repository di WordPress all'interno del backend di WordPress.
Nel backend di WordPress, andate alla voce di menu [Moduli] e creare un nuovo modulo per il vostro sito web. Poiché Flamingo salva automaticamente tutte le voci dei moduli, non dovete fare altro che creare un nuovo modulo.
Flamingo salva tutti i record di dati internamente nella cartella Tabella "wp_posts" con il tipo di post "flamingo-inbound" e non crea una propria tabella nel database di WordPress. Nella nostra piccola soluzione di esempio, tutti i record di dati sono importati dalla tabella "wp_posts" con il tipo di post "flamingo-inbound". Poiché i record di dati sono semplicemente separati da Flamingo con un avanzamento di riga, possiamo facilmente estrarre il contenuto dei campi utilizzando la funzione FileMaker "GetValue".
In linea di principio, è possibile importare anche altri record di dati dal database di WordPress, specificando un tipo di post diverso. I dati potrebbero poi essere memorizzati nella cartella [post_content] possono essere formattati in modo diverso. Nella nostra soluzione di esempio, ci limiteremo a WordPress con Contact Form 7 e Flamingo, che scrive semplicemente il contenuto del campo una riga sotto l'altra.
Schermatura della soluzione campione
Nel database di esempio, la colonna di sinistra contiene tutti i campi per definire il database di WordPress con tutti i campi obbligatori.
Inserite i seguenti dati nei campi per poter importare i dati dalla vostra installazione di WordPress in FileMaker. Tutti i dati si trovano anche nel file "wp-config.php", che si trova nella directory principale dell'installazione di WordPress.
- Indirizzo del server (Ospite)URL sotto il quale è accessibile il vostro server, sul quale si trova il database di WordPress. Nota: per poter accedere al database esternamente, il database corrispondente deve essere autorizzato all'accesso esterno. Questa impostazione può essere effettuata solitamente nel backend del provider del server.
- DatabaseNome del database in cui si trovano tutte le tabelle di WordPress con il prefisso "wp_".
- Nome utenteNome utente per l'accesso al database.
- passwordPassword per l'accesso al database.
- Post-tipoNel nostro esempio utilizziamo il tipo di post "flamingo_inbound". In linea di principio, è possibile importare altri record di dati dal database di WordPress specificando un tipo di post diverso.
Definizioni di campo della soluzione campione
La nostra soluzione di esempio utilizza due tabelle:
- ImpostazioniContiene tutti i campi delle impostazioni del server come campi globali.
- ModuliContiene tutti i campi dei moduli importati
Non è necessaria una relazione tra le due tabelle perché tutti i campi di impostazione sono stati definiti a livello globale.
Il tavolo [Moduli] contiene un campo di testo calcolato con il calcolo per ogni campo di destinazione:
- GetValue (post_content; x)
Il segnaposto [x] in questo caso sta per il numero della voce. Poiché tutte le voci generate da Flamingo nel campo [post_content] sono separati da un ritorno a capo, i campi possono essere facilmente estratti con la funzione "GetValue".
Script nella soluzione campione
La soluzione di esempio contiene due script: Uno Scrittura per stabilire una connessione al server del database MySQL e uno script che può essere eseguito tramite il file [Importazione dati] viene eseguito. Lo script parziale [ts.MySQL_OpenDatabase] viene utilizzato all'inizio dello script principale [sf.MySQL_Import_wp_posts] chiamato.
- Se [NOT IsEmpty(Settings::wp_Database) AND NOT IsEmpty(...)]
Chiede se tutti i campi di impostazione sono stati compilati.
- Eseguire lo script ["ts.MySQL_OpenDatabase"].
Esegue lo script parziale per aprire una connessione al database con il server MySQL. Lo script parziale restituisce un numero per la connessione.
- Variabile set [$Connection; value:Get(ScriptResult)]
Scrive il numero restituito della connessione nella variabile $Connection
- Impostare la variabile [$Command; value:MBS("SQL.NewCommand"; $Connection; "SELECT * FROM wp_posts...)].
Genera una query SQL sulla tabella [wp_posts] con restrizione al tipo di post, che viene inserito nel campo [Post-Type] (nel nostro caso "flamingo-inbound").
- Impostare la variabile [$result; Value:MBS("SQL.Execute"; $Command)].
Esegue la query SQL elencata sopra sul server.
- Loop (avvio)
- Impostare la variabile [$result; Value:MBS("SQL.FetchNext"; $Command)].
- Esce dal ciclo se [$result ≠ 1]
- Nuovo record di dati/query
- Impostare il valore del campo [Forms::post_date; MBS("SQL.GetFieldAsDateTime"; $command; "post_date")].
- Impostare il valore del campo [Forms::post_content; MBS("SQL.GetFieldAsText"; $command; "post_content")].
- Impostare il valore del campo [Forms::post_type; MBS("SQL.GetFieldAsText"; $command; "post_type")].
- Impostare il valore del campo [Forms::ID; MBS("SQL.GetFieldAsNumber"; $command; "ID")].
- Scrivere i dati di modifica/query [Senza finestra di dialogo].
- Loop (fine)
Ciclo di esecuzione in cui viene creato un nuovo record di dati e tutti i valori dei campi vengono scritti nei campi creati dal server del database.
Scarica il database di esempio di FileMaker (.fmp12)
Come trasferire gli script dal file di esempio alla propria soluzione
Gli script possono essere facilmente trasferiti da una soluzione FileMaker a un'altra tramite gli appunti. È sufficiente aprire la finestra di dialogo Gestire gli script, selezionare con il mouse lo script desiderato e copiare lo script negli appunti tramite il menu [Modifica - Copia] o la combinazione di tasti [Ctrl/Cmd-C]. Aprite quindi la stessa finestra di dialogo nella soluzione di destinazione e incollate semplicemente lo script precedentemente copiato utilizzando il comando del menu [Modifica - Incolla] di nuovo.
Per trasferire le tabelle dal file di esempio alla propria soluzione
Le tabelle possono essere inserite in una soluzione esistente in diversi modi. Il modo più semplice è quello di importare la tabella utilizzando l'opzione [Importazione...] in dialogo Gestire il database. Tutte le tabelle da importare dalla soluzione di partenza possono essere selezionate in un dialogo successivo. Questo metodo è quindi particolarmente adatto se si devono importare più tabelle contemporaneamente. Se si deve importare solo una tabella, è possibile farlo anche tramite gli appunti, come uno script. Se si vuole importare una tabella comprendente tutti i dati, è possibile farlo con il comando [File > Importazione di record di dati > File] nella finestra di dialogo di importazione. Nella finestra di dialogo per l'importazione, la tabella di destinazione deve essere Nuovo tavolo deve essere specificato.
Per trasferire gli elenchi di valori dal file di esempio alla propria soluzione
Gli elenchi di valori possono essere facilmente importati da una soluzione FileMaker a un'altra tramite gli appunti. È sufficiente aprire la finestra di dialogo sotto [File > Gestione > Elenchi di valori]selezionare la voce desiderata Elenco valori con il mouse e copiare l'elenco dei valori negli appunti tramite il menu [Modifica - Copia] o la combinazione di tasti [Ctrl/Cmd-C]. Aprite quindi la stessa finestra di dialogo nella soluzione di destinazione e incollate l'elenco di valori precedentemente copiato utilizzando il comando di menu [Modifica - Incolla] di nuovo.
Come trasferire le proprie funzioni dal file di esempio alla propria soluzione
Nel dialogo [File > Gestione > Funzioni proprie...] sul pulsante [Importazione] e selezionare il file di esempio. Selezionate le funzioni personalizzate desiderate nella finestra di dialogo seguente e confermate la finestra. Si noti che questa funzione è disponibile solo in FileMaker Pro Advanced, ma non in FileMaker Pro.

Markus Schall sviluppa database personalizzati, interfacce e applicazioni aziendali basate su Claris FileMaker dal 1994. È un partner di Claris, vincitore del premio FMM 2011 e sviluppatore del programma Software ERP gFM-Business. È anche autore di libri e fondatore dell'associazione M. Schall Editore.



