innanzi tutto un saluto generale dato che è la prima volta che scrivo qui sul forum, quindi ciao a tutti!!!
In seconda istanza chiedo scusa se la sezione è errata, ma ero in dubbio se scrivere qui o nella sezione di mysql, ma alla fine ho creduto che fosse più opportuna questa dato che il problema è con wordpress e non con mysql
Vengo rapidamente al dunque:
per una serie di motivi che non sto qui ad elencare ho l'esigenza di visualizzare in home l'ultimo articolo inserito in ogni pagina del blog. Mi spiego meglio: ho una serie di pagine (interviste, ricette, racconti) in ognuna di queste pagine ci saranno degli articoli e nella home ho necessità di visualizzare l'ultimo articolo inserito in ciascuna pagina, quindi, a conti fatti, in home dovrò avere l'ultimo articolo inserito nella pagina interviste, l'ultimo della pagina ricette ecc ecc. Navigando un po' ho visto che c'è una soluzione lavorando sull'id dell'articolo e sulle categorie, quindi il mio problema è stato parzialmente risolto, resta però il fatto di dovermi procurare l'id dell'articolo che ovviamene sarà diverso ad ogni inserimento. Per fare questo ho pensato di andare a rompere le scatole al database interrogandolo opportunamente con una query che mi restituisse il risultato desiderato;
ho faticato non poco nonostante non sia un novellino, ma alla fine sono riuscito a trovare le tabelle che potevano aiutarmi e si tratta rispettivamente della tabella term_relationships e term_taxonomy.
Per non portarla alla lunga, riesco ad estrarre il dato di mio interesse (ovvero l'id dell'ultimo articolo inserito nella categoria da me specificata) tramite questa query
ora il mio problema nasce dal fatto che così come è scritta, la condizione della ON genera in mysql un'ambiguità (e non ha tutti i torti a dire il vero) perchè non riesce a capire quale campo appartiene alla tabella term_taxonomy e quale alla tabella term_taxonomy_relationshipsCodice:SELECT `object_id` FROM `avwp_term_relationships` INNER JOIN `avwp_term_taxonomy` ON `term_taxonomy_id` = `term_taxonomy_id` WHERE `term_id` = 12 AND `taxonomy` = "category" ORDER BY `object_id` DESC LIMIT 0 , 1
a questo punto, quindi, ho deciso di modificare la condizione di on usando la seguente sintassi
ma a questa query mysql mi risponde dicendo che non esiste un campo con quel nome.Codice:ON `avwp_term_relationships.term_taxonomy_id` = `avwp_term_taxonomy.term_taxonomy_id`
La soluzione che ho trovato e che funziona (perchè la query mi restituisce il risultato che mi serve) è quella di cambiare nome al campo di una delle due tabelle, in questo modo, ad esempio:
il problema che ho, a questo punto, è che nel blog non vedo più gli articoli che avevo inserito, o meglio, gli articoli ci sono, xò non vengono visualizzati. E' chiaro che il problema risiede nel fatto che ho cambiato nome ad un campo di una tabella generata da wordpress e che quindi si è sputtanato qualcosa all'interno dei file che vanno a richiamare i post.. La domanda che vi pongo, quindi, è la seguente: che file devo modificare per far si che il blog riconosca la tabella con quel campo modificato e quindi mi visualizzi gli articoli vecchi ed i nuovi che aggiungerò?Codice:SELECT `object_id` FROM `avwp_term_relationships` INNER JOIN `avwp_term_taxonomy` ON `term_taxonomy_id2` = `term_taxonomy_id` WHERE `term_id` = 12 AND `taxonomy` = "category" ORDER BY `object_id` DESC LIMIT 0 , 1

LinkBack URL
About LinkBacks
