Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 37
  1. #21
    [supersaibal]Originariamente inviato da skidx
    Basta che tu metta la clausola IN nel WHERE invece dell'uguale, e nel controllo del COUNT usi il numero di categorie su cui stai facendo la selezione.

    Ancora mi sfugge dove sia il problema.
    :master: [/supersaibal]
    ma forse neanche ... xche se deve far comparire una news in una categoria ... deve specificare la categoria ... quindi quando dice categoria 5 ... tira fuori dalla tabella che fa l'unione tutte le news che hanno l'id categoria su 5
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  2. #22
    [supersaibal]Originariamente inviato da daniele_dll
    ma forse neanche ... xche se deve far comparire una news in una categoria ... deve specificare la categoria ... quindi quando dice categoria 5 ... tira fuori dalla tabella che fa l'unione tutte le news che hanno l'id categoria su 5 [/supersaibal]
    Sì, ma a lui servono le news che appartengono contemporaneamente a più categorie prestabilite.
    Il mio metodo mi sembra funzioni. :master:

  3. #23
    [supersaibal]Originariamente inviato da skidx
    Sì, ma a lui servono le news che appartengono contemporaneamente a più categorie prestabilite.
    Il mio metodo mi sembra funzioni. :master: [/supersaibal]
    se mette la tabellina di intermezzo che gli fa da raccordo si risolve subitissimo il problema

    ... tu dici di mettere un elenco di id separati da virgola in un apposito campo? (non ho letto tutta la discussione ma ho letto che dici di usare IN ... lo dici per questo? :master: )
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  4. #24
    [supersaibal]Originariamente inviato da daniele_dll
    se mette la tabellina di intermezzo che gli fa da raccordo si risolve subitissimo il problema

    ... tu dici di mettere un elenco di id separati da virgola in un apposito campo? (non ho letto tutta la discussione ma ho letto che dici di usare IN ... lo dici per questo? :master: ) [/supersaibal]
    la tabella delle relazioni la ha già, io sto dicendo di usare IN nella query che ho scritto prima, quella con il group by.

  5. #25
    daniele... sei fuori strada. So che per fare in modo che ci sia una relazione 0,N->0,N ci deve essere una tabella di riferimento... se guardi il primo post ho menzionato questa tabella che dici tu.. e ho anche detto che è una cavolata fare le JOIN... ma il punto non è questo.

    skidx, mi pare che quello che stai dicendo tu sia una query annidata... e se non sbaglio in MySQL (a differenza di altri) non è possibile annidare le query.


    non so più come fare a farmi capire... provate ad entrare nella mia intricata maglia di materia grigia... della poca che mi rimane dopo questi ragionamenti:

    1) devo realizzare il sito per un giornale

    2) le notizie sono suddivise principalmente in "online" e "versione cartacea"

    3) quelle online sono classificate nella categoria "online" e quelle cartacee nella categoria "cartacee"

    4) le cartacee, a differenza delle altre, vengono suddivise per "numero di giornale" e "argomento". Il numero ha una data, che prima di allora non sarà visualizzabile. Gli argomenti possono essere annidati (sport (calcio (serieA, serieB),tennis).


    4bis) VORREI EVITARE IN SOSTANZA DI RIPETERE LA STESSA STRUTTURA OGNI VOLTA CHE INSERISCO UN NUOVO NUMERO (questa è in buona sostanza la richiesta del mio 3D)... ovvero voglio evitare questo:
    codice:
    CARTACEO
    |__ gen2005
    |   |__ cultura
    |   |__ attualità
    |   |__ cronaca
    |   |__ sport
    |       |__ calcio
    |       |__ tennis
    |
    |__ feb2005 
    |   |__ cultura
    |   |__ attualità
    |   |__ cronaca
    |   |__ sport
    |       |__ calcio
    |       |__ tennis
    |
    |__ mar2005 
        |__ cultura
        |__ attualità
        |__ cronaca
        |__ sport
            |__ calcio
            |__ tennis
    
    ... e così via
    5) le notizie (in questo caso) DEVONO appartenere ad entrambe le sottocategorie di "numero" e di "argomento"... che potrebbero essere "marzo2005" e "attualità"

    6) siccome le categorie sono strutturate per contenere qualsiasi tipo di oggetto (non solo notizie) basta che si identifichino da un ID, vorrei che la visione di questa struttura sia la più generica possibile

    7) per essere generica, "numero" e "argomento", che in questo caso sono 2, dovrebbero essere in numero variabile, e vorrei che l'obbligo di un oggetto di appartenere a una data categoria sia in qualche modo strutturato in una tabella o in un campo della tabella "categorie". In questo caso è obbligatorio che la notizia faccia parte sia di numero che di argomento... oppure di nessuno dei due, come nel caso delle notizie online... COME SI PUò FARE?

    8) da questo scaturisce poi la visualizzazione. Ai fini di visualizzare una lista di notizie presenti, devo specificare sia "numero" che "argomento"
    8.1) se specifico solo il numero deve elencarmi gli argomenti dove poter cliccare sull'argomento che mi interessa
    8.2) viceversa se specifico solo l'argomento devono apparirmi la lista dei numeri
    in termini di link come dovrebbe venire? (sempre parlando genericamente)


    SPERO DI AVER CHIARITO QUALCOSINA IN +...
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  6. #26
    [supersaibal]Originariamente inviato da Mackey
    skidx, mi pare che quello che stai dicendo tu sia una query annidata... e se non sbaglio in MySQL (a differenza di altri) non è possibile annidare le query.[/supersaibal]
    Si può fare con una query annidata (il Mysql dalla 4.1 le fa) oppure con una query semplice, sapendo però a priori gli ID delle categorie che ti interessano.

  7. #27
    [supersaibal]Originariamente inviato da skidx
    Si può fare con una query annidata (il Mysql dalla 4.1 le fa) oppure con una query semplice, sapendo però a priori gli ID delle categorie che ti interessano. [/supersaibal]
    scusa ma cosa risolvi così? ho riletto ora il fatto del count... ma se fai una JOIN è meglio per fare quello che vuoi fare tu... ma a prescindere io non so quante sono le categorie alla quale un oggetto (tipo notizia) deve obbligatoriamente appartenere.

    comunque mi pare che ci rinuncio... sono un caso irrisolto
    credo che alla fine userò il metodo non scalabile
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  8. #28
    [supersaibal]Originariamente inviato da Mackey
    scusa ma cosa risolvi così? ho riletto ora il fatto del count... ma se fai una JOIN è meglio per fare quello che vuoi fare tu... ma a prescindere io non so quante sono le categorie alla quale un oggetto (tipo notizia) deve obbligatoriamente appartenere.

    comunque mi pare che ci rinuncio... sono un caso irrisolto
    credo che alla fine userò il metodo non scalabile [/supersaibal]
    secondo me non hai capito bene come funziona la mia query.

    E'una soluzione, e a me sembra scalabile, visto che se l'oggetto deve appartenere a 3 categorie ti basta una sola query, se deve appartanere a 10 categorie ti basta sempre una sola query.

    Rifacco un esempio:
    devi estrarre le notizie che appartengono contemporaneamente a 3 categorie, in particolare alla categorie con ID 3, 5 e 7.

    SELECT blablabla,count(id_notizie) AS num FROM ...,notizie_categorie WHERE id_cat IN(3,5,7) GROUP BY id_notizie HAVING num=3;

    Dentro alla clausola IN metti tutti gli id delle categorie che ti servono, in HAVING metti il numero di categorie simultanee.

    In questo modo ti estrae solo le notizie che appartengono simultaneamente a quelle categorie.

    Hai 10 categorie invece di 3?
    Metti i 10 ID dentro IN() e nell'HAVING metti num=10.

    Più scalabile di così, non saprei

  9. #29
    si, ok... ma questo numero 3 (o 10) deve essere dato non da me nel CODICE PHP... ma deve essere contenuto in un campo... oppure deve essere il risultato della somma di record... capito?

    e in che modo posso dire:
    seleziona esattamente solo quelle che appartengono alla categoria
    "numero" && "argomento" && blabla...

    senza sapere a priori che si chiameranno così, o quale ID avranno?
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  10. #30
    [supersaibal]Originariamente inviato da Mackey
    si, ok... ma questo numero 3 (o 10) deve essere dato non da me nel CODICE PHP... ma deve essere contenuto in un campo... oppure deve essere il risultato della somma di record... capito? [/supersaibal]
    non vedo il problema, sinceramente. :master:
    Se questo numero lo hai dentro una variabile, generata in un qualsiasi modo, la inserirai poi nella query.

    E le categorie le devi prima conoscere, per poter estrarre le notizie che vi appartengono.
    Davvero, non capisco il problema.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.