Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    72

    array da un file di testo txt

    Ciao a tutti,

    ho un problema sulla costruzione di un array a partire da un file txt.

    in pratica ho questo file txt: categoria 1, categoria 2, categoria 3...

    e tramite php devo leggere il file, trasformarlo in un array per poi utilizzare l'array in una funzione javascript...

    Il problema e' che non trovo la funzione corretta per utilizzare l'array come semplice variabile:
    $var = array("categoria1", "categoria 2", "categoria 3");
    variabile che poi verra' letta da javascript tramite costrutto ajax: json_encode.

    Grazie in anticipo.
    ciao

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Il file contiene solo i nomi di categorie divise da virgola? In tal caso ti basta explode().
    Se non fosse così, spiega meglio.

    P.S. json_encode() è una funzione PHP che eventualmente dovrai usare prima di restituire i dati a Javascript, non è un costrutto AJAX.
    Ultima modifica di Alhazred; 04-07-2018 a 13:43

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    72
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Il file contiene solo i nomi di categorie divise da virgola? In tal caso ti basta explode().
    Se non fosse cos�, spiega meglio.

    P.S. json_encode() � una funzione PHP che eventualmente dovrai usare prima di restituire i dati a Javascript, non � un costrutto AJAX.

    Ciao Alhazred, grazie per il tuo aiuto! Tuttavia non riesco a capire come risolvere il mio problema:

    pagina array_categorie.php:
    codice:
    $file = $_SERVER["DOCUMENT_ROOT"].'/categoria/categorie.txt';
    
    
    $fp = fopen($file, "r");
    
    
    if(!$fp) die ("Errore nell'operazione con il file");
    
    
    $bytes = filesize($file);
    
    
    $data = fread($fp, $bytes);
    
    
    $os1cat =  explode(",", $data);



    pagina php contenente funzione js:
    codice:
    include('array_categorie.php');
    $js_array = json_encode($os1cat);
    
    
    echo'
    <script>
    var tags =    '.stripslashes($js_array).';
    $( "#elenco_categoria" ).autocomplete({ minLength: 2,
      source: function( request, response ) {
              var matcher = new RegExp( "^" + $.ui.autocomplete.escapeRegex( request.term ), "i" );
              response( $.grep( tags, function( item ){
                  return matcher.test( item );
                 
              }) );
          }
    });
    
    
    </script>';

    in pratica autocomplete js deve leggere l'array e permettermi di visualizzarne i valori contenuti tramite un menu a tendina di un campo input il cui id è elenco_categoria...

    cosi' come ho costruito l'array pero' mi visualizza solo il primo valore dell'array... dove sto sbagliando?

    grazie ancora!
    Ultima modifica di gianluis; 05-07-2018 a 13:09

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    72
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Il file contiene solo i nomi di categorie divise da virgola? In tal caso ti basta explode().
    Se non fosse così, spiega meglio.

    P.S. json_encode() è una funzione PHP che eventualmente dovrai usare prima di restituire i dati a Javascript, non è un costrutto AJAX.
    si, per la funzione json_encode() mi ero espresso male... perdonami

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    72
    come non detto... l'errore stava nel file txt: categoria 1, categoria 2, categoria 3
    ho dovuto eliminare gli spazi:
    categoria 1,categoria 2,categoria 3

    ora funziona!!!


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