Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    $_POST array di valori array....

    Ciao a tutti, spiego il mio problema...
    A me serve che l'utente inserisca il barcode una volta fatto ciò clicca su visto, a quel punto entra in atto la parte del pulsante, che legge il valore inserito effettua una query per contollare che esiste quel barcode, nel caso in cui esiste compila da solo descrizione e prezzo, altrimenti da un alert di errore. Nel momento in cui i campi vengono compilati, c'è una while che vede se i campi sono diversi da null (=!null) se è vero crea un altra riga con i parametri gemelli a quella di sopra. Ecco perchè mi serve che i valori siano dentro un array... Ovviamente non posso sapere quante volte viene iterata questa cosa.. Ecco perche una while e non una for...
    Spero di essermi spiegato bene...

    Io ho un form composto cosi:
    codice:
    <table> <form action="" method="post"> <tr>     <td><input type="text" placeholder="Barcode" name="barcodeart[]" id="barcodeart" size="10" value="<?php echo $barcodevisto[$a]; ?>"></td>     <td><input type="submit" class="visto" name="visto[]" onclick= "this.form.action=<?php htmlspecialchars($_SERVER['PHP_SELF'])?> "></td>     <td><input type="text" placeholder="Descrizione" name="descrizione[]" id="descrizione" size="32" value="<?php echo $descrizione[$a]; ?>"></td>     <td><input type="text" style="text-align:center" placeholder="Qnt" name="campo[]" id="quantita" size="3" value="1"></td>     <td><input type="text" placeholder="Prezzo" name="prezzo[]" id="prezzo" size="5" value="<?php echo $prezzo[$s]; ?>" ></td>     <td><input type="text" placeholder="Sc %" name="scontoperc[]" id="scontoperc" size="3"></td>     <td><input type="text" placeholder="Sc VAL" name="scontoval[]" id="scontoval" size="4"></td>     <td><input type="text" placeholder="P.Scontato" name="prezzosconto[]" id="prezzosconto" size="6"></td>   </tr>   </form>   </table>
    Ora da come potete vedere quando si preme il pulsante visto esegue una query al DB cosi composta :
    Codice PHP:
     <?php if(isset($_POST['visto'])){     $barcodevisto=$_POST[barcodeart];     $queryart=("SELECT * FROM articoli WHERE Barcode='$barcodevisto'") or die (mysql_error());      $result MYSQL_QUERY($queryart) or die('Query failed: ' mysql_error() . "
    \n
    $sql");      //verifico che esista una una card con tale barcode      $esistebc=mysql_num_rows($result);     //se $esiste == 0 non cè     if($esistebc > 0){//esiste         //estraggo usn e pass         $righi=mysql_fetch_array($result);         $barcodenew=$righi[Barcode];         $descrizione=$righi[Descrizione];         $prezzo=$righi[Vendita];         $fornitore=$righi[Fornitore];         $reparto=$righi[Reparto];                     } else {                         ?>                         <script>         alert('Email non trovata');     </script>     <?php     echo $barcodevisto;                            }  } } ?>
    La while che eseguo alla fine dei due processi è :

    Codice PHP:
    while (($barcodenew[$a] != null)&&($descrizione[$a] != null)&&($prezzo[$a] != null)){ ripeto il form 

  2. #2
    cerco di essere il piu chiaro possibile.. anche se è piu difficile da spiegare che da fare...

    Io ho una schermata dove ho 8 campi VUOTI...
    il primo campo è il valore BARCODE, in questo campo io inserisco il barcode.
    A questo punto a fianco al barcode ho un tasto (si chiama visto) che si preoccupa di leggere il dato inserito in barcode confrontarlo col database e inserire automaticamente i restanti campi vuoti (i campi a fianco barcode per capirci)
    Fin qui tutto ok ci riesco tranquillamente e funziona...

    Ora però c'è un problema.. questa iterazione io non so quante volte la vuole fare l'utente... Quindi i campi devono essere valori di un array (in questa maniera a fine form ho un tasto che prenderà tutti questi dati e li buttera nel database)

    Essendo iterata per N volte ogni volta che l'utente compila tutta la riga deve crearsi in automatico una riga GEMELLA a quella appena finita... Questa cosa la deve ripetere N volte finche l'utente non lascerà una riga vuota che verra interpetata come fine.

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.