Visualizzazione risultati 1 fino 2 di 2

Discussione: problema con tabelle del database

  1. #1
    Guest

    Predefinito problema con tabelle del database

    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
    Codice:
    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
    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_relationships
    a questo punto, quindi, ho deciso di modificare la condizione di on usando la seguente sintassi
    Codice:
    ON `avwp_term_relationships.term_taxonomy_id` = `avwp_term_taxonomy.term_taxonomy_id`
    ma a questa query mysql mi risponde dicendo che non esiste un campo con quel nome.
    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:
    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
    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ò?
    Ultima modifica di iotesto : 07-12-2012 alle ore 20.30.24

  2. #2
    Guest

    Predefinito

    Fare query sul database non è l'approccio corretto: dovresti utilizzare le funzioni di WordPress. Prova a leggere questo articolo che ho scritto qualche tempo fa: http://wordpress.altervista.org/most...ia-tag-o-post/.

    Se prendi il codice che trovi all'inizio dell'articolo e lo replichi per ogni categoria, modificandolo opportunamente per leggere l'ultimo post di tale categoria e visualizzarlo come desideri, dovresti riuscire a comporre la home come vorresti.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •