Mostra risultati da 1 a 5 di 5

Discussione: Mysql aiuto per query select

  1. #1
    Data registrazione
    Jan 2009
    Sesso
    Boh
    Località
    Vicenza
    Messaggi
    2,689
    Grazie dati 
    445
    Grazie ricevuti 
    2,879
    Ringraziato in
    1,250 post

    Mysql aiuto per query select

    Ciao ragazzi

    vediamo se qualcuno di voi riesce a darmi una mano.

    Io ho un campo mod_productid dove posso inserire più valori separati da una virgola es. prod1, prodpippo

    io avrei la necessita di fare un select del tipo

    $qry = "SELECT threadid FROM ".TABLE_PREFIX."modsys_settings WHERE mod_productid = '$pid'";

    questa query funziona se io nel campo mod_productid metto un singolo valore

    il $pid viene passato tramite un indirizzo web es. http://forum.dev/misc.php?do=productcheck&pid=prod1

    ho provato con il like '%$pid%' ma mi estrae anche altri valori che contengo prod1 e questo non va bene, mentre con il solo like '$pid' non mi estrae nulla.

    Qualcuno ha qualche consiglio su come agire.



    ama la vita.... è l'unico regalo che non riceverai due volte.....

  2. # ADS
    Google Adsense Circuito Adsense
    Data registrazione
    da sempre
    Località
    mondo google
    Messaggi
    molti
     
  3. #2
    Data registrazione
    Jan 2010
    Sesso
    Uomo
    Località
    California
    Messaggi
    1,079
    Grazie dati 
    569
    Grazie ricevuti 
    1,351
    Ringraziato in
    694 post

    Riferimento: Mysql aiuto per query select

    Citazione Originariamente scritto da Asterix Vedi messaggio
    ...

    questa query funziona se io nel campo mod_productid metto un singolo valore

    il $pid viene passato tramite un indirizzo web es. http://forum.dev/misc.php?do=productcheck&pid=prod1

    ho provato con il like '%$pid%' ma mi estrae anche altri valori che contengo prod1 e questo non va bene, mentre con il solo like '$pid' non mi estrae nulla.
    ...
    Scusa ma non capisco
    La prima query funziona solo se hai un valore singolo, mentre la seconda funziona per tutti i valori che contengono quel pattern, mi sembra chiaro. Dove sta il problema? Dipende tu quello che vuoi fare, se vuoi che il campo abbia SOLO quel valore, usi il "=", se vuoi ANCHE quel valore usi il "LIKE" (usando il %)
    Puoi farmi qualche esempio?

    PS usare un campo con multipli valori separati tra loro non e' proprio una buona idea, va contro l'idea di base di un relational database (ma questo dovresti saperlo gia')

  4. #3
    Data registrazione
    Jan 2009
    Sesso
    Boh
    Località
    Vicenza
    Messaggi
    2,689
    Grazie dati 
    445
    Grazie ricevuti 
    2,879
    Ringraziato in
    1,250 post

    Riferimento: Mysql aiuto per query select

    Ciao Marco

    scusami per il ritardo ma ho visto solo oggi la tua risposta

    il mio productid lato server puo' avere più valori mentre lato client no solo uno che lo passo nel link.

    es.

    prodotto 1 con i valori id: pippo, pippo242
    prodotto 2 con i valori id: granpippo

    se io voglio aggiornare pippo242 e utilizzo il like con pippo mi seleziona anche il prodotto 2 e questo a me non va bene in quanto l'aggiornamento automatico mi cancella anche il prodotto 1, io vorrei capire se c'è qualche cosa che mi preleva ad esempio solo pippo242 dal record o solo granpippo.

    Questa funzione mi serve per i miei plugin di vbulletin, su vb.org c'è questa possibilità quindi è fattibile ma sull'addon che ho trovato io per la gestione degli addon no o meglio c'è per un solo valore.

    ama la vita.... è l'unico regalo che non riceverai due volte.....

  5. #4
    Data registrazione
    Jan 2010
    Sesso
    Uomo
    Località
    California
    Messaggi
    1,079
    Grazie dati 
    569
    Grazie ricevuti 
    1,351
    Ringraziato in
    694 post

    Riferimento: Mysql aiuto per query select

    ok, ho capito che hai questi due record:

    prodotto 1 con i valori id: pippo, pippo242
    prodotto 2 con i valori id: granpippo

    dopo l'aggiornamento, mi fai un esempio di come dovrebbero essere?

    Ma mi sa che non sia facile. Se usi "like %pippo%", ovvio che ti seleziona tutti i record, anche pippo242 e granpippo.
    Scusa sai, non sono un esperto di "campi multipli", da noi sono un "no, no"

  6. #5
    Data registrazione
    Jan 2009
    Sesso
    Boh
    Località
    Vicenza
    Messaggi
    2,689
    Grazie dati 
    445
    Grazie ricevuti 
    2,879
    Ringraziato in
    1,250 post

    Riferimento: Mysql aiuto per query select

    Mi sono spiegato male

    nel mio server ho questo tracciato record:
    titolo plugin | versione | id controllo versione

    prodotto secondo post ads | versione 1.5 | ct_ads_secondo, ct_ads_secondo_4200
    prodotto solved thread | versione 2.5 | ct_solved_4200

    ora io faccio un aggiornamento del plugin e nello script passo il controllo di versione

    io ho utenti che hanno installato il plugin con il controllo di versione ct_ads_secondo e versione 0.9 mentre altri utenti hanno installato il plugin con controllo versone ct_ads_secondo_4200 e versione 1.4

    se il controllo di versione è ct_ads_secondo gli dico di disinstallare il plugin presente e reinstallare quello nuovo aggiornando alla versione 1.5
    se il controllo di versione è ct_ads_secondo_4200 non deve disinstallare ma solo aggiornare alla versione 1.5

    il prodotto è il medesimo e non devo creare un nuovo record

    come vedi il like non puo' andar bene in quanto prenderei tutti e due i prodotti
    forse ora mi sono spiegato meglio almeno lo spero

    ama la vita.... è l'unico regalo che non riceverai due volte.....

Segnalibri

Regole di scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Cookies:direttiva 2009/136/CE (E-Privacy)

Il sito utilizza cookies propri e di terze parti per maggiori informazioni faq - Termini di servizio - Cookies
Il forum non puo' funzionare senza l'uso dei cookies pertanto l'uso della community è vincolato dall'accettazione degli stessi, nel caso contrario siete pregati di lasciare la community, proseguendo la navigazione acconsenti all’uso dei cookie