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

    Controllare condizione ciclo While

    Codice PHP:
    function desc_caratteristica_ditta()
                {
    ?>
    <body>
        <div id="div2">
            <form action="NextFile.php" method="post">
                <table border="2px" cellspacing="0px";>
                    <tr>
                        <th>Codice caratteristica_ditta</th>
                        <th>Descrizione caratteristica_ditta WINFARM </th>
                        <th>Cod Magento</th>
                        <th>Descrizione caratteristica_ditta Magento </th>
                    </tr>
                    <?php
                    $db 
    = new PDO "mysql:host=" DB_HOST "; dbname=" DB_NAMEDB_USERDB_PASSWORD );
                    
    $querycaratteristica_ditta="SELECT caratteristica_ditta  FROM importaditte2 GROUP BY caratteristica_ditta ORDER BY caratteristica_ditta";
                    
    $stm4=$db->prepare($querycaratteristica_ditta);
                    
    $stm4->execute();
                    
    $totale4 $stm4->rowCount();
                    echo 
    'sono presenti: '.$totale4.' prodotti con caratteristica_ditta',"<br />" ;
                    
    $i=1;

                        while(
    $row5 $stm4->fetch(PDO::FETCH_ASSOC))
                    {
                        
    $caratteristica_ditta $row5['caratteristica_ditta'];
                        
    $dcaratteristica_ditta=$row5['caratteristica_ditta']; //caratteristica_ditta
                        
    $querycaratteristica_ditta3="SELECT * FROM TS011 WHERE FDI_T004 = '$dcaratteristica_ditta'";
                        
    $stm7=$db->prepare($querycaratteristica_ditta3);
                        
    $stm7->execute();
                        
    $row7 $stm7->fetch(PDO::FETCH_ASSOC);
                        
    $risultato_desc_caratteristica_ditta1=$row7['FDI_T005'];  codice caratteristica_ditta                                                     
                 
                        $dcaratteristica_ditta
    =$row5['caratteristica_ditta']; //caratteristica_ditta
                        
    $querycaratteristica_ditta2="SELECT * FROM caratteristica_ditta2 WHERE caratteristica_ditta = '$dcaratteristica_ditta'";
                        
    $stm5=$db->prepare($querycaratteristica_ditta2);
                        
    $stm5->execute();
                        
    $row6 $stm5->fetch(PDO::FETCH_ASSOC);
                        
    $risultato_desc_caratteristica_ditta=$row6['caratteristica_ditta'];
                        if (! empty ( 
    $risultato_desc_caratteristica_ditta )) {
                    
    $conteggio 0;
                    continue;
                        }
                        else {
                    
    $conteggio 1;                 
                        }
                    
    ?>
                    <tr>
                        <td  >
                            <input type="text" size="10" name="first<?php echo $i?>" value= "<?php echo $caratteristica_ditta?>" />
                        </td>
                        <td>
                            <input  type="text" size="50" name="second<?php echo $i;?>"value= "<?php echo $risultato_desc_caratteristica_ditta1 ?>" />
                        </td>
                        <td>
                            <input type="text" size="10" name="third<?php echo $i;?>" />
                        </td>
                        <td>
                            <input type="text" size="70" name="forth<?php echo $i;?>" value= "<?php echo 'Default Category/' ?>" />
                        </td>
                    </tr>
                    <?php         
                    $i
    ++;
                    }         
                    
    ?>
                </table>
                <input  type="submit" value="Submit"/>
            </form>
        </div>
        <?php
        
    if ( $conteggio == 0) {
        echo 
    'Devi aggiornare caratteristica_ditta';
        }
        else ( 
    $conteggio == ) {
        echo 
    'aaaaaaaaaaaaaaaaaaaaaa';
        
    ?>
        <br/><br/>
        <script
        src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script type="text/javascript">
                                $(document).ready(function() {
                                $("table").remove();
                                $("input").remove();
                                });
        </script>
        <br/><br/>
        -->
                </body>
                </html>
                        }
                }
    Premetto che non sono un professionista ma programmo per diletto.
    Quello che devo fare è un pochettino complesso per me. Con la prima query prelevo informazioni di una ditta raggruppate per questa caratteristica, poi verifico questa caratteristica sul database collegato a questa caratteristica e dovrò inserirla se non è presente nel terzo database che fungerà da tabella di scambio.
    Il tutto lo mando con il post alla seconda pagina.
    Mi funziona tutto tranne per il controllo finale, non riesco a capire come faccio a determinare nella prima condizione if , se e quando si verifica else
    forse sono stato un pò contorto
    sicuramente

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    else ( $conteggio == 1 ) {

    Questo non ha senso, l'else() non prevede condizioni, else if() sì, inoltre pare che non chiudi la parentesi graffa.

  3. #3
    Codice PHP:
                                   while($row5 $stm4->fetch(PDO::FETCH_ASSOC))                {
                                            ........                                                
    prelevo variabile database
                                        
    ::::::::::                    }                    else {                        $conteggio 1;                        //$conteggio = 1;                    }
                            
    ?>                                            TABELLA........                                                  $i++;
                    }                                    ALL'ESTERNO DEL CICLO
                       if ( $conteggio == 0) {
                               echo 'Devi aggiornare .......;
                       }
                           else  {                         echo 'Tutti gli ...............';                     ?>

                          } 
    semplifico un conto e verificare con if all'interno del ciclo, fin qui tutto bene
    ma all'esterno del ciclo come faccio? vorrei vedere se almeno una condizione si è verificata una vola
    grazie

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Metti una variabile flag.
    Prima del while metti
    $variabile = false;

    dentro l'if metti
    $variabile = true;

    fuori da while verifichi se $variabile è true o false, se è true, almeno una volta sei entrato nell'if.

    Comunque fa attenzione a postare il codice, se ti mangi le istruzioni non si capisce niente, l'if dentro il while non c'è, c'è solo l'else.

  5. #5
    <?php


    while($row5 = $stm4->fetch(PDO::FETCH_ASSOC))
    {
    // CICLO WHILE
    // ......
    // PRELEVO VARIABIL $risultato_desc_caratteristica_ditta
    //QUESTO IF TUTTO OK SE è PIENA LA VARIABILE SALTA
    // ALTRIMENTI PRELEVO I DATI PER LA MIA TABELLA
    if (! empty ( $risultato_desc_caratteristica_ditta )) {
    $conteggio = 0;
    continue;
    }
    else {
    $conteggio = 1;
    }
    //TABELLA QUI TUTTO OK
    $i++;
    }
    ?>
    </table>
    <input type="submit" value="Submit"/>
    </form>
    </div>


    <?php
    //IL PROBLEMA SORGE QUI
    if ( $conteggio == 0) {
    echo 'Devi aggiornare caratteristica_ditta';
    }
    else {
    echo 'aaaaaaaaaaaaaaaaaaaaaa';

    }

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.