************************/ $titrePage = 'SQL et PDO'; include "header.php"; //entêtes HTML include "fonctions.php"; // connexion PDO_MySQL $dbh = new PDO('mysql:host=localhost;dbname=webforce3;charset=UTF8', 'WF3', 'webforce3'); /*$sql = "SELECT * FROM INSEE WHERE codePostal='02500' ORDER BY nomCommune ASC ";*/ $sql = "SELECT n.date, e.nom, e.prenom, m.libelle, n.note, \n\t n.commentaire, s.nom as ecole \n\t FROM notes n\n\t join eleve e \n\t on e.idEleve = n.idEleve \n\t join ecole s \n\t on s.idEcole = e.idEcole\n\t join matieres m \n\t on m.idMatiere = n.idMatiere\n\t where s.nom = ?\n\t ORDER BY e.nom ASC"; $stmt = $dbh->prepare($sql); $stmt->execute(array('HIRSON')); $row = $stmt->fetchALL(PDO::FETCH_ASSOC); echo afficheTableau2D($row); /* AUTRE METHODE D'ECRITURE $calories = 150; $couleur = 'rouge'; $sth = $dbh->prepare('SELECT nom, couleur, calories FROM fruit WHERE calories < :calories AND couleur = :couleur'); $sth->bindParam(':calories', $calories, PDO::PARAM_INT); $sth->bindParam(':couleur', $couleur, PDO::PARAM_STR, 12); $sth->execute(); */ /*echo "<pre>"; foreach($dbh->query($sql) as $row) { //echo $row['nom']." ".$row['prenom']."<br/>"; print_r($row);
<?php // titre et entêtes HTML $titrePage = "agrégation SQL (suite)"; include "header.php"; include "fonctions.php"; // connexion BDD require_once "connexion.php"; // requête pour les moyennes par élève $rqMoyEleve = "SELECT e.Nom, e.Prenom, AVG(n.note) as Moyenne\n\t\t\t FROM webforce3.notes n\n\t\t\t JOIN webforce3.eleve e\n\t\t\t on e.idEleve = n.idEleve\n\t\t\t GROUP BY n.idEleve"; $curMoyEleve = $dbh->query($rqMoyEleve); if (!$curMoyEleve) { print_r($dbh->errorInfo()); } else { $tabMoyEleve = $curMoyEleve->fetchALL(PDO::FETCH_ASSOC); echo afficheTableau2D($tabMoyEleve); } echo '<div class="separator"></div>'; // requête pour les moyennes par matière $rqMoyMatiere = "SELECT m.libelle as Matiere, AVG(n.note) as Moyenne\n\t\t\t FROM webforce3.notes n\n\t\t\t JOIN webforce3.matieres m\n\t\t\t on m.idMatiere = n.idMatiere \n\t\t\t GROUP BY n.idMatiere"; $curMoyMatiere = $dbh->query($rqMoyMatiere); if (!$curMoyMatiere) { print_r($dbh->errorInfo()); } else { $tabMoyMatiere = $curMoyMatiere->fetchALL(PDO::FETCH_ASSOC); echo afficheTableau2D($tabMoyMatiere); } // bas de page include "footer.php";
$dateJour = date('Y-m-d'); // conversion en date FR echo date_fr($dateJour) . "<br/>"; echo date_fr('2015-10-05') . "<br/>"; echo date_us('05/10/2015') . "<br/>"; $tableau = array(array('Language' => 'PHP', 'Age' => 20, 'Createur' => 'Rasmus Lerdorf'), array('Language' => 'JAVA', 'Age' => 33, 'Createur' => 'SUN'), array('Language' => 'C#', 'Age' => 14, 'Createur' => 'Microsoft'), array('Language' => 'COBOL', 'Age' => 56, 'Createur' => 'IBM'), array('Language' => 'BASIC', 'Age' => 51, 'Createur' => 'inconnu'), array('Language' => 'C', 'Age' => 45, 'Createur' => 'inconnu'), array('Language' => 'C++', 'Age' => 17, 'Createur' => 'toto')); echo afficheTableau2D($tableau); $tNombres = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); echo '<pre>'; // affichage des nombres pairs print_r(array_filter($tNombres, 'pair')); // détail de la fonction array_filter $tResultat = array(); foreach ($tNombres as $cle => $nombre) { if (pair($nombre)) { $tResultat[$cle] = $nombre; } } print_r($tResultat); //affichage des nombres impairs print_r(array_filter($tNombres, 'impair')); // tri des éléments dont le créateur est inconnu print_r(array_filter($tableau, 'inconnu')); // calculs sur le tableau print_r(array_map('cube', $tNombres)); //ajout d'une zone divers dans le tableau // avec une valeur aléatoire entre 0 et 100 //print_r(array_map('divers', $tableau)); echo '</pre>'; echo afficheTableau2D(array_map('divers', $tableau)); //include "footer.php";
$motCle = htmlentities(strip_tags($_GET['search'])); $critereRecherche = htmlentities(strip_tags($_GET['critereRecherche'])); // connexion BDD //recuperation du nombre de pages $requeteNbPages = "SELECT count(*) \n\t\tFROM webforce3.insee \n\t\tWHERE " . $critereRecherche . " LIKE ?"; $curseurNbPages = $dbh->prepare($requeteNbPages); $curseurNbPages->execute(array('%' . $motCle . '%')); $resultatNbPages = $curseurNbPages->fetchColumn(); echo $resultatNbPages . "<br/>"; $nombreDePages = ceil($resultatNbPages / $parPage); // recuperation du résultat de la recherche $requete = "SELECT * \n\t\tFROM webforce3.insee \n\t\tWHERE " . $critereRecherche . " LIKE ?\n\t\tLIMIT " . $debut . ", " . $parPage; // exécution de la requéte $curseur = $dbh->prepare($requete); $curseur->execute(array('%' . $motCle . '%')); $resultatRecherche = $curseur->fetchALL(PDO::FETCH_ASSOC); $nbLigne = count($resultatRecherche); if ($page > 1) { // lien pour la page précédente echo '<button onclick="document.location.href=\'recherche.php?critereRecherche=' . $_GET['critereRecherche'] . '&page=' . ($page - 1) . '&search=' . $_GET['search'] . '\';"><<</button>'; } //lien pour la page suivante if ($nbLigne == $parPage && $page < $nombreDePages) { echo '<button onclick="document.location.href=\'recherche.php?critereRecherche=' . $_GET['critereRecherche'] . '&page=' . ($page + 1) . '&search=' . $_GET['search'] . '\';">>></button>'; } // pour l'affichage du tableau include "fonctions.php"; echo afficheTableau2D($resultatRecherche); echo "page " . $page . "sur " . $nombreDePages . "<br/>"; echo '<a href="googleforce3.php">Autre recherche</a>'; include "includes/footer.php";
include "fonctions.php"; if (isset($_GET['page'])) { $page = htmlentities(strip_tags($_GET['page'])); } else { $page = 1; } $fin = 20; $debut = $fin * ($page - 1); $motCle = htmlentities(strip_tags($_GET['search'])); $requete = "SELECT codeInsee AS 'Code INSEE',\n\t\t\t\t\tcodePostal AS 'Code Postal',\n\t\t\t\t\tnomCommune AS 'Nom de la Commune',\n\t\t\t\t\tLibelle AS 'Libelle Postal'\n\t\t\tFROM webforce3.insee\n\t\t\tWHERE nomCommune LIKE ?\n\t\t\tLIMIT " . $debut . ", " . $fin; // limit 0,10" //'".$motCle."'" require_once "connexion.php"; $curseur = $dbh->prepare($requete); $curseur->execute(array('%' . $motCle . '%')); /************ *affichage nbr de pages (version bruno) * * /*************/ $resultatRecherche = $curseur->fetchAll(PDO::FETCH_ASSOC); echo '<div>' . afficheTableau2D($resultatRecherche) . '</div>'; if ($page > 1) { echo '<button onclick="document.location.href=\'recherche.php?page=' . ($page - 1) . '&search=' . $_GET['search'] . '\';"><<</button>'; } if (count($resultatRecherche) == $fin) { echo '<button onclick="document.location.href=\'recherche.php?page=' . ($page + 1) . '&search=' . $_GET['search'] . '\';">>></button>'; } echo '<br/>', '<br/>'; echo '<a href="googleforce3.php">Autre recherche</a>'; include "footer.php";
echo $max; // calcul de l'offset, $enregParPage = 10; $offset = $enregParPage * ($page - 1); //requête SQL + fecthALL $req = "SELECT * FROM webforce3.insee WHERE codepostal='02500' LIMIT ".$offset.', '.$enregParPage; $tableau = $dbh->query($req)->fetchALL(PDO::FETCH_ASSOC); //Affichage du tableau echo afficheTableau2D($tableau); //liens de pagination echo '<div class="underTable">'; // si on n'est pas sur la première page on affiche le lien 'précédent' if($offset>0) { $precedent = "pagination3.php?page=".($page-1); echo '<a href="'.$precedent.'">Precedent</a> - '; } // si on n'est pas sur la dernière page on affiche le lien 'suivant' if(($offset+$enregParPage)<$max) { $suivant = "pagination3.php?page=".($page+1); echo '<a href="'.$suivant.'">Suivant</a>'; }
$rqMoyMatiere = "SELECT AVG(note)\n\t\t\t FROM webforce3.notes \n\t\t\t WHERE idMatiere=1"; $curMoyMatiere = $dbh->query($rqMoyMatiere); if (!$curMoyMatiere) { print_r($dbh->errorInfo()); } else { echo "<strong>Moyenne de la matière 1: </strong>" . $curMoyMatiere->fetchColumn(); } echo '<hr/>'; // tableau des codes postaux 025% // le GROUP BY permet de trier par codePostal $rqTabCP = "SELECT COUNT(*), MIN(codeInsee), MAX(codeInsee), codePostal\n\t\t\t FROM webforce3.insee\n\t\t\t where codePostal LIKE '025%'\n\t\t\t GROUP BY codePostal"; $curTabCP = $dbh->query($rqTabCP); if (!$curTabCP) { print_r($dbh->errorInfo()); } else { $tabCP = $curTabCP->fetchALL(PDO::FETCH_ASSOC); echo afficheTableau2D($tabCP); } echo "<hr/>"; // tableau du nombre de communes par département // le GROUP BY permet de trier par codePostal $rqNbComm = "SELECT COUNT(*) as Communes, \n SUBSTR(codePostal,1,2) as Departement\n\t\t FROM webforce3.insee\n\t\t GROUP BY Departement\n\t\t ORDER BY Communes DESC"; $curNbComm = $dbh->query($rqNbComm); if (!$curNbComm) { print_r($dbh->errorInfo()); } else { $tabNbComm = $curNbComm->fetchALL(PDO::FETCH_ASSOC); echo afficheTableau2D($tabNbComm); } // bas de page include "footer.php";
$parPage = 10; $debut = $parPage * ($page - 1); // page 1 on doit aller de 0 à 10 // page 2 on doit aller de 10 à 20 // page 3 on doit aller de 20 à 30 // et caetera $req = "SELECT * FROM insee LIMIT ".$debut.', '.$parPage; //echo $req.'<br/>'; //exécution de la requête $curseur = $dbh->query($req); //récupération du résultat de la requête (tableau associatif 2D) $resultat = $curseur->fetchALL(PDO::FETCH_ASSOC); echo afficheTableau2D($resultat)."<br/><div class='underTable'>"; // si page supérieure à 1 if($page>1) { // lien pour la page précédente //echo '<a href="pagination.php?page='.($page-1).'">Précédent</a> - '; echo '<button class="precsuiv" onclick="document.location.href=\'pagination.php?page='.($page-1).'\';"><<</button>'; } //lien pour la page suivante //echo '<a href="pagination.php?page='.($page+1).'">Suivant</a>'; echo '<button class="precsuiv" onclick="document.location.href=\'pagination.php?page='.($page+1).'\';">>></button></div>'; echo "<br/>"; //encodage du mot de passe en SHA256