Visualizzazione dei risultati da 1 a 8 su 8

Discussione: problemi su una select

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683

    problemi su una select

    ciao a tutti!! sto creando un cerca avanzato con più campi, quindi se uno non inserisce un campo (che per via della registrazione vien sempre settato) la query non mi fornirà nessun risultato, quindi devo saper gestire questa eccezione.
    io con una serie di if cre creano le giusta select... l'altro problema che si pone è questo:
    Siccome ogni utente ha 5 campi nel database (lav1, lav2, lav3, lav4, lav5) dove grazie a una selecr uno può dire che lavoro sa fare, quindi io metto a disposizione massimo 5 campi dove uno può dire che lavori sa fare..
    quindi la SELECT dovrebbe essere una cosa del genere (credo):

    SELECT * FROM utenti WHERE provincia='$provincia' AND (lav1='$lavoro' OR lav2='$lavoro' OR lav3='$lavoro' OR lav4='$lavoro' OR lav5='$lavoro')

    sicuramente è sbagliata, ma dove? come la sistemo?

    grazie

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    secondo me è giusta

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    il mio dubbio era che non si potessero usare le parentesi... eppure mi da l'errore php che dice che la query non ha prodotto nessun risultato

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    prova a stampare la query

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    si in realtà c'è mola più roba ma se stampo la query viene:

    SELECT * FROM utenti WHERE provincia='AG' AND (lav1='cuoco' OR lav2='cuoco' OR lav3='cuoco' OR lav4='cuoco' OR lav5='cuoco') AND (lav1_val='5' OR lav2_val='5' OR lav3_val='5' OR lav4_val='5' lav5_val='5') AND (lav1_dip='1' OR lav2_dip='1' OR lav3_dip='1' OR lav4_dip='1' OR lav5_dip='1') AND (anni1='2' OR anni2='2' OR anni3='2' OR anni4='2' OR anni5='2') ORDER BY 'valutazione' ASC

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in .../cerca.php on line 73

  6. #6
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    prova a eseguire quella query nel db

  7. #7
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    se i campi del db sono numerici va scritto lav1_dip=1 e non lav1_dip='1'

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    noooooooooooooooooo ho trovato l'errore!!!
    lav4_val='5' lav5_val='5'
    al posto di
    lav4_val='5' OR lav5_val='5'

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.