Pagina 3 di 7 primaprima 1 2 3 4 5 ... ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 68
  1. #21
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    74
    nel caso si volessere utlizzare più tabelle?..

  2. #22
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    74
    nessuno?

  3. #23
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    grandissima pillola, la metto nei preferiti e non appena ho un attimo la studio ben benino!

    Originariamente inviato da d@lyn
    nessuno?
    non l'ho ancora provata, ma a sentimento dovrebbe lavorare anche con le join (inner, left)
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  4. #24
    ciao,
    ho utilizzato il codice di questa pillola per il mio motore, ho notato che se cerco parole composte da meno di 4 lettere (quindi da 3 in giù) il motore non restituisce risultati (anche se le parole cercate esistono nel database) come mai?
    Manifesto Aggiornato
    Sono proprietà privata di Reika

  5. #25
    Originariamente inviato da luigi.84
    ciao,
    ho utilizzato il codice di questa pillola per il mio motore, ho notato che se cerco parole composte da meno di 4 lettere (quindi da 3 in giù) il motore non restituisce risultati (anche se le parole cercate esistono nel database) come mai?
    http://dev.mysql.com/doc/refman/5.0/...ne-tuning.html

    The minimum and maximum lengths of words to be indexed are defined by the ft_min_word_len and ft_max_word_len system variables. (See Section 5.1.3, “System Variables”.) The default minimum value is four characters; the default maximum is version dependent. If you change either value, you must rebuild your FULLTEXT indexes. For example, if you want three-character words to be searchable, you can set the ft_min_word_len variable by putting the following lines in an option file:
    The default minimum value is four characters;


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

  6. #26
    grazie per il chiarimento


    edit:
    ho utilizzato l'operatore "*" per cercare anche le parole parziali, ora stranamente il motore funziona anche con parole di meno di 4 caratteri

    questa è la modifica

    Codice PHP:
    $this->DbConnectAndSelect();
    $sql "SELECT *, MATCH($this->fulltext) AGAINST('*$this->key*' IN BOOLEAN MODE) AS tot
     FROM 
    $this->table WHERE MATCH($this->fulltext) AGAINST('*$this->key*' IN BOOLEAN MODE) ORDER BY tot DESC"
    praticamente però non funziona sulla corrispondenza esatta

    cioè se io cerco "ala" (meno di 4 caratteri) e nel db ho "alan" (4 caratteri) la ricerca da risultati, ma se nel db ho la corrispondenza esatta "ala" (3 lettere) non la trova

    visto che non ho accesso diretto per modificare le impostazioni di mysql mi dovrò accontentare
    Manifesto Aggiornato
    Sono proprietà privata di Reika

  7. #27
    ciao,
    mi potete dire se c'è un modo per contare il totale dei risultati? se inserisco nella query il classico Count(id) as totale mi da errore (Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in)

    grazie
    Manifesto Aggiornato
    Sono proprietà privata di Reika

  8. #28
    Originariamente inviato da luigi.84
    ciao,
    mi potete dire se c'è un modo per contare il totale dei risultati? se inserisco nella query il classico Count(id) as totale mi da errore (Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in)

    grazie
    count() e' un raggruppamento di valori, quindi nella select metti il solo count() oppure devi fare un raggruppamento con group by, ma ti renderebbe una sola riga per gruppo.

    Meglio se fai una select count(*) seguita poi dalla select che ti estrae i valori.

    La segnalazione di errore da valutare e' quella che rilascia mysql_query() e non quella di mysql_fetch_array() perche' questa e' solo una conseguenza dell'errore precedente.

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

  9. #29
    non ho capito quello che hai scritto nel primo caso, nel secondo mi pare di capire che ti riferisci alla select innestata, che però non mi va

    Codice PHP:
    $sql "SELECT COUNT(*) AS totale FROM articoli WHERE id IN (SELECT *, MATCH($this->fulltext
    AGAINST('*
    $this->key*' IN BOOLEAN MODE) AS tot FROM categorie I INNER JOIN articoli C on I.id_cat = C.categoria  
    WHERE MATCH(
    $this->fulltext) AGAINST('*$this->key*' IN BOOLEAN MODE) 
    ORDER BY tot DESC) GROUP BY id"

    mi restituisce questo errore (che non avevo mai visto ) Operand should contain 1 column(s)
    Manifesto Aggiornato
    Sono proprietà privata di Reika

  10. #30
    fai due query select.

    nella prima conti i record, nella seconda estrai le tue tuple....

    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.