Bonjour,

je voudrai pouvoir afficher les donnees d'une requete en faisant un if mais mon soucis est que dans le if il y a un each et là je bloque, pourriez vous m 'eclairer je vous joins le code ce sera plus parlant je pense:

Votre code i<?php
 if ( isset($_POST) && (!empty($_POST'ACTION']))){
        if ( $_POST'ACTION']=='SEARCH'){
            extract($_POST); // je vous renvoie à la doc de cette fonction
      / **print_r($_POST);** /
       $val=$Valeur;
       $cas= $Type;

global $PDO;
switch ($cas) // on indique sur quelle variable on travaille
                    {
                    case 0: // dans le cas où $cas vaut 0
                    $req = $PDO->prepare('SELECT *
                                                FROM BonCommande
                                                LEFT JOIN agence
                                                ON boncommande.IdAgence=agence.id
                                                WHERE Status = 0
                                                AND boncommande.IdAgence = :agenceid');
                    $req->bindParam(':agenceid', $Auth->user('agenceid'), PDO::PARAM_INT);
                    break;
                    case 1: // dans le cas où $cas vaut 1
                    $req = $PDO->prepare('SELECT *
                                                FROM BonCommande
                                                LEFT JOIN agence
                                                ON boncommande.IdAgence=agence.id
                                                WHERE boncommande.RefBdc =:RefBdc
                                                AND boncommande.IdAgence = :agenceid');
                    $req->bindParam(':agenceid', $Auth->user('agenceid'), PDO::PARAM_INT);
                    $req->bindParam(':RefBdc', $Valeur, PDO::PARAM_STR);
                    break;
                    case 2: // dans le cas où $cas vaut 2
                    $req = $PDO->prepare('SELECT *
                                                FROM BonCommande
                                                LEFT JOIN agence
                                                ON boncommande.IdAgence=agence.id
                                                WHERE boncommande.Immat = :Immat
                                                AND boncommande.IdAgence = :agenceid');
                    $req->bindParam(':agenceid', $Auth->user('agenceid'), PDO::PARAM_INT);
                    $req->bindParam(':Immat', $Valeur, PDO::PARAM_STR);
                    break;
                    case 3: // dans le cas où $cas vaut 3
                    $req = $PDO->prepare('SELECT *
                                                FROM BonCommande
                                                LEFT JOIN agence
                                                ON boncommande.IdAgence=agence.id
                                                WHERE boncommande.Fournisseur = :Fournisseur
                                                AND boncommande.IdAgence = :agenceid');
                    $req->bindParam(':agenceid', $Auth->user('agenceid'), PDO::PARAM_INT);
                    $req->bindParam(':Fournisseur', $Valeur, PDO::PARAM_STR);
                    break;
                default: $req = $PDO->prepare('SELECT *
                                                FROM BonCommande
                                                LEFT JOIN agence
                                                ON boncommande.IdAgence=agence.id
                                                WHERE Status = 0
                                                AND boncommande.IdAgence = :agenceid');
                    $req->bindParam(':agenceid', $Auth->user('agenceid'), PDO::PARAM_INT);
                     }
            $req->execute();
            $result = $req->fetchAll();

  }

  }

?>
<div class="bloc">
    <div class="bloc1">
       <p>Bonjour, <?php echo $Auth->user('prenom') . ' ' . $Auth->user('nom') . ', vous êtes connecté en tant que ' . $Auth->user('name');?></p>
    </div>
    <div class="bloc2">
    <input type="submit" value="Se déconnecter"onclick="document.location.href = 'index.php?p=logout';" />
    </div>
</div>
<div class="contenu">
        <?php require 'menu.php';?>
    <div class="affichage"><td width="100%" valign="top">
            <table width="100%" border="0" cellspacing="3" cellpadding="5">
                <tr>
                    <td class="Head">Informations<br><hr></td>
                </tr>
                <tr>
                    <td class="Normal" width="100%">
                        <p>Cette page vous permet de gérer les différents bons de commande.</p>
                        <p>Vous pouvez effectuer une recherche par Référence, Immatriculation ou Fournisseur</p><br />
                    </td>
                </tr>
                <tr>
                    <td class="Head">Actions courantes<br><hr></td>
                </tr>
                <tr>
                    <td class="Normal">
                        <a href="bdcmaintenance_Change.php?method=add" target="_blank">Demander un bon de commande</a>
                    </td>
                </tr>
            </table>
            <br />
            <table width="100%" border="0" cellspacing="3" cellpadding="5">
                <tr>
                    <td class="Head" width="100%" colspan="4">Recherche<br /><hr></td>
                </tr>
                <tr>
                <form action="index.php?p=searchbdc" method="post">
                    <td>
                        <input type="hidden" name="ACTION" value="SEARCH">
                        <input type="hidden" name="IdAgence" value=<?php echo $Auth->user('agenceid') ?> />
                    </td>
                    <td>Rechercher par :
                        <select name="Type">
                            <option value="0">En attente</option>
                            <option value="1">Référence</option>
                            <option value="2">Immatriculation</option>
                            <option value="3">Fournisseur</option>
                        </select>
                    </td>
                    <td>
                        Valeur : <input type="text" name="Valeur" value=""size="30"/>
                    </td>
                    <td>
                        <input type="submit" value="Rechercher"/>
                    </td>
                </form>
            </tr>
            </table>
         <table width="100%" border="0" cellspacing="3" cellpadding="5">
         <?php
         if($result < 1)
         echo("aucune donnees a afficher");
         elseif($result > 0)
         echo("
                    <tr>
                    <td width=\"15\"></td>
                    <td class=\"NormalBold\" align=\"center\">REFERENCE</td>
                    <td class=\"NormalBold\" align=\"center\">IMMAT</td>
                    <td class=\"NormalBold\" align=\"center\">FOURNISSEUR</td>
                    <td class=\"NormalBold\" align=\"center\">DEMANDEUR</td>
                    <td class=\"NormalBold\" align=\"center\">DATE DEMANDE</td>
                    <td class=\"NormalBold\" align=\"center\">STATUS</td>
                    </tr>
        ");
                    while ((list(, $d) = each($result))) {

               / **foreach ($result as $d){** /

                    echo("<tr><td class=\"Normal\"><a href=\"bdcmaintenance_change.php?method=change&id=".$d->RefBdc."\" target=\"bdcmaintenance_change.php\"><img src=\"img/update.gif\" border=\"0\"></a></td>");
                    echo("<td class=\"Normal\"><a href=\"bdcmaintenance_visu.php?id=".$d->NumBdc."\" target=\"bdcmaintenance_visu.php\">".$d->RefBdc."</a></td>
                        <td class=\"Normal\">".$d->Immat."</td>
                            <td class=\"Normal\">".$d->Fournisseur."</td>
                                <td class=\"Normal\">".$d->Demandeur."</td>");
                    /**ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", odbc_result($result_requete,"DateDemande"), $regs);
                     $DateDemande = "$regs[3]/$regs[2]/$regs[1]";**/
                    echo("<td class=\"Normal\">".$d->DateDemande."</td>");
                    if ($d->Status == 0)
                            echo ("<td class=\"Normal\" align=\"center\"><img src=img/standby.gif border=\"0\"></td>");
                    elseif ($d->Status == 1)
                            echo ("<td class=\"Normal\" align=\"center\"><img src=img/uparrow.gif border=\"0\"></td>");
                    elseif ($d->Status == 2)
                            echo ("<td class=\"Normal\" align=\"center\"><img src=img/downarrow.gif border=\"0\"></td></tr>");

  }
         ?>
         </table>

    </div>
</div>

Merci d'avance pour votre aide

Gilles

2 réponses


Re bonjour Gilles.
Alors je remarque que dans ton code si dessous tu as deux fois empty et que tu oublies deux croché

Votre code i<?php  
 if ( isset($_POST) && (!emptyempty($_POST'ACTION']))){  
        if ( $_POST'ACTION']=='SEARCH'){  
            extract($_POST);

Voici comment cela dois être normalement :

Votre code i<?php  
 if ( isset($_POST) && (!empty($_POST'ACTION']))){  
        if ( $_POST'ACTION']=='SEARCH']){  
            extract($_POST);

Bon je repost, car j'ai remarqué que il met automatiquement les empty dans les balises code.
donc n'en tiens pas compte.