Archivio

Archivio per la categoria ‘PHP il turbo nel web’

Spostamento hosting massimo-caselli.com

30 August 2006 maxgrante 2 commenti

Ciao a tutti,
dopo dieci mesi di eccellente hosting fornito da www.serverplan.com mi accingo a migrare il dominio su www.hostdeck.com che promette fuoco e fiamme! :-D
Nelle prossime ore potrebbero esserci alcuni problemi.

Scusatemi per il disagio dovuto alla volontŕ  di migliorare ulteriormente il sito web e la sua fruibilitŕ .

Ciao. Maxgrante
info[AT]massimo-caselli.com

Breve how to utilizzo API di Google Adwords con PHP

21 July 2006 maxgrante 1 commento

Ciao a tutti,
di seguito vediamo un breve how to per utilizzare con php le API di Google Adwords per creare sistemi di interazione tramite i potenziali clienti ed il sistema di Google Adwords (senza dover accedere con i rischi del caso al pannello di Adwords), oppure per monitorare eventuali problemi di piů account tutte le notti etc…

Le applicazioni sono veramente tantissime.

Nello specifico ci concentreremo su come connettersi alle API (protocollo V4 da pochi giorni) e come interrogare una data campagna e i report sulle parole chiave.

LIBRERIE APILITY

Personalmente ho utilizzato le librerie opensource Apility che se non dico male sono anche supportate da Google stesso.
Scaricate l’ultima versione che ha supporto al protocollo V.4

CONNESSIONE ALL’ACCOUNT

Dopo essersi creati dal sistema di Google Adwords il proprio token sviluppatore per l’accesso alle API stesse possiamo cominciare.
Prima di tutto includiamo le librerie:

// Inclusione delle librerie
require_once(‘PATH_TO_APILITY/apility.php’);

A questo punto procediamo con la connessione.

// Autenticazione sul sistema (eventualmente la si puŕ fare dinamica)
$authenticationContext = new Authentication
(
“accountcentroclienti@miasocieta.tld”,
“miapassword”,
“miotoken”,
“mailadvcliente@dominiocliente.tld”
);

RECUPERO XML CON I DATI COMPLETI DELLE PAROLE CHIAVE PER TUTTE LE CAMPAGNE E GRUPPI DI ANNUNCI

A questo punto č possibile mediante la funzione: getXmlReport farsi ritornare da Adwords un file XML con tutti i dati della campagna.
Esempio di codice:

// Codice di esempio per recupero XML con i dati della campagna e relative parole chiave con setup periodo da ieri a oggi
$today = gmdate(“Y-m-d”, mktime(date(“H”), date(“i”), date(“s”), date(“m”) , date(“d”) , date(“Y”)));
$yesterday =  gmdate(“Y-m-d”, mktime(date(“H”), date(“i”), date(“s”), date(“m”) , date(“d”) – 1 , date(“Y”)));
$xmlReport = getXmlReport(“Report Customer”, “KeywordReportJob”, “Summary”, $yesterday, $today, 20);

Ovviamente č possibile personalizzare al 100% i dati relativi alla data di inizio e fine ricerca.

Sarŕ  ritornato come da manuale un XML con queste caratteristiche:
String reportName
String reportType    // Valid values: “KeywordReportJob”, “AdTextReportJob”, “UrlReportJob”, “CustomReportJob”
String aggregationType    // Valid values: “Summary”, “Daily”, “Monthly”, “Quarterly”, “Yearly”
String startDate
String endDate
Integer sleepTime    // Enter the time interval in seconds between checks on the Report’s status.
// This value should be chosen carefully depending on the complexity of the scheduled report.
{Boolean isCrossClient}
{[String] clientEmails}
{[String] customOptions}
{Boolean includeZeroImpression}

ELABORAZIONE DATO XML

Ora possiamo elaborare questo XML per stampare a video il report.
Non starŕ ora a spiegare nel dettaglio il tutto anche perchč non č lo scopo di questo post, vi consiglio perŕ di utilizzare questa comodissima funzione per la conversione da XML ad array che ritengo piů comodi da smanettare rispetto a XML, soprattutto con php 4.

XML_TO_ARRAY

Ovviamente i campi di applicazione possono essere molteplici, come per esempio fare stime, creare campagne etc…
Con queste basi e con la reference di Apility sarŕ  tutto possibile.

ATTENZIONE PUNTI CENTRO API

Fate molta attenzione che Google per ogni richiesta API scala dei punti che vengono assegnati mensilmente in base al quantitativo di traffico gestito dall’account clienti.

Ciao a tutti, Maxgrante
info[AT]massimo-caselli[DOT]com

Sugar Sales Force Automation

28 June 2006 maxgrante Nessun commento

Ciao a tutti,
torno finalmente a scrivere un breve articolo dopo lungo silenzio dovuto a impegni di lavoro veramente incalzanti…

In questo periodo ho avuto modo di testare e provare un applicativo php/MySQL open source per il sales force automation.
In pratica si tratta di un software perfettamente sostitutivo di salesforce.com che č il top di questo ramo chiamato appunto “Sales Force Automation”.

QUALITA’

  • Installazione molto semplice
  • Portabilitŕ , gira infatti su php 4 e php 5 indifferentemente, su Win o Linux e mysql dal 4.1 in poi va benissimo
  • Velocitŕ  molto buona

