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
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.