Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. MySQL - Ricerca Full-Text
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • R
      rikicecchi User • 22 mag 2009, 13:06 ultima modifica di

      MySQL - Ricerca Full-Text

      Ciao a tutti :gthi:!
      Seguendo un tutorial di un sito web ho tentato di fare un piccolo motore di ricerca per il mio database prendendo spunto dalla seguente query di esempio dal sito:```
      SELECT *, MATCH(indirizzo, nome, descrizione) AGAINST('milano') AS attinenza FROM locali WHERE MATCH(indirizzo, nome, descrizione) AGAINST('milano') ORDER BY attinenza DESC

      Ne riporto la pagina "search.php":
      
      

      <?php
      ob_start();

      function stripScriptTags($string) {
      $string=ereg_replace("<!--", "<!--", $string);
      $string=ereg_replace("<", "<", $string);
      $string=ereg_replace(">", ">", $string);
      $string=ereg_replace("-->", "-->", $string);
      $string=ereg_replace("=", "&#61", $string);
      $string=ereg_replace(""", """, $string);
      $string=ereg_replace("'", "'", $string);
      return $string;
      }

      include "connect.php";

      $query = "SELECT *, MATCH(nome , desc , tags , user) AGAINST('".stripScriptTags($_POST['search'])."')
      AS attinenza FROM application WHERE MATCH(nome , desc , tags , user)
      AGAINST('".stripScriptTags($_POST['search'])."') ORDER BY attinenza DESC ";

      $results = mysql_query($query) or die (mysql_error());

      while ($row = mysql_fetch_array($results))
      {
      extract ($row);

      echo "$nome <br>";

      }

      ?>

      Non capisco quale sia il problema! Mi aiutate?
      
      Questo è per un sito che sto programmando per la condivisione di codice online opensource gratis (ovviamente), non vorrei che qualcuno pensasse che chieda aiuto a mio profitto. Grazie :wink3:
      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
        Caricamento altri post
        Rispondi
        • Topic risposta
        Effettua l'accesso per rispondere
        • Da Vecchi a Nuovi
        • Da Nuovi a Vecchi
        • Più Voti
         

      • S
        sydarex User • 22 mag 2009, 15:07 ultima modifica di

        Quando ti trovi in una situazione come questa, per prima cosa fai un echo di $query per debug, e quarda la query generata dallo script.
        Magari postala che la vediamo insieme.

        Intanto, sei sicuro che fulltext sia abilitato e gli indici siano creati correttamente?

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • R
          rikicecchi User • 22 mag 2009, 16:24 ultima modifica di

          @sydarex said:

          Quando ti trovi in una situazione come questa, per prima cosa fai un echo di $query per debug, e quarda la query generata dallo script.
          Magari postala che la vediamo insieme.

          Intanto, sei sicuro che fulltext sia abilitato e gli indici siano creati correttamente?
          Questa è la query ottenuta:

          SELECT *, MATCH(nome , desc , tags , user) AGAINST('ciao') AS attinenza FROM application WHERE MATCH(nome , desc , tags , user) AGAINST('ciao') ORDER BY attinenza DESC
          

          e la tabella è composta dalle seguenti colonne:
          "id nome desc tags number user"

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • S
            sydarex User • 22 mag 2009, 16:51 ultima modifica di

            Sicuro di aver creato correttamente gli indici Fulltext?

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • R
              rikicecchi User • 22 mag 2009, 17:08 ultima modifica di

              @sydarex said:

              Sicuro di aver creato correttamente gli indici Fulltext?
              Credo di sì! Su phpmyadmin ho selezionato quelle 4 colonne ed ho cliccato su "Se selezionate --> Full Text (Testo Completo)"

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • R
                rikicecchi User • 22 mag 2009, 17:21 ultima modifica di

                @sydarex said:

                Sicuro di aver creato correttamente gli indici Fulltext?
                Credo di aver capito! Infatti una colonna si chiama "desc" proprio come la funzione "DESC". E' lì che avviene l'errore,viene frainteso. Devo mettere desc fra "": desc` giusto?

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • R
                  rikicecchi User • 22 mag 2009, 17:22 ultima modifica di

                  Problema risolto!

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • R
                    rikicecchi User • 22 mag 2009, 17:22 ultima modifica di

                    @rikicecchi said:

                    Credo di aver capito! Infatti una colonna si chiama "desc" proprio come la funzione "DESC". E' lì che avviene l'errore,viene frainteso. Devo mettere desc fra "": desc` giusto?
                    Grazie di tutto, ho risolto il problema 😉

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    Caricamento altri post
                    Rispondi
                    • Topic risposta
                    Effettua l'accesso per rispondere
                    • Da Vecchi a Nuovi
                    • Da Nuovi a Vecchi
                    • Più Voti