DIFETTI

  • Il difetto maggiore č la scarsa documentazione per sviluppatori (almeno io, a parte un tutorial non ne ho trovata)
  • Alto costo del plugin relativo all’integrazione con Outlook
  • Assenza di plugin per integrazione con Exchange

Maggiori informazioni sul sito ufficiale:

http://www.sugarforge.org

Ciao, Maxgrante
info[AT]massimo-caselli[DOT]com

Query di INSERT in MySQL Server (SQL)

31 March 2006 maxgrante Nessun commento

Prima di partire per un giro nella “tranquilla” :-) Parigi scrivo breve articolo per spiegare diverse modalitŕ  con cui scrivere query di INSERT in mysql e in generale con il linguaggio SQL.
Per inserire i dati in mysql abbiamo sostanzialmente tre possibili differenti sintassi in
INSERT.

Di seguito vi allego la sintassi come da manuale:

INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name [(col_name,...)]
VALUES ({expr | DEFAULT},…),(…),…
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
Or:
INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name
SET col_name={expr | DEFAULT}, …
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
Or:
INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name [(col_name,...)]
SELECT …

Semplificando quanto fornito dal manuale di mysql vediamo insieme il funzionamento
di INSERT con degli esempi pratici che andrete ad eseguire sul nostro progettino:

Prendiamo per esempio una tabella con campi:
IDfornitore (PK) auto incrementale
fornitore varchar (200)
INSERT INTO fornitore VALUES (”, ‘Eforhum.it’);

Attenzione: in mysql 5 usare la seguente sintassi:

INSERT INTO fornitore VALUES (NULL, ‘Eforhum.it’);

Questo perchč mysql 5 non accetta piů valori per la chiave primaria autoincrement numerica passati come ” dove si intende valore presente ma blank, vuole assolutamente NULL, ovvero valore NON presente.

Sostanzialmente utilizzando questa sintassi possiamo dire che la query “passa” alla
tabella “fornitore” i valori da inserire in ordine di campo.

Il vantaggi di usare questa sintassi di INSERT sono:

VANTAGGI:
1. Velocitŕ  di esecuzione
2. SQL molto scarno e rapido da scrivere

SVANTAGGI:
1. Bisogna conoscere molto bene i campi della tabella e l’ordine in cui sono messi
2. In caso di modifiche al DB bisogna sistemare subito le query
3. Lettura della query abbastanza difficile

INSERT INTO fornitore (IDfornitore, fornitore) VALUES (”, ‘Eforhum.it’);

Come possiamo notare che l’unica cosa che cambia č la definizione dell’ordine dei
campi in cui mysql inserirŕ  i valori.

VANTAGGI:
1. Buona velocitŕ  di esecuzione delle query
2. In caso di modifiche al DB (anche se č fondamentale aggiornare le query) non si
rischia di incorrere in inserimenti errati. Stesso discorso vale per l’ordine dei campi
che se cambia non inficia sulla validitŕ  della query.

SVANTAGGI:
1. Non di facile lettura

INSERT INTO fornitore SET fornitore = ‘eforhum.it’;
Con questa sintassi possiamo notare che vengono associati campo = valore

VANTAGGI:
1. Se viene cambiato il DB o l’ordine dei campi le query non portano ad errori di
inserimento (a meno che non si siano eliminate delle colonne)
2. Facilitŕ  di lettura SQL di INSERT

SVANTAGGI:
1. SQL forse un pŕ ridondante
Approfondite le varie sintassi possiamo facilmente dedurre che la soluzione migliore č
di utilizzare l’SQL di INSERT che prevete il setting di campi = valore, questo sia per
facilitŕ  di lettura che per leggibilitŕ  dell’SQL.
Infatti se immaginiamo una tabella di 30/40 campi le prime due opzioni non
garantiscono una facile lettura per l’individuazione di eventuali errori.

Ciao a tutti, Maxgrante
info[AT]massimo-caselli[DOT]com

Esportazione da PHP in formato Excel

6 March 2006 maxgrante 25 commenti

Ciao a tutti,
oggi vediamo come creare facilmente un foglio excel / calc di Openoffice mediante l’utilizzo di php.
Per farlo senza alcuna difficolta sfruttiamo la capacitŕ  di Excel di leggere file HTML.

In sostanza tutto quello che dobbiamo fare č creare una semplice tabella HTML di 2 righe e quante colonne ci servono, la prima indica il contenuto del campo, la seconda riga la usiamo per farla ciclare con i dati estratti da php.

Una volta ottenuta in HTML la tabella con i dati desiderati basta semplicemente anteporre al nostro script le seguenti righe PHP:

< ?php
$nomefile=$_GET['nomefile']".xls";
header ("Content-Type: application/vnd.ms-excel");
header ("Content-Disposition: inline; filename=$nomefile");
?>

In sostanza basta passare per comoditŕ  al nostro script il nome del file, ad esempio:

http://www.miosito.com/export-excel.php?nomefile=esportazione

A questo punto automaticamente ci verrŕ  proposto dal browser di salvare un file di nome esportazione.xls con i dati contenuti all’interno della tabella HTML precedentemente visualizzata.

Strano ma vero… č tutto qui…
Ciao. Maxgrante
info[AT]massimo-caselli[DOT]com

Categorie:PHP il turbo nel web Tag: