Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di paw
    Registrato dal
    Dec 2002
    Messaggi
    336

    query con spazi nel campo ricerca

    ciao

    sto utilizzando questo codice per interrogare una tabella di annunci

    il problema è che se il campo colname_ricerca contiene degli spazi la query mi restituisce 0 risultati.

    Non conosco bene il PHP per cui penso di dover modificare qualcosa in questo codice.

    <?php
    $colname_ricerca = "1";
    if (isset($_GET['dove'])) {
    $colname_ricerca = (get_magic_quotes_gpc()) ? $_GET['dove'] : addslashes($_GET['dove']);
    };
    $colname_ricerca="%".$colname_ricerca."%";
    mysql_select_db($database_annunci, $annunci);
    $query_ricerca = "SELECT * FROM classifieds_advertisement WHERE col_7 LIKE '$colname_ricerca' ORDER BY col_7 ASC";
    $ricerca = mysql_query($query_ricerca) or die(mysql_error());
    $row_ricerca = mysql_fetch_assoc($ricerca);
    $totalRows_ricerca = mysql_num_rows($ricerca);
    ?>

    qualcuno mi può aiutare ?

    grazie

    Antonella

  2. #2
    quando hai dubbi stampa la query per vedere come sono risolte le variabili. La maggior parte delle volte trovi il problema.

    echo $query_ricerca;

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di paw
    Registrato dal
    Dec 2002
    Messaggi
    336
    l'ho fatto

    se il campo da cercare è "parola1, parola2" la query viene :

    SELECT * FROM classifieds_advertisement WHERE col_7 LIKE '%campo1,%' ORDER BY col_7 ASC

    evidentemente l'istruzione:

    $colname_ricerca="%".$colname_ricerca."%";

    si ferma al primo spazio

    ma come si fa a dire di prendere tutta la stringa ?

  4. #4
    ntanto se metti:

    like '%parola1, parola2%'

    ti trovera' solo se esiste nel campo "parola1, parola2" esattamente come scritto.


    verifica come passi lo spazio tramite query string. dovrebbe essere parola1,%20parola2

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it L'avatar di paw
    Registrato dal
    Dec 2002
    Messaggi
    336
    like '%parola1, parola2%' dovrebbe essere giusto

    nel senso che io cerco all'interno del database degli annunci relativi a una località selezionata da un select che ho riempito io....mi spiego:

    nella select io metto
    "comune, frazione1"
    "comune, frazione2"
    "comune, frazione3"
    .....

    l'utente selezione per esempio "comune, frazione2" e io devo trovare tutti gli annunci ( che ho sempre scritto io ) nella località "comune, frazione2"

    ma come faccio a mettere %20 al posto dello spazio?

    la option selezionata dalla select io la prendo qui

    if (isset($_GET['dove'])) {
    $colname_ricerca = (get_magic_quotes_gpc()) ? $_GET['dove'] : addslashes($_GET['dove']);
    };

    (la select si chiama "dove")

  6. #6
    importa di piu' come formi l'URL.....

    se esegui:

    print_r($_GET);

    cosa ti stampa?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it L'avatar di paw
    Registrato dal
    Dec 2002
    Messaggi
    336
    questo è quello che mi stampa con print_r($_GET);

    Array ( [dove] => comune1, [tipologia] => 0 [mq] => 0 [camere] => [bagni] => [prezzo] => 0 [search] => Cerca )

    mentre il campo [dove] dovrebbe essere = "comune1, frazione1"

    dove sbaglio ?

  8. #8
    come vedi il problema e' "prima" di quella pagina, tu ricevi solo la prima parte della parola e tanto ti fa gestire quello che hai postato sinora.

    passa alla pagina che invia il link e controlla "come" lo invii.... l'inghippo e' li'.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Utente di HTML.it L'avatar di paw
    Registrato dal
    Dec 2002
    Messaggi
    336
    scusa posso chiederti ancora un aiuto ?

    Cosa vuol dire:
    "come vedi il problema e' "prima" di quella pagina, tu ricevi solo la prima parte della parola e tanto ti fa gestire quello che hai postato sinora."

    letteralmente capisco cosa vuoi dire e sono d'accordo ma io ho solo un form nella prima pagina (ricerca.php) che ha:

    <form name="ricerca" method="get" class="search" action="ricerca-casa.php">

    e al suo interno:

    <select id="dove" name="dove">
    .......


    quindi io passo a ricerca-casa.php il campo "dove" che contiene la option selezionata es:"comune1, frazione1"

    come dovrei fare ?

  10. #10
    prova a mettere il value = ""

    <select id="dove" name="dove" value="">

    Mi chiedo pero', visto che non si tratta di un link, perche' non passi i dati con POST.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.