Back to top

Autore Topic: JDatabase Insert  (Letto 1627 volte)

Offline lettore

  • Nuovo arrivato
  • *
  • Post: 15
    • Mostra profilo
JDatabase Insert
« il: 23 Giu 2015, 13:03:08 »
Salve a tutti,
ho la necessità di creare una pagina in Joomla che esegua una INSERT sul database MySql, leggevo la documentazione e le funzioni di  JDatabase ma non riesco a capire come adattare gli esempi alle mie necessità, visto che la insert che devo lanciare fa prima una select:


$sql = "INSERT INTO TABELLA_B (id, context) SELECT id, context FROM TABELLA_A;";



L'esempio che ho trovato nella documentazione JDatabase, ma che non sono riuscito ad adattare allo scopo è questo:

// Get a db connection.
$db = JFactory::getDbo();
 
// Create a new query object.
$query = $db->getQuery(true);
 
// Insert columns.
$columns = array('user_id', 'profile_key', 'profile_value', 'ordering');
 
// Insert values.
$values = array(1001, $db->quote('custom.message'), $db->quote('Inserting a record using insert()'), 1);
 
// Prepare the insert query.
$query
    ->insert($db->quoteName('#__user_profiles'))
    ->columns($db->quoteName($columns))
    ->values(implode(',', $values));
 
// Set the query using our newly populated query object and execute it.
$db->setQuery($query);
$db->execute();



Qualcuno può darmi una mano?

Grazie

Offline steganoga

  • Abituale
  • ****
  • Post: 1313
    • Mostra profilo
Re:JDatabase Insert
« Risposta #1 il: 23 Giu 2015, 13:34:56 »
per usare una classe del framework devi necessariamente scrivere un estensione. In base a ciò che ti serve sceglierai se ti serve un componente un modulo oppure un plugin

per come è fatto Joomla, questo significa nulla:
"creare una pagina in Joomla che esegua una INSERT sul database MySql"


...sono dove non ti aspetti di trovarmi, mi alimento della tua supponenza e disseto la mia curiosità nel silenzio.
Non sono un nemico, considerami un ospite.

Offline lettore

  • Nuovo arrivato
  • *
  • Post: 15
    • Mostra profilo
Re:JDatabase Insert
« Risposta #2 il: 23 Giu 2015, 14:55:33 »
Grazie della risposta.

Non credo di avere al momento le capacità richieste per poter scrivere un'estensione  :o

Poteri scrivere l'istruzione php senza utilizzare il framework di Joomla, ma visto il database sul quale devo eseguire l'INSERT è lo stesso che ospita Joomla e le credenziali di accesso sono le stesse (e non ho la possibilità di crearne una dedicata, per limitazioni imposte dall'hoster), non vorrei creare un buco di sicurezza scrivendo a mano il codice di connessione al database, senza utilizzare lo "standard" di Joomla.

Ho alternative?

Grazie

Offline steganoga

  • Abituale
  • ****
  • Post: 1313
    • Mostra profilo
Re:JDatabase Insert
« Risposta #3 il: 23 Giu 2015, 16:07:41 »
cosa devi fare?
...sono dove non ti aspetti di trovarmi, mi alimento della tua supponenza e disseto la mia curiosità nel silenzio.
Non sono un nemico, considerami un ospite.

Offline lettore

  • Nuovo arrivato
  • *
  • Post: 15
    • Mostra profilo
Re:JDatabase Insert
« Risposta #4 il: 23 Giu 2015, 16:32:32 »
Devo pubblicare una pagina php che contiene un'istruzione sql, che va in insert sul database... tutto questo per schedulare giornalmente l'esecuzione di quell'istruzione.

Perchè mi sono imposti questi limiti dall'hoster:
1) non posso creare degli EVENT sul database MySQL (per schedulare li dentro le istruzioni SQL)
2) non posso creare nuovi utenti sul database e dargli privilegi limitati in lettura/scrittura su determinate tabelle
3) non posso mettere il file di configurazione con le credenziali di accesso al database, da richiamare nell'include php,  fuori dalla WWW. Quindi sarà tutto raggiungibile via URL.

Dovrei trovare il modo di mettere il comando dentro il PHP nel modo più sicuro possibile.... fermo restando i limiti imposti dall'hoster (al punto 1,2 e 3).

Che mi consigli/iate?

Grazie

Offline steganoga

  • Abituale
  • ****
  • Post: 1313
    • Mostra profilo
Re:JDatabase Insert
« Risposta #5 il: 23 Giu 2015, 17:29:26 »
. tutto questo per schedulare giornalmente l'esecuzione di quell'istruzione.
-------------------------------------------------------------------
si, la prima parte era chiara, è questa che non capisco...

che dati vengono inseriti? ... da dove li prendi?
...sono dove non ti aspetti di trovarmi, mi alimento della tua supponenza e disseto la mia curiosità nel silenzio.
Non sono un nemico, considerami un ospite.

 



Web Design Bolzano Kreatif