Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310

    Ajax: form di ricerca autocomplete

    ho trovato questo script

    http://www.brandspankingnew.net/spec...ocomplete.html

    scrivete SCOTT nella casella e appare il risultato per l'array che inizia con quell'elemento (Scott Clover)

    me se provate a scrivere CLOVER non appare.. come posso modificare lo script per cercare nella stringa intera e non solo per avere una corrispondenza con l'inizio stringa?

    Codice PHP:
        $aUsers = array(
            
    "Scott, Clover",
            
    "Smith, Estella",
            
    "Smothers, Matthew",
            
    "Stainforth, Maurene",
            
    "Stephenson, Phillipa",
            
    "Stewart, Hyram",
            
    "Stough, Gussie",
            
    "Strickland, Temple",
            
    "Sullivan, Gertie",
            
    "Swink, Stefanie",
            
    "Tavoularis, Terance",
            
    "Taylor, Kizzy",
            
    "Thigpen, Alwyn",
            
    "Treeby, Jim",
            
    "Trevithick, Jayme"
        
    );
        
        
    $input strtolower$_GET['input'] );
        
    $len strlen($input);
        
        
        
    $aResults = array();
        
        if (
    $len)
        {
            for (
    $i=0;$i<count($aUsers);$i++)
            {
                
    // had to use utf_decode, here
                // not necessary if the results are coming from mysql
                //
                
    if (strtolower(substr(utf8_decode($aUsers[$i]),0,$len)) == $input)
                    
    $aResults[] = array( "id"=>($i+1) ,"value"=>htmlspecialchars($aUsers[$i]));
            }
        }
        
        
    header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
        
    header ("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT"); // always modified
        
    header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
        
    header ("Pragma: no-cache"); // HTTP/1.0
        
        
    if (isset($_REQUEST['json']))
        {
            
    header("Content-Type: application/json");
        
            echo 
    "{\"results\": [";
            
    $arr = array();
            for (
    $i=0;$i<count($aResults);$i++)
            {
                
    $arr[] = "{\"id\": \"".$aResults[$i]['id']."\", \"value\": \"".$aResults[$i]['value']."\", \"info\": \"\"}";
            }
            echo 
    implode(", "$arr);
            echo 
    "]}";
        } 
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  2. #2
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    ho trovato come controllare dentro tutta la stringa

    basta mettere al posto di

    Codice PHP:
    if (strtolower(substr(utf8_decode($aUsers[$i]),0,$len)) == $input
    questo

    Codice PHP:
    if (stristr($aUsers[$i], $input)) 
    per avere un confronto non-sensitivecase

    unico problema. Se digiti una parte di stringa che inizia, tipo S poi M fa la scelta correttamente. Se invece digiti lettera per lettera (ma una stringa che non comincia all'inizio) quindi se digito

    C

    appaiono tutte le scelte , tra cui anche Clover.. ma se poi digito L dice NO FOUNDS. Praticamente ad ogni lettera pari dice non found, se continuo quindi scrivo CLO trova giustamente CLOVER. Alle lettere pari sembra che non faccia il controllo...

    se qualcuno sa aiutarmi gliene sarei grato

    EDIT: alle volte lo fa con le letter dispari, alle volte con quelle pari. Dipende quanto velocemente digiti le lettere una dietro l'altra. Per esempio se digito subito CLOVER/CLO/CLOV appare subito senza problemi , ma se digito più lentamente una lettera dopo l'altra non funziona sempre a dovere

    qua la demo

    http://blekm.altervista.org/ajax.html
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.