alpha_full/pages/produits/gondole.reqSelect.php
2026-04-06 22:58:51 +02:00

166 lines
7.7 KiB
PHP
Executable File

<?php
$nomFicAppelant = basename(__FILE__);
// ne devrait pas etre la mais dans index.php, mais se fait vider sinon
include ("./pages/produits/gondole.post.php");
// ---------------------------------------------------
// On vient du backOffice / menu map
// ---------------------------------------------------
if(!isset($typeDeRecherche)) {
if (isset($_GET['typeDeRecherche'])) {$typeDeRecherche=$_GET['typeDeRecherche'];}
else $typeDeRecherche==0;
}
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .= monDebug (2, ['typeDeRecherche' => $typeDeRecherche ],'- 1 - gondole.reqSelect.php');}
// ---------------------------------------------------
// Cas de recherche
// $typeDeRecherche==0 => tous
// $typeDeRecherche==1 => gondoles
// $typeDeRecherche==2 => promos
// $typeDeRecherche==3 => nouveautés
// $typeDeRecherche==4 => categories (ancien familles)
// $typeDeRecherche==5 => sous categories
// $typeDeRecherche==6 => nomPrd
// $typeDeRecherche==7 => references
if ($typeDeRecherche==0) {$critere="WHERE P.statusPrd=1 "; $order="ORDER by idPrd";}
if ($typeDeRecherche==1) {$critere="WHERE P.gondole=1 AND P.statusPrd=1 "; $order="ORDER by P.afficheGond";}
if ($typeDeRecherche==2) {$critere="WHERE P.promo>0.00 AND P.statusPrd=1 "; $order="ORDER by P.idPrd";}
if ($typeDeRecherche==3) {$critere="WHERE P.new=1 AND P.statusPrd=1 "; $order="ORDER by P.idPrd";}
if ($typeDeRecherche==4) {$critere="WHERE P.idFam=" .$idFam. " AND P.statusPrd=1 "; $order="ORDER by P.idPrd";}
if ($typeDeRecherche==5) {$critere="WHERE P.idCat=" .$idCat. " AND P.statusPrd=1 "; $order="ORDER by P.idPrd";}
if ($typeDeRecherche==6) {$critere="WHERE PL.nomPrd like '%" .$nomPrd. "%' AND P.statusPrd=1 "; $order="ORDER by PL.nomPrd";}
if ($typeDeRecherche==7) {$critere="WHERE P.refPrd='" .$ref. "'"; $order=" AND P.statusPrd=1 ORDER by P.refPrd";}
// ---------------------------------------------------
// en PDO debut ebauche a finir
// ---------------------------------------------------
// if ($typeDeRecherche==0) {$critere="WHERE statusPrd=1 "; $order="ORDER by idPrd";}
// if ($typeDeRecherche==1) {$critere="WHERE gondole=1 AND statusPrd=1 "; $order="ORDER by afficheGond";}
// if ($typeDeRecherche==2) {$critere="WHERE promo>0.00 AND statusPrd=1 "; $order="ORDER by idPrd";}
// if ($typeDeRecherche==3) {$critere="WHERE new=1 AND statusPrd=1 "; $order="ORDER by idPrd";}
// if ($typeDeRecherche==4) {$critere="WHERE idFam=:idFam AND statusPrd=1 "; $order="ORDER by idPrd"; }
// if ($typeDeRecherche==5) {$critere="WHERE idCat=:idCat AND statusPrd=1 "; $order="ORDER by idPrd";}
// if ($typeDeRecherche==6) {$critere="WHERE produitslibelle.nomPrd like :nomPrd AND produits.statusPrd=1 AND produitslibelle.idLg=:lg"; $order="ORDER by produitslibelle.nomPrd";}
// if ($typeDeRecherche==7) {$critere="WHERE refPrd=:ref"; $order=" AND statusPrd=1 ORDER by refPrd";}
// if ($typeDeRecherche!=6) {
// $stmtCount = $pdo->prepare("SELECT COUNT(idPrd) AS nb FROM produits $critere");
// } else {
// $stmtCount = $pdo->prepare("
// SELECT COUNT(produitslibelle.idPrd) AS nb
// FROM produitslibelle, produits
// $critere AND produits.idPrd=produitslibelle.idPrd
// ");
// }
// if ($typeDeRecherche==4) {
// $stmtCount->bindValue(':idFam', $idFam, PDO::PARAM_INT);
// }
// if ($typeDeRecherche==5) {
// $stmtCount->bindValue(':idCat', $idCat, PDO::PARAM_INT);
// }
// if ($typeDeRecherche==6) {
// $stmtCount->bindValue(':nomPrd', '%'.$nomPrd.'%', PDO::PARAM_STR);
// $stmtCount->bindValue(':lg', $lg, PDO::PARAM_STR);
// }
// if ($typeDeRecherche==7) {
// $stmtCount->bindValue(':ref', $ref, PDO::PARAM_STR);
// }
// $stmtCount->execute();
// $resultCmpt = $stmtCount->fetch(PDO::FETCH_ASSOC)['nb'];
// ---------------------------------------------------
// requete qui calcule le nombre de résultats
// ---------------------------------------------------
$i=0;
$resConn='';
$resultCmpt=0;
if ($typeDeRecherche!=6) {$reqSelect="SELECT count(P.idPrd) as nb FROM `produits` as P " .$critere. " ;";}
else {$reqSelect="SELECT count(PL.idPrd) AS nb FROM `produitslibelle` AS PL JOIN `produits` as P ON P.idPrd=PL.idPrd " .$critere. " ;";}
if (isset($debug[2]) && $debug[2] == '1') { $debugMsg .= monDebug(2, ['reqSelect' => $reqSelect], '- 2 count - gondole.reqSelect.php');}
try {
$resConn=$idPdo->query($reqSelect);
if ($resConn) {
// $tabResult = $resConn->fetch(PDO::FETCH_ASSOC);
$tabResult = $resConn->fetch(PDO::FETCH_ASSOC);
$resultCmpt=intval($tabResult['nb']);
}
if (isset($debug[2]) && $debug[2] == '1' ) $debugMsg .= monDebug(2, ['Nombre de résultats resultCmpt' => $resultCmpt], '');
// ---------------------------------------------------
// calcul du bornage
// nbResAff : le nb de resultat par pagination
// ---------------------------------------------------
$continuer=1;
if ($nbResAff!='' && $nbResAff !=0 ) $nbResAff=intval($nbResAff);
$ff=1;
$mm=0;
if ($nbResAff!='' && $nbResAff !=0 && $resultCmpt!=0) {
if ($resultCmpt>=$nbResAff) {
$ff=$resultCmpt/$nbResAff;
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .= monDebug(2, ['ff 1' => $ff], '');}
$ff=floor($ff); //valeur entiere
$mm=fmod($resultCmpt, $nbResAff); //retourne le nombre de chiffres apres la virgule
if ($mm>0) {$ff=$ff+1;}//nombre de pages final
}
}
else {
$ff=1;
$continuer=0;
}
if (isset($debug[2]) && $debug[2] == '1' ) $debugMsg .= monDebug(2, ['ff' => $ff, 'mm' => $mm, 'nbResAff' => $nbResAff, 'continuer' => $continuer], '- 3 bornage - gondole.reqSelect.php');
if ($continuer==1) {
// liste des bornes
if ($ff!='') {
// php complain
$b1[0]=0;
for ($j=0; $j<$ff; $j++) {
$b1[$j]=($j)*$nbResAff;
if (isset($debug[2]) && $debug[2] == '1' ) $debugMsg .= monDebug(2,['$b1[' .$j. ']' => $b1[$j]], '');
}
}
// ---------------------------------------------------
// Requete construite
// Borne1 est postée
// ---------------------------------------------------
// if ($typeDeRecherche!=6) {
$reqSelect="SELECT P.*, PL.nomPrd, PL.descCourt, PL.descLong from `produits` AS P JOIN produitslibelle AS PL ON P.idPrd = PL.idPrd " .$critere. " AND PL.idLg='" .$lg. "' " .$order. " limit " .$borne1. "," .$nbResAff. ";";
// }
// else {
// $resConn='';
// $resConn=$idPdo->query($reqSelect);
// $critere =" WHERE ";
// $z=0;
// if ($resConn && isset($idprd) ) {
// while ($resTabPrd=$resConn->fetch(PDO::FETCH_ASSOC)) {
// if ($z<1) {$critere=$critere. 'P.idprd=' .$resTabPrd['idPrd']. ' ';}
// if ($z>=1) {$critere=$critere. 'or P.idprd=' .$resTabPrd['idPrd']. ' ';}
// $z++;
// }
// }
// else {
// }
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .= monDebug(2,['Critere' => $critere ],'');}
// $order="order by P.idPrd";
// $reqSelect="SELECT * from `produits` " .$critere. " AND statusPrd=1 " .$order. " ;"; ==> pb avec limit ??
// $reqSelect="SELECT P.*, PL.nomPrd, PL.descCourt, PL.descLong from `produits` AS P JOIN produitslibelle AS PL ON P.idPrd = PL.idPrd " .$critere. " " .$order. " limit " .$borne1. "," .$nbResAff. ";";
// }
if (isset($debug[2]) && $debug[2] == '1' ) $debugMsg .= monDebug(2,['Requete finale ' => $reqSelect], '- 4 req fin - gondole.reqSelect.php');
include ("gondole_fetch.php");
}
}
catch (PDOException $e) {
// error
if (isset($debug[2]) && $debug[2] == '1') { $debugMsg .= monDebug(2, ['Your fail message:' => $e->getMessage(),'reqSelect' => $reqSelect ], 'gondole.reqSelect.php'); }
}
?>