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

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    28

    Problemi con menu a tendina

    Buongiorno a tutti,

    io ho creato un menù a tendina, con 6 opzioni diverse più una vuota.
    Ho creato una query con Select dal database e funziona.
    L'unico problema è che se lascio la select vuota lui non mi trova nulla. Invece io vorrei che elencasse tutto.

    Come posso fare?

    Grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Di sicuro sbagli a generare la query, ma se non mostri il codice che usi al momento è impossibile dirti cosa devi modificare.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    28
    Hai ragione.

    eccolo
    $query = "SELECT TOP 21 * FROM nl_newsletter WHERE (1=1)";

    /*ricerca con vincolo testo*/
    if (isset($text) && (trim($text)!=''))
    {
    $query.= " AND titolo LIKE '%".mysql_escape_string($text)."%'";

    }
    /*ricerca con vincolo centro commerciale*/
    if (isset($centro_commerciale))
    {
    $query.= " AND sito LIKE '%".mysql_escape_string($centro_commerciale)."%' ";
    }


    /*ricerca con vincolo data da*/
    $da=htmlspecialchars($date_da);

    if (isset($date_da))
    {
    $query.= " AND data_invio >= '$da'";
    }

    /*ricerca con vincolo data a*/
    $a=htmlspecialchars($date_a);

    if (isset($date_a))
    {
    $query.= " AND data_invio < '$a'";
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    28
    Tra l'altro anche la data mi da problemi. Se le setto tutte e due mi trova tutto se setto solo $date_a anche, ma se setto solo $date_da non mi trova nulla.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    208
    Psst Dada, usa il tag [ PHP ] per il codice, che così è durissimo da leggere...

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    28
    Sorry.
    Codice PHP:


    $query 
    "SELECT TOP 21 * FROM nl_newsletter WHERE (1=1)";

    /*ricerca con vincolo testo*/

            
    if (isset($text) && (trim($text)!=''))

            {            
    $query.= " AND titolo LIKE '%".mysql_escape_string($text)."%'";                    }

    /*ricerca con vincolo centro commerciale*/

            
    if (isset($centro_commerciale))

            {

                
    $query.= " AND sito LIKE '%".mysql_escape_string($centro_commerciale)."%'";

            }

    /*ricerca con vincolo data da*/

            
    $da=htmlspecialchars($date_da);

                    if (isset(
    $date_da))

            {

                
    $query.= " AND data_invio >= '$da'";

            }

    /*ricerca con vincolo data a*/

            
    $a=htmlspecialchars($date_a);

                    if (isset(
    $date_a))

            {

                
    $query.= " AND data_invio <= '$a'";

            } 
    Ultima modifica di dada124; 13-03-2014 a 18:39

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    208
    Allora, qui intanto ad occhio conto solo 4 opzioni, ma potresti aver troncato il codice per facilità di post.

    Seconda cosa. Il caso "vuoto" dovrai codificarlo con una select ad hoc che semplicemente richiami i dati senza tutte le condizioni:

    Codice PHP:
    if (isset($empty)) {
           
    $query"SELECT * FROM nl_newsletter LIMIT //metti qui il limite o le opzioni che vuoi
         } 
    Ultima cosa: lassù nella query "select top 21 *"? Spero di aver compreso quello che volevi e di aver centrato la cosa.

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    28
    Il "top 21 *" è per far si che di tutti i risultati che prende mi deve stampare solo i primi 21.

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    28
    Non funziona la soluzione che mi hai dato.

    Per quanto riguarda albx87, si uso SQL Server e non ho provato ad eseguirla direttamente su database.

    Altre soluzioni?

  10. #10
    Che database usi? SQL Server? Hai provato ad eseguire la query direttamente su database?
    http://www.morialberto.it

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.