• Super User

    passare variabili php nelle query

    Ciao a tutti,
    ho un problemino con una query mi spiego :
    ho una gallery e due tabelle , una per le categorie e una per le immagini.
    brevemente la tabelle categorie contiene ( indico solo i campi che mi interessano in questo caso)
    id
    folder
    dove folder è il nome della cartella che viene creata sul server.
    nella tabella immagini ho
    id
    nomeimmagine
    albumid
    dove albumid corrisponde a id nella tabella categorie.
    come gia detto ogni categoria corrisponde una cartella che php crea automaticamente quando carico le immagini nel database.

    nella prima query estraggo una foto a caso col metodo RAND() e estraggo il nome dell immagine e l'albumid ora dovrei creare una seconda query in cui estraggo il campo folder nella tabella categoria filtrandolo in base al record immagini.albumid questo perchè quando voglio creare la thumbnail dell'immagine non riesco a recuperarmi il percorso che dovrebbe essere
    gallery/categorie.folder/immagini.nomeimmagine

    in pratica dalla tabella nomeimmagini recupero l'id numerico per sapere a quale categoria appartiene e dalla seconda tabella devo estrarre il nome della cartella(categorie.folder) in base all' id del primo record.
    Insomma ho un po di confusione(forse questo post lo dimostra 😄 )
    ma spero di essere riuscito a farmi capire.
    😄

    Grazie anticipatamente.


  • User

    @kaisersose said:

    Ciao a tutti,
    ho un problemino con una query mi spiego :
    ho una gallery e due tabelle , una per le categorie e una per le immagini.
    brevemente la tabelle categorie contiene ( indico solo i campi che mi interessano in questo caso)
    id
    folder
    dove folder è il nome della cartella che viene creata sul server.
    nella tabella immagini ho
    id
    nomeimmagine
    albumid
    dove albumid corrisponde a id nella tabella categorie.
    come gia detto ogni categoria corrisponde una cartella che php crea automaticamente quando carico le immagini nel database.

    nella prima query estraggo una foto a caso col metodo RAND() e estraggo il nome dell immagine e l'albumid ora dovrei creare una seconda query in cui estraggo il campo folder nella tabella categoria filtrandolo in base al record immagini.albumid questo perchè quando voglio creare la thumbnail dell'immagine non riesco a recuperarmi il percorso che dovrebbe essere
    gallery/categorie.folder/immagini.nomeimmagine

    in pratica dalla tabella nomeimmagini recupero l'id numerico per sapere a quale categoria appartiene e dalla seconda tabella devo estrarre il nome della cartella(categorie.folder) in base all' id del primo record.
    Insomma ho un po di confusione(forse questo post lo dimostra 😄 )
    ma spero di essere riuscito a farmi capire.
    😄

    Grazie anticipatamente.

    Uhm.. per questo basta un JOIN di SQL 🙂

    SELECT i.nomeimmagine, f.folder FROM immagini AS i INNER JOIN categorie AS f ON i.albumid = f.id ORDER BY RAND() LIMIT 1

    Così hai il nome dell'immagine e il folder tutto nello stesso record, senza fare 2 query separate (il che rende il tutto più veloce).

    :ciauz:


  • Super User

    Grazie piu tardi lo provo.

    🙂