Bonjour,
j'essaye d'avancer sur mon soucis pour creer une requete a choix multiple en PDO via un formulaire j'y vais par tâtonnement avant de m'occuper du formulaire j'essaye de sortir les donnees de ma base en saisissant les variables en "dur" dans ma requete mais j'ai un soucis je n ai rien dans mon "array" quelqu'un aurai t'il une idée?
je vous mets mon bout de code:
<?php $Auth->allow('Agence'); ?>
<?php
$req = $PDO->prepare('SELECT users.nom, users.prenom, users.agenceid, roles.name
FROM users
LEFT JOIN roles
ON users.role_id=roles.id
WHERE users.id=:id');
$req->execute(array(
'id' => $Auth->user('id')
));
$user = $req->fetch();
?>
<?php
global $PDO;
$req = $PDO->prepare('SELECT boncommande.NumBdc, boncommande.Status, boncommande.Mail, agence.id
FROM BonCommande
LEFT JOIN agence
ON boncommande.IdAgence=agence.id
WHERE Status = 1
AND boncommande.IdAgence = :agenceid');
$req->bindParam(':agenceid', $agenceid, PDO::PARAM_INT);
$req->execute();
$result = $req->fetchAll();
?>
<pre>
<?php
print_r($result);
?>
<br />
</pre>
et ce que j'obtiens a l affichage:
Array
(
)
Session
Array
(
[Auth] => stdClass Object
(
[id] => 1
[login] => admin
[mail] =>
[agenceid] => 0
[name] => Administrateur
[slug] => Admin
[level] => 10
)
)
merci d'avance pour votre aide
Gilles
Merci royal tu m'as mis sur la voie, c etait:
"
$req->bindParam(':agenceid', $Auth->user('agenceid'), PDO::PARAM_INT);
maintenant je voudrai faire plusieuts "cas" je m'explique:
par un formulaire je voudrai pouvoir faire la recherche sur les criteres indiquer dans le formulaire en PDO mais je coince encore, comment puis je l'integrer pour que lorsque la premiere requete n'est pas valide il passe a la seconde et ainsi de suite?
voila mon formulaire:
<form action="index.php?p=searchbdc" method="post">
<input type="hidden" name="ACTION" value="SEARCH">
<input type="hidden" name="IdAgence" value=<?php echo $Auth->user('agenceid') ?> />
Rechercher par :
<select name="TypeRecherche">
<option value="0">En attente</option>
<option value="1">Référence</option>
<option value="2">Immatriculation</option>
<option value="3">Fournisseur</option>
</select>
Valeur : <input type="text" name="Valeur" size="30"/>
<input type="submit" value="Rechercher"/>
</form>
merci d'avance pour le coup de main
Gilles
Bonjour,
j ai bien avancé sur mon formulaire mais maintenant j ai un probleme je n arrive pas a afficher les donnees extraites de la base,
voici mon code:
<?php
if ( isset($_POST) && (!empty($_POST'ACTION']))){
if ( $_POST'ACTION']=='SEARCH'){
extract($_POST); // je vous renvoie à la doc de cette fonction
$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;
}
$req->execute();
$result = $req->fetchAll();
print_r($result);
}
}
?>
<div class="bloc">
<div class="bloc1">
<p>Bonjour, <?php echo $Auth->user('prenom');?> <?php echo $Auth->user('nom');?>, vous êtes connecté en tant que <?php echo $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>
<form action="index.php?p=boncommande" method="post">
<input type="hidden" name="ACTION" value="SEARCH">
<input type="hidden" name="IdAgence" value=<?php echo $Auth->user('agenceid') ?> />
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>
Valeur : <input type="text" name="Valeur" value=""size="30"/>
<input type="submit" value="Rechercher"/>
</form>
<div class="contenu">
<?php require 'menu.php';?>
<div class="affichage">
</div>
</div>
et ce que cela me renvoi en faisant un 'print_r'
Array ( [0] => stdClass Object ( [NumBdc] => 10017 [RefBdc] => 2005/AXE/10017 [Fournisseur] => Carglass [Demandeur] => Anne sophie [DateDemande] => 2005-06-09 11:00:12 [TypeVL] => VU [Marque] => [Chassis] => WOLOXCF2533037377 [DateMiseCircu] => 2003-04-17 00:00:00 [Immat] => 879AHC51 [MVA] => 2970085 [Kilometre] => 32900 [RefacturableRA] => 525961634 [Status] => 0 [Commentaire] => eclat pb/ok constat [Mail] => auxerre@massoutre-locations.com [IdAgence] => 1 [Numfact] => [DateFact] => [MtTTC] => [Signataire] => [Id] => 1 [Ville] => Auxerre [CodeMne] => AXE ) [1] => stdClass Object ( [NumBdc] => 29776 [RefBdc] => 2010/ADM/29776 [Fournisseur] => Renault des cites [Demandeur] => Lucienne [DateDemande] => 2010-01-13 08:44:14 [TypeVL] => VP [Marque] => RENAULT CLIO [Chassis] => VF1BR1F0H41195453 [DateMiseCircu] => 2009-04-28 00:00:00 [Immat] => AA372FC [MVA] => 2937222 [Kilometre] => 19941 [RefacturableRA] => 0 [Status] => 0 [Commentaire] => A VOIR [Mail] => huber@massoutre-locations.com [IdAgence] => 1 [Numfact] => [DateFact] => [MtTTC] => 0.0000 [Signataire] => [Id] => 1 [Ville] => Auxerre [CodeMne] => AXE ) )
mais je n'arrive pas a afficher mes donnes avec un 'echo',
si quelqu un pouvait me mettre sur la voie se serai sympa
merci d'avance
Gilles
tu peux simplifier comme ceci
<p>Bonjour, <?php echo $Auth->user('prenom') . $Auth->user('nom') . 'vous êtes connecté en tant que' . $Auth->user('name');?> </p>
il faut simplifier ton code en y ajoutant des points de concaténation pour séparer tes variable des string = texte.
tiens moi au courant.
Salut Demeter,
ca marche, comme je debute je ne connaissait pas cette methode, en ce moment j ai le cerveau farci de PHP,PDO
merci pour le conseil
Gilles