Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Lucas1
    Registrato dal
    Mar 2005
    Messaggi
    100

    Contare il numero di variabili globali

    Ciao a tutti!

    Ho un form che mi invia un numero variabile di input (aumentabili tramite javascipt) ad un'altra pagina.

    Come faccio a contare quante variabili ci sono in $_POST in modo da effettuare un query al db MySql che inserisca tante righe quante sono le variabili?

    Grazie 1000 in anticipo!


  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    codice:
    echo count($_POST);
    ciao

  3. #3
    Utente di HTML.it L'avatar di Lucas1
    Registrato dal
    Mar 2005
    Messaggi
    100
    Azz! semplice

    E per inserire tanti record quante solo le variabili $_POST['prodottoX'] (dove X è il numero che varia a seconda di quanti se ne inseriscono nel form alla pagina prima), come si può fare?

    grazie!

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    fai un ciclo su post che è un array:

    codice:
    $len = count($_POST);
    
    for($i = 0; $i < $len ; $i++) {
      // inserisco $_POST[$i];
    }
    Se vuoi puoi usare anche foreach che è leggermente più lento, ma tiene conto anche delle chiavi.

    Per quanto riguarda l'inserimento, non fidarti però di quello che arriva via post, fai un controllo sulle variabili prima di fare l'inserimento.

    ciao

  5. #5
    Utente di HTML.it L'avatar di Lucas1
    Registrato dal
    Mar 2005
    Messaggi
    100
    Grazie davvero, sei stato chiarissimo ed esauriente in tre righe.

    Un'ultimissima domanda: dentro a $_POST ci sono anche altre variabili, mentre io vorrei contare specificatamente quelle dei prodotti $_POST['prodottoX']. Devo usare un exlplode o qualcosa di simile..? C'è una funzione apposta...?

    Grazie ancora!

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    potresti dare come name del campo input che generi dinamicamente un array:

    tipo:

    codice:
    <input type="text" name="prodotti[]" value="" />
    cosi in post avrai

    $_POST['prodotti'][0]
    $_POST['prodotti'][1]
    $_POST['prodotti'][2]
    ecc...

    cosi puoi contare gli elementi di $_POST['prodotti'] e operare su quelli.

    L'alternativa è usare foreach

    codice:
    foreach($_POST as $chiave => $valore) {
      // controlli che $chiave inizi con "prodotto" e se la 
      // condizione è soddisfatta controlli il contenuto di $valore e lo inserisci.
    }
    ciao

  7. #7
    Utente di HTML.it L'avatar di Lucas1
    Registrato dal
    Mar 2005
    Messaggi
    100
    cosi puoi contare gli elementi di $_POST['prodotti'] e operare su quelli.
    Furbata!

    codice:
    count($_POST['prodotto']);
    giusto?

    ps: Il tuo nome utente è molto appropriato!

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    si esatto

    Comunque il mio nick non deriva da genius... (non sono cosi presuntuoso)

  9. #9
    Utente di HTML.it L'avatar di Lucas1
    Registrato dal
    Mar 2005
    Messaggi
    100
    Originariamente inviato da gianiaz
    Comunque il mio nick non deriva da genius... (non sono cosi presuntuoso)
    Quand'è così te lo appioppo io.

    Ho lavorato un po' sullo script e funziona tutto alla grande

    thanks!

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.