Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: query complessa

  1. #1
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305

    query complessa

    beh, forse non è cosi complessa fatto sta che non mi riesce
    dunque ho due tabelle:

    GALLERY con i campi id, imgs

    PRIV con i campi idrow, id ( dove id è lo stesso id della prima tabella)

    In pratica di tabelle PRIV ne ho tante quanti sono gli utenti che hanno accesso a GALLERY e serve per determinare gli articoli che non devono essere mostrati all'utente.

    Allora devo fare una select da GALLERY dove gallery.id NOT IN PRIV.id quindi: SELECT id, imgs FROM gallery WHERE cat='$c' AND id NOT IN PRIV.id ORDER BY ord ASC

    Naturalmente la query non funge poichè immagino serva una join o roba del genere... qualcuno saprebbe aiutarmi? grazie!

  2. #2
    non ho mai utilizzato NOT IN cmq io la riscriverei cosi la tua query:

    codice:
    SELECT gallery.*,PRIV.id FROM gallery,PRIV WHERE gallery.cat='$c' AND gallery.id NOT IN PRIV.id ORDER BY gallery.ord ASC
    cmq di sicuro non funzionerà nemmeno questa
    Planet Earth is blue and there's nothing I can do

  3. #3
    non capisco come fai ad avere tante tabelle priv, non e hai una sola con tanti record...?

    per il join basta che indichi nomecampo.tabella, se metti solo il nome campo non va perchè non sa in quale tabella andare a pescare

  4. #4
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305
    Grazie a Sandro x la risposta (adesso provo)

    x Gloglotto: il fatto è che il num di utenti è naturalmente variabile cosi come il num degli articoli;
    Ho pensato che quando dal backoffice creo un utente creo anche una tab a lui associata con il suo id_utente, questo id lo trasporto con la sessione in tutto il catalogo e quando visualizzo una categoria di articoli faccio il confronto e il gioco è fatto... ci ho pensato un tot ma una tabella unica non mi pare una gran soluzione

  5. #5
    allora scusa ma non ho capito cosa vuoi fare, se hai delle gallery e devi decidere quali utenti devono vedere determinate gallery non basta creare una tabella intermedia che associa l'id dell'utente con l'id della gallery e fai la ricerca su quella?

  6. #6
    nulla è complesso ... perchè non posti l'sql del db così uno si ricrea la struttura e con qaulche dato di prova casomai si riesce a fare uno query fatta bene ?

  7. #7
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305
    x Gloglotto eh si che non hai capito la gallery è una e gli utenti sono tanti

    dunque, posto la struttura:

    tabella: gallery_r
    id (int) autoincrement
    imgs (varchar64)
    imgb (varchar 64)
    ord (int 11)
    cat (int 1)

    tabella: priv
    idrow (int)
    id (int 11)
    la query di SANDRO purtroppo mi dà errore sto guardando di aver fatto tutto giusto..

  8. #8
    vabbè, potevi postare il codice sql per creare il db e non come sono fatti i campi ... velocizzaci un po' nell'aiutarti

  9. #9
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305
    ok, hai ragione:

    CREATE TABLE `gallery_r` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `imgs` VARCHAR(64) NOT NULL,
    `imgb` VARCHAR(64) NOT NULL,
    `ds_it` TEXT NOT NULL,
    `ds_en` TEXT NOT NULL,
    `ord` INT NOT NULL,
    `cat` INT(1) NOT NULL,
    `scat` INT(2) NOT NULL
    );

    CREATE TABLE `priv` (
    `idrow` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `id` INT NOT NULL
    );

  10. #10
    tetsina, eheheheh, scherzo
    eccola query

    SELECT gallery_r.*,priv.id
    FROM gallery_r,priv
    WHERE gallery_r.cat=$c
    AND gallery_r.id NOT IN (4,5,6)
    ORDER BY gallery_r.ord ASC

    controlla bene
    non ci vpgliono le '' in WHERE gallery_r.cat=$c

    e nella gallery_r.id NOT IN (4,5,6) ci vogliono i valori che vuopi escludere

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 © 2025 vBulletin Solutions, Inc. All rights reserved.