Comment créer session SVP?
chanteur06
Messages postés
131
Statut
Membre
-
chanteur06 Messages postés 131 Statut Membre -
chanteur06 Messages postés 131 Statut Membre -
hello
je tourne en rond depuis klk jours.
je cherche à afficher des resultats d'une base importante,donc sur plusieures pages.J'arrive à afficher une pagination,sauf que les pages suivantes ne gardent pas la requete récupérée du formulaire. donc je me disais que créer une session permettrait de garder cette requete sur chaque page appelées,je me trompe..?
et comment écrire et intégrer cette session si necessaire,car j'ai des retours parse errors.
Si vous avez une autre idée,je prends
(le script est classique pour pagination et requete de BDD)
[CODE]<?php
session_start() ;
$recherche = isset($_POST['recherche'])
//enregistrement d'une variable de session
$_SESSION["recherche"] == "$recherche" ;
include 'conf.php';
// how many rows to show per page
$rowsPerPage = 10;
// by default we show first page
$pageNum = 1;
// if $_GET['page'] defined, use it as page number
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
// Récupère la variable
$recherche = isset($_POST['recherche']) ? $_POST['recherche'] : '';
// counting the offset
$offset = ($pageNum - 1) * $rowsPerPage;
$query = " SELECT title,city FROM jos_restaurante WHERE title OR city
LIKE '%".$recherche."%'" .
" LIMIT $offset, $rowsPerPage";
$result = mysql_query($query) or die('Error, query failed');
// print the random numbers
while($row = mysql_fetch_array($result))
{
echo $row['title'] . '<br>';
echo $row['city'] . '<br>';
}
// how many rows we have in database
$query = "SELECT COUNT(title) AS id FROM jos_restaurante";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['id'];
// how many pages we have when using paging?
$maxPage = ceil($numrows/$rowsPerPage);
// print the link to access each page
$self = $_SERVER['PHP_SELF'];
// creating previous and next link
// plus the link to go straight to
// the first and last page
if ($pageNum > 1)
{
$page = $pageNum - 1;
$prev = " <a href=\"$self?page=$page\">[Prev]</a> ";
$first = " <a href=\"$self?page=1\">[First Page]</a> ";
}
else
{
$prev = ' '; // we're on page one, don't print previous link
$first = ' '; // nor the first page link
}
if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$next = " <a href=\"$self?page=$page\">[Next]</a> ";
$last = " <a href=\"$self?page=$maxPage\">[Last Page]</a> ";
}
else
{
$next = ' '; // we're on the last page, don't print next link
$last = ' '; // nor the last page link
}
// print the navigation link
echo $first . $prev .
" Showing page $pageNum of $maxPage pages " . $next . $last;
include 'close.php'
?>/CODE
Merci beaucoup
je tourne en rond depuis klk jours.
je cherche à afficher des resultats d'une base importante,donc sur plusieures pages.J'arrive à afficher une pagination,sauf que les pages suivantes ne gardent pas la requete récupérée du formulaire. donc je me disais que créer une session permettrait de garder cette requete sur chaque page appelées,je me trompe..?
et comment écrire et intégrer cette session si necessaire,car j'ai des retours parse errors.
Si vous avez une autre idée,je prends
(le script est classique pour pagination et requete de BDD)
[CODE]<?php
session_start() ;
$recherche = isset($_POST['recherche'])
//enregistrement d'une variable de session
$_SESSION["recherche"] == "$recherche" ;
include 'conf.php';
// how many rows to show per page
$rowsPerPage = 10;
// by default we show first page
$pageNum = 1;
// if $_GET['page'] defined, use it as page number
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
// Récupère la variable
$recherche = isset($_POST['recherche']) ? $_POST['recherche'] : '';
// counting the offset
$offset = ($pageNum - 1) * $rowsPerPage;
$query = " SELECT title,city FROM jos_restaurante WHERE title OR city
LIKE '%".$recherche."%'" .
" LIMIT $offset, $rowsPerPage";
$result = mysql_query($query) or die('Error, query failed');
// print the random numbers
while($row = mysql_fetch_array($result))
{
echo $row['title'] . '<br>';
echo $row['city'] . '<br>';
}
// how many rows we have in database
$query = "SELECT COUNT(title) AS id FROM jos_restaurante";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['id'];
// how many pages we have when using paging?
$maxPage = ceil($numrows/$rowsPerPage);
// print the link to access each page
$self = $_SERVER['PHP_SELF'];
// creating previous and next link
// plus the link to go straight to
// the first and last page
if ($pageNum > 1)
{
$page = $pageNum - 1;
$prev = " <a href=\"$self?page=$page\">[Prev]</a> ";
$first = " <a href=\"$self?page=1\">[First Page]</a> ";
}
else
{
$prev = ' '; // we're on page one, don't print previous link
$first = ' '; // nor the first page link
}
if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$next = " <a href=\"$self?page=$page\">[Next]</a> ";
$last = " <a href=\"$self?page=$maxPage\">[Last Page]</a> ";
}
else
{
$next = ' '; // we're on the last page, don't print next link
$last = ' '; // nor the last page link
}
// print the navigation link
echo $first . $prev .
" Showing page $pageNum of $maxPage pages " . $next . $last;
include 'close.php'
?>/CODE
Merci beaucoup
A voir également:
- Comment créer session SVP?
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Comment créer un compte gmail - Guide
- Créer un lien pour partager des photos - Guide
- Comment creer un organigramme - Guide
7 réponses
Salut
$_SESSION["recherche"] == "$recherche" ;
Il faudrai qu'un seul egal et supprimer les " car ils ne servent a rien la.
ça pourra peut etre deja virer quelques erreurs pour faire avancer un peu le truc
$_SESSION["recherche"] == "$recherche" ;
Il faudrai qu'un seul egal et supprimer les " car ils ne servent a rien la.
ça pourra peut etre deja virer quelques erreurs pour faire avancer un peu le truc
Ton code contient beaucoup d'erreurs selon moi (qui ne suis pas un pro, mais bon...)
j'ai souligné les correction et mis en gras les fautes
par contre quand tu copies un code du net, cherche à le comprendre et à traduire les commentaires en français, de même que les variables, ça te permettra de mieux comprendre
<?php session_start() ; $recherche = isset($_POST['recherche']) ici, tu affectes une valeur "true" ou "false" à ta variable recherche , en effet isset() est une fonction qui donne comme résultat true ou false //enregistrement d'une variable de session $_SESSION["recherche"] == "$recherche" ;purement erreur de syntaxe, tu ne dois mettre qu'un seul "=" et surtout pas de guillemets à $recherche include 'conf.php'; // how many rows to show per page $rowsPerPage = 10; // by default we show first page $pageNum = 1; // if $_GET['page'] defined, use it as page number if(isset($_GET['page'])) { $pageNum = $_GET['page']; } // Récupère la variable $recherche = isset($_POST['recherche']) ? $_POST['recherche'] : '';même chose qu'au début... je ne comprends pas pourquoi tu mets des isset() à tour de bras // counting the offset $offset = ($pageNum - 1) * $rowsPerPage; $query = " SELECT title,city FROM jos_restaurante WHERE title OR city LIKE '%".$recherche."%'" . " LIMIT $offset, $rowsPerPage"; $result = mysql_query($query) or die('Error, query failed'); // print the random numbers while($row = mysql_fetch_array($result)) { echo $row['title'] . '<br>'; echo $row['city'] . '<br>'; } // how many rows we have in database $query = "SELECT COUNT(title) AS id FROM jos_restaurante"; $result = mysql_query($query) or die('Error, query failed'); $row = mysql_fetch_array($result, MYSQL_ASSOC); $numrows = $row['id']; // how many pages we have when using paging? $maxPage = ceil($numrows/$rowsPerPage); // print the link to access each page $self = $_SERVER['PHP_SELF']; // creating previous and next link // plus the link to go straight to // the first and last page if ($pageNum > 1) { $page = $pageNum - 1; $prev = " <a href=\"$self?page=$page\">[Prev]</a> "; $first = " <a href=\"$self?page=1\">[First Page]</a> "; } else { $prev = ' '; // we're on page one, don't print previous link $first = ' '; // nor the first page link } if ($pageNum < $maxPage) { $page = $pageNum + 1; $next = " <a href=\"$self?page=$page\">[Next]</a> "; $last = " <a href=\"$self?page=$maxPage\">[Last Page]</a> "; } else { $next = ' '; // we're on the last page, don't print next link $last = ' '; // nor the last page link } // print the navigation link echo $first . $prev . " Showing page $pageNum of $maxPage pages " . $next . $last; include 'close.php' ?>
j'ai souligné les correction et mis en gras les fautes
par contre quand tu copies un code du net, cherche à le comprendre et à traduire les commentaires en français, de même que les variables, ça te permettra de mieux comprendre
isset a été retiré mais j'ai un renvoi d'erreur : recherche=indéfini
et ma valeur requete se vide toujours à l'appel de la page suivante
et ma valeur requete se vide toujours à l'appel de la page suivante
à ce moment là mets :
if(isset($_POST['recherche']){
$recherche=$_POST['recherche'];
}
else{
$recherche=valeur par défaut;
}
if(isset($_POST['recherche']){
$recherche=$_POST['recherche'];
}
else{
$recherche=valeur par défaut;
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
$recherche = isset($_POST['recherche']) ? $_POST['recherche'] : '';
c'est la même chose. Sans le parse error
$recherche = isset($_POST['recherche']) ? $_POST['recherche'] : '';
c'est la même chose. Sans le parse error
$recherche = isset($_POST['recherche']) ? $_POST['recherche'] : '';
c'est la même chose uniquement si tu mets une valeur par défaut, ici "", c'est à dire rien...
mais avec mon code, tu peux dire, s'il n'y a pas de $_POST['recherche'] alors on remet le formulaire et un message d'erreur
attendez les gars , je commence à nager là.
si je mets ça, en haut
if(isset($_POST['recherche']){
$recherche=$_POST['recherche'];
}
else{
$recherche='';
}
j'ai un parse error
si je mets
$recherche = isset($_POST['recherche']) ? $_POST['recherche'] : '';
la requete est affichée mais n'est pas tenue....
si je mets ça, en haut
if(isset($_POST['recherche']){
$recherche=$_POST['recherche'];
}
else{
$recherche='';
}
j'ai un parse error
si je mets
$recherche = isset($_POST['recherche']) ? $_POST['recherche'] : '';
la requete est affichée mais n'est pas tenue....
donne nous la ligne 102 et les 3 lignes qui précedent et qui suivent
c'est vrai que les n de lignes n'apparaisent pas...
voilà la section concernée
// on affiche tous les liens de notre barre, tout en vérifiant de ne pas mettre de lien pour la page active
for ($cpt = $cpt_deb; $cpt <= $cpt_fin; $cpt++) {
if ($cpt == $page_active) {
if ($cpt == $nb_pages_total) {
$barre .= $cpt;
}
else {
$barre .= $cpt.' - ';
}
}
else {
if ($cpt == $cpt_fin) {
$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page).'&recherche='.$_SESSION['recherche'];
$barre .= "'>".$cpt."</A>";
}
else {
$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page).'&recherche='.$_SESSION['recherche'];
$barre .= "'>".$cpt."</A> - ";
}
merci
voilà la section concernée
// on affiche tous les liens de notre barre, tout en vérifiant de ne pas mettre de lien pour la page active
for ($cpt = $cpt_deb; $cpt <= $cpt_fin; $cpt++) {
if ($cpt == $page_active) {
if ($cpt == $nb_pages_total) {
$barre .= $cpt;
}
else {
$barre .= $cpt.' - ';
}
}
else {
if ($cpt == $cpt_fin) {
$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page).'&recherche='.$_SESSION['recherche'];
$barre .= "'>".$cpt."</A>";
}
else {
$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page).'&recherche='.$_SESSION['recherche'];
$barre .= "'>".$cpt."</A> - ";
}
merci