Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: foreach

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    518

    foreach

    Buonasera a tutti
    sto usando questo codice
    Codice PHP:
        foreach ($_POST['TPL_euro'] as $key => $v){
    $elenco $v
    if(
    $elenco != '')

        foreach (
    $_POST['TPL_cent'] as $key1 => $v1){
    $elenco1 $v1
    if(
    $elenco1 != '')

    echo
    "[b]$elenco[/b][b]$elenco1[/b]
    "
    ;
    }} 
    per recuperare i dati da un ARRAY, il codice funziona solamente che mi duplica i record.

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    per ogni elemento di $_POST['TPL_euro'] stampi tutti gli elemnti di $_POST['TPL_cent'].
    La logica di quello che fai è questa e quindi il risultato è giusto che duplichi. quello che vuoi fare di preciso non lo so e quindi difficile aiutarti

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    518
    Hai ragione.
    Ho 10 campi TPL_euro e 10 campi TPL_cent, se riempio il 1° campo TPL_euro ed il primo campo TPL_cent, mi deve stampare ad esempio €. 10,30, invece me lo stampa 2 volte.

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520


    il 10 te lo stampa una volta sola a meno che non sia ripetuto nel primo vettore

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    518
    Si, il problema nasce se inserisco 2 campi TPL_euro e 2 campi TPL_cent, se in serisco:
    1) 10,60
    2) 20,30
    a video stampo questo:
    10,60
    20,30
    10,60
    20,30

  6. #6
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    giusto che ti stampi 4 elemnti (2x2=4) che te li stampi così non mi torna
    dovrebbestampare così

    10,60
    10,30
    20,60
    20,30

    se non è così, per essere sicuro che nei vettori ci siano i dati corretti fai un print_r($_POST['TPL_euro']) e un prunt_r($_POST['TPL_cent'])

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    518
    Si, stampa come dici tu:
    10,60
    10,30
    20,60
    20,30,
    però a me non serve in questo modo, a me serve cosi:
    10,60
    20,30
    Grazie.

  8. #8
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    prova così
    Codice PHP:
    elenco1=$_POST['TPL_cent'];
    $i=0;
    foreach (
    $_POST['TPL_euro'] as $key => $v){ 
    $elenco $v;  
    if(
    $elenco != '' && elenco1[$i]!=''
    echo
    "[b]$elenco[/b][b]$elenco1[$i][/b]
    "

    ++
    $i;


  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    518
    Perfetto.
    Grazie.

  10. #10
    Se ho capito cosa hai bisogno, non dovresti devi fare un ciclo per ogni array...
    Siccome al primo elemento di $_POST['TPL_euro'] è associato il primo elemento di $_POST['TPL_cent'], al secondo in uno corrisponde il secondo nell'altro e così via, dovresti usare la stessa chiave del primo array anche per trovare gli elementi del secondo.

    Prova così:
    Codice PHP:
    <?php
    foreach ($_POST['TPL_euro'] as $key => $elenco) {
        
    $elenco1 $_POST['TPL_cent'][$key];
        if (
    $elenco!='' && $elenco1!='') {
            echo 
    "[b]$elenco[/b],[b]$elenco1[/b]
    "
    ;
        }
    }
    ?>
    EDIT: avevi già la soluzione, ottimo!
    Michele
    King Of The Kill

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.