Topic: Pubblico - Composto da 6 Posts di 2 Utenti.
| 06 Ottobre, 2011 16:23 | #1 | ||
|---|---|---|---|
|
Salve a tutti, Devo aggiornare le quantità degli articoli presenti sul sito con le quantità che risultano sul mio gestionale locale. Il mio livello di PHP è zero (praticamente non ci capisco di programmazione). Come posso fare? Il mio hosting mi mette a disposizione il Cron-job tramite il cPanel. E' possibile utilizzare i txt (o csv prodotti dal mio gestionale) per aggiornare solo le quantità nella tabella sul sito? Direttamente da locale a remoto è possibile? Ci sono altre soluzioni? Spiego più dettagliatamente le funzioni di aggiornamento. Devo sincronizzare/aggiornare il campo "Quantità" tra due tabelle, che hanno in comune solo questi due campi: il "Codice" e la "Quantità", ma solo se il "Codice" coincide in entrambe le tabelle. Quindi alla fine vorrei avere la Tab.2 sincronizzata (aggiornata) cosi: - TAB.2
Ultima modifica 07 Ottobre, 2011 10:53 di simone191 |
|||
| 06 Ottobre, 2011 16:36 | #2 | ||
|---|---|---|---|
|
(spostato nel primo post)
Ultima modifica 07 Ottobre, 2011 06:50 di simone191 |
|||
| 08 Ottobre, 2011 23:50 | #3 | ||
|---|---|---|---|
|
Hai bisogno di un semplice script PHP che lanci una query simile alla seguente: Sì, questo script può essere eseguito con un cron job. Le modalità dipendono dal tuo server. Se puoi farlo, conviene chiamare lo script da riga di comando. Altrimenti, se hanno il browser lynx installato, puoi chiamare lynx da riga di comando passandogli l'url dello script. ------ Ma io ora sto solo rispondendo al tuo quesito. In realtà può darsi che tu abbia più bisogno di un trigger, che aggiornino le quantità in tempo reale quando la tabella del tuo gestionale viene modificata. |
|||
| 09 Ottobre, 2011 06:22 | #4 | ||
|---|---|---|---|
|
Grazie fuser per la risposta. Quindi per poter eseguire quello script dovrei prima trasformare il file txt che ho in locale in SQL (adattandolo per dargli una struttura come quella della tabella da aggiornare) e poi da questo SQL creare una tabella nel database che ho sull'hosting (che sarà quindi la tabella2 aggiornata che userà lo script ogni volta che viene eseguito in modo automatico - ogni giorno all'orario impostato nel cron job). Non devo aggiornare in tempo reale, è sufficiente una sincronizzazione al giorno, per questo avevo pensato al cron job. Non so come si usa (o se c'è la possibilità di usarlo sul mio hosting) il browser lynx.
Ultima modifica 09 Ottobre, 2011 06:24 di simone191 |
|||
| 09 Ottobre, 2011 09:07 | #5 | ||
|---|---|---|---|
|
Se non è necessario non usarlo, avranno per forza un minimo di documentazione che dice come lanciare uno script PHP con un cron job. Il problema è che le tabelle sono su due db diversi? Ma se sono tutti e due sul tuo hosting la query funziona lo stesso, basta che specifichi i nomi dei db: Se invece il db del gestionale non è in hosting, valuta tu se fare uno script che legge il file riga per riga, o se caricare tutto in una tabella temporanea con un LOAD DATA INFILE e poi eseguire la query che ti ho detto. Considera che col secondo metodo lanci solo due query, mentre col primo per ogni record lanci una query separata, con conseguente comunicazione client/server. |
|||
| 09 Ottobre, 2011 14:27 | #6 | ||
|---|---|---|---|
|
Ho risolto, Grazie fuser, non potevo capire quello che mi avevi suggerito perché era veramente troppa la mia ignoranza. Riepilogo il tutto magari può tornare utile a qualcuno. Ho un vecchio gestionale locale. Ho quindi necessità di sincronizzare almeno le giacenze degli articoli tra gestionale e sito. Sul sito ci inserisco parte degli articoli che ho sul gestionale. Dal gestionale locale posso esportare solo un file in formato txt. Poi con PhpMyAdmin, ho creato la tabella sul data base: La struttura è con 3 campi -- Struttura della tabella `jos_vm_product_agg` CREATE TABLE IF NOT EXISTS `jos_vm_product_agg` ( Quindi i 3 campi hanno la stessa struttura della tabella da aggiornare. Poi ho utilizzato il file CSV per caricare i dati aggiornati del gestionale nella tabella jos_vm_product_agg (ogni volta che devo aggiornare svuoto e reimporto i dati con il nuovo CSV). Poi basta eseguire lo Script direttamente dal PhpMyAdmin → seleziona il DB → seleziona la tabella jos_vm_product → SQL (voce di menu, per eseguire gli script). UPDATE `jos_vm_product` t1 SET product_in_stock = (grazie ancora fuser) e le quantità sono aggiornate in 0.0004 sec. Dovendo entrare in PhpMyAdmin (per aggiornare la tabella jos_vm_product_agg), a questo punto non ha senso impostare il cronjob. Subito dopo lancio lo script ed è fatto l'aggiornamento.
Ultima modifica 13 Ottobre, 2011 11:03 di simone191 |
|||
Condividi su:
Loggati o Registrati per replicare