Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di CRM
    Registrato dal
    Apr 2002
    Messaggi
    118

    lista: come fareste voi?

    ciao
    ho una domanda/curiosità/indovinello:
    Come fareste voi se doveste mettere su una pagina html il contenuto di una lista (righe e colonne) che vi viene data in .doc?
    Intendo qual'è il metodo più veloce (per evitare di scrivere tutto a mano) visto che poi la lista va aggiornata ogni settimana?

    Attenzione però: ad ogni riga della lista io associo un checkbox di scelta per cui c'è di mezzo pure un form.

    Inoltre come fareste a fare in modo che l'utente non ne scelga più di 10 di queste righe nella lista?


  2. #2
    Utente di HTML.it L'avatar di CRM
    Registrato dal
    Apr 2002
    Messaggi
    118
    Praticamente devo fare così:
    mi arriva un file .doc con una lista di nomi e cognomi messi su due colonne.
    Io devo fare in modo di trasformare questa lista .doc in una lista dentro un file .php ma aggiungendo ad ogni riga (e per ogni riga) un checkbox, quindi la tabella diventa a 3 colonne così:

    Prima colonna
    <input type="checkbox" name="nome_checkbox" value="pier maria|rossi">

    Seconda colonna:
    Pier maria

    Terza colonna:
    Rossi

    I checkbox devono portare come valore nome e cognome (io gli ho inseriti col | per dividerli in seguito)
    Il problema è:
    Come faccio a parsare i .doc in .php? Ossia a trasformare la lista .doc a 2 colonne in una lista in .php a 3 colonne?
    Come faccio a dare i nomi ai checkbox?
    Come faccio a fare in modo da riconoscere nella pagina che riceve i dati del modulo quali checkbox sono stati ceccati (ossia come intercetto il nome giusto del checkbox ceccato)?
    Inoltre come faccio a fare in modo che l'utente ne possa ceccare AL MASSIMO 10 di questi checkbox? (forse con Js?)

    Questi qui sono di fatto i miei problemi

  3. #3
    Rispondo al titolo...

    Mi farei passare il file in formato .txt


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

  4. #4
    Allora, prima di tutto devi affrontare un problema per volta. Per controllare che ne siano selezionati al massimo 10 devi usare JS, oppure fare un controllo lato server. Per raccogliere i risultati devi metterli in un array:

    Codice PHP:
    $name $_POST['nome_checkbox'];

    foreach(
    $name as $myvar){

          echo 
    $myvar."
    "
    ;


    Passa i valori della form allo script qui sopra e capisci cosa devi fare.

    Il primo problema e' stampare il .doc, ammettiamo che sia cosi'

    Nome|Cognome
    Nomine|Mutato

    Come prima cosa devi trasformare il doc in un file di testo, puoi farlo a mano, oppure se usi linux in uno di questi modi:

    antiword <filedoc> > <file.txt>
    abiword --to=txt <filedoc>

    Ora hai il tuo file TXT con i nomi|cognomi

    quindi

    Codice PHP:
    # leggiamo il file riga per riga
    $txt "file.txt";

    $fd fopen ($txt"r");
    while (!
    feof ($fd)) {
    # memorizza ogni riga in una variabile $buffer
    $buffer fgets($fd4096);
    # separa nome e cognome
    $buffer split("|",$buffer);
    $nome $buffer[0];
    $cognome $buffer[1];

    # stampo a video
    echo "

    "
    ;
    echo 
    "<input type='checkbox' name='nome' value='".$buffer."/>";
    echo 
    $nome;
    echo 
    $cognome;
    echo 
    "</p>";

    }

    fclose($fp); 
    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

  5. #5
    Utente di HTML.it L'avatar di CRM
    Registrato dal
    Apr 2002
    Messaggi
    118
    dunque, grazie mille per l'aiuto.
    Io cmq uso Windows, per controllare che al max 10 siano selezionati userò JS.
    Quanto allo script php .. ma allora devo dare lo stesso nome ai checkbox?

    Come faccio sennò a fare questo controllo

    $name = $_POST['nome_checkbox'];

    foreach($name as $myvar){

    echo $myvar."
    ";

    }

    dentro a $name ci sarà sempre lo stesso nome di checkbox giusto?
    Invece non dovrei avere un nome diverso per ogni checkbox?

    Per trasformare un .doc in .txt basta copiare e rinominare .txt un file?



  6. #6
    Utente di HTML.it L'avatar di CRM
    Registrato dal
    Apr 2002
    Messaggi
    118
    Grazie ragazzi grazie mille!

    Alla fine sono riuscito a fare il controllo con JS per limitare a 10 la scelta ma in seguito mi sono accorto che su 2800 righe (!) il JS mi impallava un pò il Client nel fare il controllo così ho fatto fare il controllo nella pagina ricevente da php evitando il blocco del pc.
    Quanto al nome delle checkbox è bastato usare un nome unico tipo chk[]
    le parentesi [] fanno in modo che questo nome diventi un array nella pagina ricevente così riesco ad intercettare i giusti valori.

    Quanto al parse da .doc a php ho fatto come mi aveva detto Mutato che ringrazio, in pratica split() è come explode() .. non so se quale dei due stressa di + la macchina cmq io ho usato split.
    E funziona tutto a dovere!
    (occhio che è fclose($fd) e non $fp alla fine )
    Grazie ancora ad HTML! sto magnifico sito.

  7. #7
    Originariamente inviato da CRM
    Quanto al parse da .doc a php ho fatto come mi aveva detto Mutato che ringrazio, in pratica split() è come explode() .. non so se quale dei due stressa di + la macchina cmq io ho usato split.
    Ciao, split() differisce da explode() per il supporto alle espressioni regolari, explode() stressa meno la macchina perche' non interroga il motore delle espressioni regolari, inoltre non hai il problema dell'escape dei caratteri.
    http://it.php.net/split

    Se non ti servono espressioni regolari, userei explode.

    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

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.