J'ai testé et maintenant ça me donne ça
Le 30 octobre 2021 à 15:41:20 :
Le 30 octobre 2021 à 15:37:25 :
Le 30 octobre 2021 à 15:33:32 :
https://image.noelshack.com/fichiers/2021/43/6/1635600808-capturejvc.png ouais donc c'est bien ta variable $page le problème
Tu as une idée ? Parce que le code me parait juste ...
Un ami m'a conseillé : if(isset($_GET['page']) AND !empty($_GET['page']))
Mais ça ne fonctionne toujours pas
Le 30 octobre 2021 à 15:37:25 :
Le 30 octobre 2021 à 15:33:32 :
https://image.noelshack.com/fichiers/2021/43/6/1635600808-capturejvc.png ouais donc c'est bien ta variable $page le problème
Tu as une idée ? Parce que le code me parait juste ...
Un ami m'a conseillé : if(isset($_GET['page']) AND !empty($_GET['page']))
Le 30 octobre 2021 à 15:19:59 :
fais un test avec isset sur $_GET["page"] avant de l'utiliser
Okay je teste ça
Le 30 octobre 2021 à 15:16:28 :
Non ça change rien c'est pas indenté, pourquoi t'indentes pas?
Ca ne m’a jamais dérangé jusqu’à maintenant mais je vais commencer à le faire
Le 30 octobre 2021 à 15:11:54 :
utilise la balise code de jvc pour poster c'est illisible là
Merci
<?php
$bdd = new PDO('mysql:host=localhost:3306; dbname=XXX; charset=utf8', 'root', 'XXX', array(PDO::ATTR_ERRMODE =>PDO::ERRMODE_EXCEPTION));
$articles = $bdd->query('SELECT titre FROM articles ORDER BY id DESC');
if(isset($_GET['q']) AND !empty($_GET['q'])){
$q = htmlspecialchars($_GET['q']);
$articles = $bdd->query('SELECT titre FROM articles WHERE titre LIKE "%'.$q.'%" ORDER BY id DESC');
if($articles->rowCount() == 0) {
$articles = $bdd->query('SELECT titre FROM articles WHERE CONCAT(titre, contenu) LIKE "%'.$q.'%" ORDER BY id DESC');
}
}
// Récupérer le nombre d'enregistrements
$count=$bdd->prepare("SELECT count(id) AS cpt from articles") ;
$count->setFetchMode(PDO::FETCH_ASSOC);
$count->execute();
$tcount=$count->fetchAll();
// Pagination
@$page=$_GET["page"];
$nbr_elements_par_page=10;
$nbr_de_pages = ceil($tcount[0]["cpt"]/$nbr_elements_par_page);
$debut=($page-1)*$nbr_elements_par_page;
// Récupérer les enregistrements eux-mêmes
$sel=$bdd ->prepare ("SELECT titre from articles order by date_time_publication limit $debut,$nbr_elements_par_page");
$sel->setFetchMode (PDO::FETCH_ASSOC);
$sel->execute();
$tab=$sel->fetchAll();
?>
<!DOCTYPE html>
<html>
<head>
<title>Accueil</title>
<meta charset="utf-8">
<link href="css/bootstrap.min.css" rel="stylesheet">
<style>
footer
{
position: fixed;
bottom: 0px;
}
</style>
</head>
<body>
<br /><br />
<center>
<form method="GET">
<input type="search" name="q" placeholder="Recherche..." />
<input type="submit" value="Valider" />
</form>
</center>
<header>
<?php echo $tcount[0]["cpt"] ?> Enregistrement total
</header>
<br /><br /><br /><br />
<ul>
<?php while($a = $articles->fetch()) { ?>
<li>
<a href="article.php?id=<?= $a['id'] ?>">
<img src="miniatures/<?= $a['id'] ?>.jpg" width="100" /><br />
<?= $a['titre'] ?>
</a>
| <a href="redaction.php?edit=<?= $a['id'] ?>">Modifier</a> | <a href="supprimer.php?id=<?= $a['id'] ?>">Supprimer</a>
</li>
<?php } ?>
<ul>
<?php if($articles->rowCount() > 0) { ?>
<ul>
<?php while($a = $articles->fetch()) { ?>
<li><?= $a['titre'] ?></li>
<?php } ?>
</ul>
<?php } else { ?>
Aucun résultat pour: <?= $q ?>...
<?php } ?>
<footer>
<center>
<div id="pagination">
<?php
for ($i=1;$i<=$nbr_de_pages; $i++) {
echo "a href='?page=$i'>$i</a> ";
}
?>
</div>
</center>
</footer>
</body>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umb/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</html>
Ça ne change pas grand chose, si ?
Le 30 octobre 2021 à 14:54:40 :
Nan mais là va te faire foutre hein
Je suis novice aide moi
Ça va prendre du temps de créer un compte github mais voici mon code :
<?php
$bdd = new PDO('mysql:host=localhost:3306; dbname=sprint_b; charset=utf8', 'root', 'root', array(PDO::ATTR_ERRMODE =>PDO::ERRMODE_EXCEPTION));
$articles = $bdd->query('SELECT titre FROM articles ORDER BY id DESC');
if(isset($_GET['q']) AND !empty($_GET['q'])){
$q = htmlspecialchars($_GET['q']);
$articles = $bdd->query('SELECT titre FROM articles WHERE titre LIKE "%'.$q.'%" ORDER BY id DESC');
if($articles->rowCount() == 0) {
$articles = $bdd->query('SELECT titre FROM articles WHERE CONCAT(titre, contenu) LIKE "%'.$q.'%" ORDER BY id DESC');
}
}
// Récupérer le nombre d'enregistrements
$count=$bdd->prepare("SELECT count(id) AS cpt from articles") ;
$count->setFetchMode(PDO::FETCH_ASSOC);
$count->execute();
$tcount=$count->fetchAll();
// Pagination
@$page=$_GET["page"];
$nbr_elements_par_page=10;
$nbr_de_pages = ceil($tcount[0]["cpt"]/$nbr_elements_par_page);
$debut=($page-1)*$nbr_elements_par_page;
// Récupérer les enregistrements eux-mêmes
$sel=$bdd ->prepare ("SELECT titre from articles order by date_time_publication limit $debut,$nbr_elements_par_page");
$sel->setFetchMode (PDO::FETCH_ASSOC);
$sel->execute();
$tab=$sel->fetchAll();
?>
<!DOCTYPE html>
<html>
<head>
<title>Accueil</title>
<meta charset="utf-8">
<link href="css/bootstrap.min.css" rel="stylesheet">
<style>
footer
{
position: fixed;
bottom: 0px;
}
</style>
</head>
<body>
<br /><br />
<center>
<form method="GET">
<input type="search" name="q" placeholder="Recherche..." />
<input type="submit" value="Valider" />
</form>
</center>
<header>
<?php echo $tcount[0]["cpt"] ?> Enregistrement total
</header>
<br /><br /><br /><br />
<ul>
<?php while($a = $articles->fetch()) { ?>
<li>
<a href="article.php?id=<?= $a['id'] ?>">
<img src="miniatures/<?= $a['id'] ?>.jpg" width="100" /><br />
<?= $a['titre'] ?>
</a>
| <a href="redaction.php?edit=<?= $a['id'] ?>">Modifier</a> | <a href="supprimer.php?id=<?= $a['id'] ?>">Supprimer</a>
</li>
<?php } ?>
<ul>
<?php if($articles->rowCount() > 0) { ?>
<ul>
<?php while($a = $articles->fetch()) { ?>
<li><?= $a['titre'] ?></li>
<?php } ?>
</ul>
<?php } else { ?>
Aucun résultat pour: <?= $q ?>...
<?php } ?>
<footer>
<center>
<div id="pagination">
<?php
for ($i=1;$i<=$nbr_de_pages; $i++) {
echo "a href='?page=$i'>$i</a> ";
}
?>
</div>
</center>
</footer>
</body>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umb/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</html>
Le 30 octobre 2021 à 14:27:36 :
PHP en 2021
Tu utilises quoi ?
Le 30 octobre 2021 à 14:26:28 :
Variable $debut non déclarée a la ligne 27
Yes J’ai vu ça mais dans le code à la ligne 12 j’ai initialisé ma variable $début, ça me semblait donc bizarre
Le 09 octobre 2021 à 17:10:15 :
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());xamp me dit
Erreur fatale : Erreur non détectée : Appel à la fonction indéfinie mysql_query() dans C:\xampp\htdocs\forum\index.php:20 Stack trace : #0 {main} jetée dans C:\xampp\htdocs\forum\ index.php à la ligne 20
Ça dépend de la version de PHP que tu as … essaye :
$req = $bdd -> query ($sql)
while ($nouvelle_variable = $req -> fetch()){
…}
Else {
$req -> closeCursor();
}