ciao a tutti,
cerco di spiegare quello che mi piacerebbe fare .. e che non sto mettendo bene a fuoco come
mi faccio il parsing di un xml che contiene degli annunci.
Ogni annuncio ha un identificativo chiamato "riferimento" e finora facevo questo in $annXML mi metto tutti i riferimenti dell'xml ed in $annDB tutti i riferimenti presenti nel db.
Cosi con in_array mi vado ad aggiornare l'annuncio se esiste altrimenti lo inserisco.
e questo è più o meno il pezzo di codice che fa questo...
Codice PHP:
//annunci xml foreach (self::$annunci as $an) { $rife[(string) $an->riferimento] = (string) $an->riferimento; }
//se ci sono annunci nel xml vado avanti if (count($rife) > 0) { $arr = $wpdb->get_results("SELECT post_id, meta_value FROM $wpdb->postmeta WHERE meta_value IN ('" . implode("', '", array_keys($rife)) . "') and meta_key = '_listing_riferimento'"); //annunci memorizzati $annDB = array(); foreach ($arr as $annunciDB) { //metto tutti i riferimenti in array $annDB[$annunciDB->meta_value] = $annunciDB->meta_value; }
foreach (self::$annunci as $annXML) {
if (in_array($annXML->riferimento, $annDB)) {
echo "faccio update";
}else{
echo "faccio insert";
}
}
ora mi sono accorto che oltre al riferimento nel xml ci sta anche la data ed ora di un annuncio e quindi mi piacerebbe aggiornare solo gli annunci sempre confrontando i riferimenti ma solo se per quel riferimento è cambiata la data ed ora.
(la data dal db riesco facilmente a recuperarla con la key "_listing_data_annuncio")
ciao e grazie per un qualsiasi suggeriemento.
Giuseppe