Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di midonz
    Registrato dal
    May 2008
    Messaggi
    24

    in_array e corrispondenze tra due array

    Chiedo umilmente un ultimo aiuto prima di un esame...andare a letto alle 3.20 per questo motivo non va bene:P
    Allora ho un sito dove quando una foto viene caricata può essere assegnata a una o più categorie (almeno una per obbligo). Sto cercando di stampare a video le categorie dove la foto non è inserita...non capisco cosa sbaglio, e come al solito sarà una cavolata!
    Le tabelle sono

    describe categoria;
    +-------------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +-------------+-------------+------+-----+---------+-------+
    | nomecat | varchar(20) | NO | PRI | | |
    | descrizione | text | NO | | | |
    +-------------+-------------+------+-----+---------+-------+

    describe cat_appartiene;
    +-----------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +-----------+-------------+------+-----+---------+-------+
    | categoria | varchar(20) | NO | PRI | | |
    | nomefile | varchar(30) | NO | PRI | | |
    | utente | varchar(8) | NO | PRI | | |
    +-----------+-------------+------+-----+---------+-------+

    avendo nomefile e utente che identificano la foto in maniera univoca, come posso ottenere solo le categorie dove non c'è? Ho provato con in_array() ma non ci riesco..Grazie in anticipo!!!

  2. #2
    Utente di HTML.it L'avatar di midonz
    Registrato dal
    May 2008
    Messaggi
    24
    vi pregooooooooooo!!!!!!!!!

  3. #3
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    fai una query...

    codice:
    SELECT    categoria 
    FROM       cat_appartiene 
    WHERE     nomefile !='tuo_file' 
    AND         utente='tuo_utente'
    GROUP BY categoria
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  4. #4
    Utente di HTML.it L'avatar di midonz
    Registrato dal
    May 2008
    Messaggi
    24
    Si probabilmente era meglio postare in un'altra sezione...grazie mille DottWatson, ma non funziona, il problema è che cat_appartiene registra solo le appartenenze, quindi il risultato della query che mi hai suggerito dipende dai record inseriti, non so se mi spiego!!

  5. #5
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    spero di aver capito, sennò devi spiegare meglio cosa memorizzi nelle 2 tabelle

    codice:
    SELECT     c.descrizione AS category
    FROM        catogorie         AS c,
                   cat_appartiene  AS ca
    WHERE      ca.nomefile !='tuo_file' 
    AND          ca.utente='tuo_utente'
    GROUP BY  c.descrizione
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  6. #6
    Utente di HTML.it L'avatar di midonz
    Registrato dal
    May 2008
    Messaggi
    24
    Si hai ragione mi devo spiegare meglio!
    Allora, la tabella CATEGORIA tiene tutte le categorie disponibili:
    -nomecat è la chiave
    -descrizione è una breve descrizione testuale della categoria.
    In CAT_APPARTIENE viene inserita l'appartenenza quando un utente carica una foto: ogni foto deve essere inserita in almeno una categoria, al massimo in tutte.
    -categoria è il nome della categoria (-->noemcat)
    -nomefile e utente identificano univocamente la foto, e sono rispettivamente il nome del file e l'utente che l'ha caricata.

    Avrei bisogno appunto di ottenere le categorie dove la foto non è inserita, per permettere eventuali modifiche all'utente.
    Avevo provato a usare in_array() per verificare se le categorie in cui la foto è inserita non compaiono nell'array delle categorie disponibili, ma non ci sono riuscita dopo vari tentativi..
    Grazie mille già per il tempo che mi hai dedicato! Spero di essere stata più chiara!

  7. #7
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    adesso sei stata piu chiara :9

    prova così

    codice:
    SELECT    nomecat 
    FROM      categoria 
    WHERE     nomecat
    NOT IN    (SELECT categoria 
                   FROM cat_appartiene 
                   WHERE nomefile !='tuo_file'
                   AND utente='tuo_utente')
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  8. #8
    Utente di HTML.it L'avatar di midonz
    Registrato dal
    May 2008
    Messaggi
    24
    Ottimooooooooooooooooooooooooo!!!!!!!!!!!!!!!!!!!! !!!!
    Grazie mille sei stato gentilissimo, ed era una domanda da ignoranti poi
    Grazie ancora e buona giornata!!!

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.