[RESOLU] y a t-il un moyen de faire un LIMIT sur plusieurs requete

Eléphanteau du PHP | 26 Messages

28 nov. 2013, 12:10

Bonjour tout le monde et bonne journée :D

voila je vous explique un peut mieux ma question.

j'ai une pagination avec un LIMIT à 60 et donc plusieurs pages (6 pages) (pour le moment je n'ai encodé que 336 films) jusque la tout va bien lol.

mais quand je met un filtre pour ne voir que par exemple les films comédies (ils y en à 112 dans ma base) ma pagination affiche toujours (6 pages) normalement elle devrais en afficher (2) normal qu'elle en affiche (6)
vu que j'ai un limit sur la requete titre

ma question est est-il possible d'interrompre le limit lorsque que je trie sur le genre comédie pour n'avoir que le tout sur une seule page

ou alors est-il possible de faire un limit sur plusieurs requete par exemple avec un AND (genre, support, titreVF) en ce moment je la fais uniquement sur les titres

Merci d'avance d'avoir lu ce message et merci pour une future réponse si il y en a une ou plusieurs :D

voici mon code le limit se trouve entre les **********
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!--
############################################################
INDEX.PHP 
############################################################
-->
<?php require_once("config.inc.php"); ?>
<?php
$genre = "Tous les films";
$support = "Supports";
$search = "";
$_GET['tri1']; 
$_GET['tri2'];
$_GET['tri3'];
$_GET['tri4'];
$_GET['tri5'];
$_GET['tri6'];
$_GET['tri7'];
$_GET['tri8'];
$_GET['tri9'];
$_GET['tri10'];
$n_derniers = "20";
$afficher_entetes = true;
$titre_fenetre = "Mes Dvd";
$titre_liste = "&nbsp;&nbsp;Liste des films ";
$liste_dateMAJ = true;
$pied_dateMAJ = true;
$infos = false;
$infos_libelle = "";
$auteur = true;
$auteur_nom = "Contactez Michel";
$auteur_mail = "[email protected]";
$lien_retour = true;
$lien_retour_nom = "";
$lien_retour_url = "http://mesdvd.olympe.in";
$afficher_prets = true;
$afficher_non_vu = true;
$afficher_titre_haut = false;
$titre_haut = "";
$LigneParPage=60; # nombre de lignes a afficher par page 

# Lecture du fichier date de mise à jour
$dateMAJ = '?';

$filename = 'update.txt';
if (file_exists($filename)) {
	$handle = fopen($filename, "r");
	$dateMAJ = fread($handle, filesize($filename));
	fclose($handle);
}

# Liste des genres
mysql_select_db($database_fmt, $fmt);
$query_Recordset12 = "SELECT * FROM " . $nom_table;
//echo "query_Recordset12 : ".$query_Recordset12;
$Recordset12 = mysql_query($query_Recordset12, $fmt) or die(mysql_error());
$row_Recordset12 = mysql_fetch_assoc($Recordset12);
$Nbr_Enrg = mysql_num_rows($Recordset12);
$totaldefilms = mysql_num_rows($Recordset12);

if($_GET['ids_pagi']){
	$ids_pagi=$_GET['ids_pagi'];
}else $ids_pagi=0;



# Liste des genres
mysql_select_db($database_fmt, $fmt);
$query_Recordset2 = "SELECT DISTINCT Genre FROM " . $nom_table . " ORDER BY Genre";
$Recordset2 = mysql_query($query_Recordset2, $fmt) or die(mysql_error());
$row_Recordset2 = mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 = mysql_num_rows($Recordset2);
Nbr_Enrg2 = mysql_num_rows($Recordset2);
$totaldefilms = mysql_num_rows($Recordset2);


# Liste des supports
mysql_select_db($database_fmt, $fmt);
$query_Recordset4 = "SELECT DISTINCT Support FROM " . $nom_table . " ORDER BY Support";
$Recordset4 = mysql_query($query_Recordset4, $fmt) or die(mysql_error());
$row_Recordset4 = mysql_fetch_assoc($Recordset4);
$totalRows_Recordset4 = mysql_num_rows($Recordset4);
Nbr_Enrg3 = mysql_num_rows($Recordset4);
$totaldefilms = mysql_num_rows($Recordset4);



# Les 30 dernières entrées
mysql_select_db($database_fmt, $fmt);
$query_Recordset3 = "SELECT ID, TitreVF FROM " . $nom_table . " ORDER BY EntreeDate DESC, ID DESC LIMIT " . $n_derniers;
$Recordset3 = mysql_query($query_Recordset3, $fmt) or die(mysql_error());
$row_Recordset3 = mysql_fetch_assoc($Recordset3);
$totalRows_Recordset3 = mysql_num_rows($Recordset3);

# Les affiches en liste



# Liste des films
if ( (isset($_POST['genre'])) && ($_POST['genre']!="") ) {
	$genre = stripslashes(urldecode($_POST['genre']));
	$query_Recordset1 = sprintf( "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours FROM %s WHERE Genre LIKE '%s' ORDER BY Annee DESC", $nom_table , $genre ); }
elseif ( (isset($_POST['support'])) && ($_POST['support']!="") ) {	$support = stripslashes(urldecode($_POST['support']));
	$query_Recordset1 = sprintf( "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours, Support FROM %s WHERE Support LIKE '%s' ORDER BY Annee DESC", $nom_table , $support ); }
elseif ( (isset($_POST['search'])) && ($_POST['search']!="") ) { 	$search = stripslashes(urldecode($_POST['search']) );
 $query_Recordset1 = sprintf( "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours FROM %s WHERE %s LIKE '%s'  ORDER BY Annee DESC", $nom_table , $_POST['zonerecherche'] , '%' . addslashes($search) . '%' ); } 
elseif($_GET['tri1']=='ref') $query_Recordset1 = "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours FROM " . $nom_table . " ORDER BY Reference DESC";
elseif($_GET['tri2']=='alpha') $query_Recordset1 = "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours FROM " . $nom_table . " ORDER BY TitreVF DESC";
elseif($_GET['tri3']=='gen') $query_Recordset1 = "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours FROM " . $nom_table . " ORDER BY Genre DESC"; 
elseif($_GET['tri4']=='sup') $query_Recordset1 = "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours FROM " . $nom_table . " ORDER BY Support DESC";
elseif($_GET['tri5']=='calend') $query_Recordset1 = "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours FROM " . $nom_table . " ORDER BY Annee DESC";
elseif($_GET['tri6']=='ref2') $query_Recordset1 = "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours FROM " . $nom_table . " ORDER BY Reference ASC";
elseif($_GET['tri7']=='alpha2') $query_Recordset1 = "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours FROM " . $nom_table . " ORDER BY TitreVF ASC";
elseif($_GET['tri8']=='gen2') $query_Recordset1 = "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours FROM " . $nom_table . " ORDER BY Genre ASC"; 
elseif($_GET['tri9']=='sup2') $query_Recordset1 = "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours FROM " . $nom_table . " ORDER BY Support ASC";
elseif($_GET['tri10']=='calend2') $query_Recordset1 = "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours FROM " . $nom_table . " ORDER BY Annee ASC";
else $query_Recordset1 = "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours FROM " . $nom_table . " ORDER BY Annee DESC";

**************************************************************************************************************************************************************************************

 //Nous allons maintenant compter le nombre de pages.
$nombreDePages=ceil($Nbr_Enrg/$LigneParPage);
//echo "nombr page : ".$nombreDePages;
if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
{
     $pageActuelle=intval($_GET['page']);
 
     if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
     {
          $pageActuelle=$nombreDePages;
     }
}
else // Sinon
{
     $pageActuelle=1; // La page actuelle est la n°1    
}

$premiereEntree=($pageActuelle-1)*$LigneParPage; // On calcul la première entrée à lire
$LIMIT=" LIMIT ".$premiereEntree.", ".$LigneParPage;
$query_Recordset1=$query_Recordset1.$LIMIT;
//echo $query_Recordset1;
// fin de pagination

mysql_select_db($database_fmt, $fmt);
$Recordset1 = mysql_query($query_Recordset1, $fmt) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

*****************************************************************************************************************************

?>
<head>

<link rel="icon" type="image/png" href="filmotech_img/favicon.png"> 

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="author" content="http://www.filmotech.fr" />
<title><?php echo($titre_fenetre); ?></title>
<link href="filmotech_css.css" rel="stylesheet" type="text/css" />
<script type="text/JavaScript">
<!--
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->
</script>
</head>

<body>


<script type="text/JavaScript"></script>
<div id="page">
<div id="top" onclick="MM_goToURL('parent','index.php');return document.MM_returnValue"><?php if ($afficher_titre_haut) { echo("<h1>".$titre_haut."</h1>"); } ?></div>
<div id="wrapper">
<P> </P>
<ul id="menu-demo2">
	<li><a href="http://mesdvd.olympe.in/">Accueil</a>
	</li>
	<li><a href="http://mesdvd.olympe.in/galerie.php">Les affiches</a>
	</li>
	<li><a href="">Lien Divers</a>
		<ul>
			<li><a href="http://www.allocine.fr/" target="blank">Allo Ciné</a></li>
			<li><a href="http://www.dvdfr.com/" target="blank">Dvd-Fr</a></li>
			<li><a href="http://www.allmovie.com/" target="blank">Allmovies</a></li>
			<li><a href="http://www.dvdempire.com/" target="blank">Dvd Empire</a></li>
			<li><a href="http://www.cinefilms-hd.com/index.html" target="blank">Cinéfilms</a></li>
			<li><a href="http://picpusdan.free.fr/" target="blank">Picpusdan</a></li>
			<li><a href="http://www.filmotech.fr/">Filmotech</a></li>
			<li><a href="https://www.google.be/">Google</a></li>
		</ul>
	</li>
	<li><a href="">Jacquettes</a>
		<ul>
			<li><a href="http://moviecovers.com/" target="blank">Movie Cover</a></li>
			<li><a href="http://www.cinemapassion.com/jaquette-de-dvd-1-9.php" target="blank">Cinéma passion</a></li>
			<li><a href="http://www.absolutecover.net/" target="blank">Absolute Cover</a></li>
			<li><a href="http://www.cinefilms-hd.com/index.html">Cinéfilms- Hd</a></li>
		</ul>
	</li>
</ul>
<div id="main">



<?php if ($lien_retour) { ?><div class="retour"><a href="<?php echo($lien_retour_url); ?>"><?php echo($lien_retour_nom); ?></a></div><?php } ?>
<h1><?php echo($titre_liste); ?><?php if ($genre != "Tous les films") echo( " : <span class='selection'>" . $genre . "</span>" ); ?><?php if ($support != "Supports") echo( " : <span class='selection'>" . $support . "</span>" ); ?><?php if ($search != "") echo( " contenant <span class='selection'>" . $search . "</span>" ); ?></h1>

<?php if ($totalRows_Recordset1>0) { ?>
<table cellpadding="0" cellspacing="0" id="listefilms">
<?php if ($afficher_entetes) { ?>

<tr><?php if ($afficher_prets || $afficher_non_vu) { ?><th>&nbsp;</th><?php } ?><th><font size="2">Réf.</font></th><th><font size="2">Titre</font></th><th><font size="2">Genre</font></th><th><font size="2">Sup.</font></th><th><font size="2">Date&nbsp;&nbsp;&nbsp;</font></th></tr>


<?php } ?>
<?php do { ?>

<tr class="ligne" onclick="MM_goToURL('parent','detail.php?id=<?php echo($row_Recordset1['ID']); ?>');return document.MM_returnValue" onmouseover="className='ligne_on'" onmouseout="className='ligne'">

<?php if ($afficher_prets || $afficher_non_vu) { ?>
<td class="Puces">
<?php 
	if ( ($afficher_prets) && ($afficher_non_vu) ) {
			if ( ($row_Recordset1['FilmVu'] == 'NON') && ($row_Recordset1['PretEnCours'] == 'OUI') )
				echo ( '<img src="filmotech_img/fmt_point_vert_orange.png" alt="Film prêté et non visionné" />' );
			elseif  ($row_Recordset1['FilmVu'] == 'NON')
				echo ( '<img src="filmotech_img/fmt_point_vert.png" alt="Film non visionné" />' );
			elseif ($row_Recordset1['PretEnCours'] == 'OUI')
				echo ( '<img src="filmotech_img/fmt_point_orange.png" alt="Prêt en cours" />' );
		} 
		elseif ( ($afficher_prets) && ($row_Recordset1['PretEnCours'] == 'OUI') )
			echo ( '<img src="filmotech_img/fmt_point_orange.png" alt="Prêt en cours" />' );
		elseif ( ($afficher_non_vu) && ($row_Recordset1['FilmVu'] == 'NON') )
			echo ( '<img src="filmotech_img/fmt_point_vert.png" alt="Film non visionné" />' );
?>
</td>
<?php } ?>
<td class="Reference"><?php echo( htmlentities($row_Recordset1['Reference'],ENT_COMPAT, "ISO-8859-1") ); ?></td>
<td class="TitreVF"><?php echo( htmlentities($row_Recordset1['TitreVF'],ENT_COMPAT, "ISO-8859-1") ); ?></td>
<td class="Genre"><?php echo( htmlentities($row_Recordset1['Genre'],ENT_COMPAT, "ISO-8859-1") ); ?></td>
<td class="Support"><?php echo( htmlentities($row_Recordset1['Support'],ENT_COMPAT, "ISO-8859-1") ); ?></td>
<td class="Annee"><?php echo( htmlentities($row_Recordset1['Annee'],ENT_COMPAT, "ISO-8859-1") ); ?></td>
<!--
alphabetique
-->

</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
<tr>
<?php if ($afficher_prets || $afficher_non_vu) { ?>

<td colspan="3" class="total"><text-align:left><font size="2" color="#FEFEFE"><?php printf( "%d références&nbsp; par page et %d film(s) au total&nbsp; dans la base" , $totalRows_Recordset1, $totaldefilms ); ?></font></td>

</tr><tr>
<td colspan="3" class="Legende">
<?php 
	if ( ($afficher_prets) && ($afficher_non_vu) ) {
			echo ( '<img src="filmotech_img/fmt_point_orange.png" alt="Prêt en cours" />' );?>
			&nbsp;Prêt en cours | <?php
			echo ( '<img src="filmotech_img/fmt_point_vert.png" alt="Film non visionné" />' );?>
			&nbsp;Film non visionné <?php }
	elseif ($afficher_prets) {
			echo ( '<img src="filmotech_img/fmt_point_orange.png" alt="Prêt en cours" />' );?>
			&nbsp;Prêt en cours <?php }
		elseif ($afficher_non_vu) {
			echo ( '<img src="filmotech_img/fmt_point_vert.png" alt="Film non visionné" />' );?>
			&nbsp;Film non visionné <?php }
?>
</td>

<?php } else { ?>

<td colspan="3" class="total"><text-align:left><font size="2" color="#FEFEFE"><?php printf( "%d références&nbsp; par page et %d film(s) au total&nbsp; dans la base" , $totalRows_Recordset1, $totaldefilms ); ?></font></td>

<?php } ?>
</tr>
</table>

<div id="pagination">
<?php
// Affichage pagination

echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
{
     //On va faire notre condition
     if($i==$pageActuelle) //Si il s'agit de la page actuelle...
     {
         echo ' [ '.$i.' ] '; 
     }	
     else //Sinon...
     {
          echo ' <a href="?page='.$i.'">'.$i.'</a> ';
     }
}
echo '</p>';

// fin d'affichage pagination
?>

</Div>
<?php } else { ?>
<center>
<font size="3"; color="#FEFEFE">
<p>Aucun film à afficher... <?php if ($liste_dateMAJ) echo( ' | Dernière mise à jour : ' . $dateMAJ ); ?></p>
</font>
</center>
<?php } ?>
<p>&nbsp;</p>

<center>
<font size="4">
<?php if ($search != "") echo( "<div class='retour'><a href=''>Tout afficher retour à l'écran principal</a></div>" ); ?>
<p> </p>
</font>
</center>

</div> <!-- End #main --><div id="sidebar">

<div id="recherche">
<h4>Recherche spécifique</h4>
<form id="form2" name="form2" method="post" action="">
<center>
<input name="zonerecherche" type="radio" value="TitreVF" checked="checked" />
Titre
<input name="zonerecherche" type="radio" value="Realisateurs"/>
R&eacute;alisateurs
<input name="zonerecherche" type="radio" value="Acteurs"/>
Acteurs
</center>
  <input type="text" name="search" size="29" >
  <input type="submit" name="Submit" value="Go">
</form>
<P> </p>
</div>

<div id="genre">
<h4>Sélection par genres et supports</h4>
<p> </p>
<form id="form1" name="form1" method="post" action="">
<?php
$query_Recordset2 = "SELECT DISTINCT Genre FROM " . $nom_table . " ORDER BY Genre";
?>
  <select name="genre" style="width:160px;" onchange="javascript:form1.submit();" >
  <option value="" <?php if ($genre==$row_Recordset2['Genre']) echo( 'Selected="selected"' ); ?>>Tous les films</option>
<?php if ($totalRows_Recordset2>0) do { ?>
    <?php if ($row_Recordset2['Genre']!="") { ?>
		<option value="<?php echo( $row_Recordset2['Genre'] ); ?>" <?php if ($genre==$row_Recordset2['Genre']) echo( 'Selected="selected"' ); ?>>
			<?php echo( $row_Recordset2['Genre'] ); ?></option><?php } ?>
<?php } while ($row_Recordset2 = mysql_fetch_assoc($Recordset2)); ?>
</select>

&nbsp;
  <select name="support" style="width:87px;" onchange="javascript:form1.submit();" >
  <option value="" <?php if ($support==$row_Recordset4['Support']) echo( 'Selected="selected"' ); ?>>Supports</option>
<?php if ($totalRows_Recordset4>0) do { ?>
    <?php if ($row_Recordset4['Support']!="") { ?>
		<option value="<?php echo( $row_Recordset4['Support'] ); ?>" <?php if ($support==$row_Recordset4['Support']) echo( 'Selected="selected"' ); ?>>
			<?php echo( $row_Recordset4['Support'] ); ?></option><?php } ?>
<?php } while ($row_Recordset4 = mysql_fetch_assoc($Recordset4)); ?>
</select>
<center>
<P>&nbsp;</p>
<h4><?php if ($genre != "Tous les films") echo( "<div class='retour'><a href=''>Désactiver le filtre << $genre >><P>&nbsp;</p></a></div>" ); ?><h4>
<h4> <?php if ($support != "Supports") echo( "<div class='retour'><a  href=''>Désactiver le filtre << $support >><P>&nbsp;</p></a></div>" ); ?></h4>
</center>
 <p> </p>  
<p> </p> 
</form>
<P> </p>
</div>

<div id="fiche">
<h4>Tri affichage décroissant</h4>
<P> </p>
<center>
<a title="Affichage tri décroisant par référence" href="index.php?tri1=ref">Référence</a>&nbsp;
<a title="Affichage tri décroisant par titre francais "href="index.php?tri2=alpha">TitreVF</a>&nbsp;
<a title="Affichage tri décroisant par genre" href="index.php?tri3=gen">Genre</a>&nbsp;
<a title="Affichage tri décroisant par support" href="index.php?tri4=sup">Support</a>&nbsp;
<a title="Affichage tri décroisant par date" href="index.php?tri5=calend">Année</a>
<h4>Tri affichage croissant</h4>
<P> </p>
<a title="Affichage tri croisant par référence" href="index.php?tri6=ref2">Référence</a>&nbsp;
<a title="Affichage tri croisant par titre francais" href="index.php?tri7=alpha2">TitreVF</a>&nbsp;
<a title="Affichage tri croisant par genre" href="index.php?tri8=gen2">Genre</a>&nbsp;
<a title="Affichage tri croisant par support" href="index.php?tri9=sup2">Support</a>&nbsp;
<a title="Affichage tri croisant par date" href="index.php?tri10=calend2">Année</a>
</center
<p> </p>
</div>

<div id="dernieresentrees">
<h4>Les 20 dernières entrées</h4>
<P> </p>
    <?php 
    if ($totalRows_Recordset3>0) {
        echo "<marquee width='100%' scrollamount='3' scrolldelay='1' behavior='alternate' loop='800' onmouseover='this.stop();' onmouseout='this.start();'>";
        do {
            $filename = sprintf('Affiches_mini/Filmotech_%05d.jpg' , $row_Recordset3['ID'] ) ;
			
			if (file_exists($filename)) {
                echo("<a href='detail.php?id=".$row_Recordset3['ID']."'>
                        <img src='".$filename."' alt='".$row_Recordset3['TitreVF']."'>
                        </a>");
            };
        }While ($row_Recordset3 = mysql_fetch_assoc($Recordset3)); 
        echo "</marquee>";
    };
    ?>
<center>
<font color="#F7F701">
<p> Cliquez sur une affiche pour accéder directement sur le détail du film</p>
</font>
</center>
</div>


</div> <!-- End #sidebar -->
</div> <!-- End #wrapper -->


<div id="footer">
<p>&nbsp;&nbsp;
<?php if ($pied_dateMAJ) echo( 'Dernière mise à jour : ' . $dateMAJ . " | " ); ?>
<?php if ($infos) echo( $infos_libelle . " | " ); ?>
<?php if ($auteur) echo( '<a title="Pour envoyer un mail à Michel Tombal" href="mailto:' . $auteur_mail . '">' . $auteur_nom . "</a> | ");  ?>
Réalisé par : &nbsp; <font color ="#FFFF33">Michel Tombal</font></p>

</div> <!-- End #footer -->
</div> <!-- End #page -->
</body>
</html>
<?php mysql_free_result($Recordset1); mysql_free_result($Recordset2); mysql_free_result($Recordset3); mysql_free_result($Recordset4); ?>
Modifié en dernier par diodon le 28 nov. 2013, 14:33, modifié 2 fois.

ViPHP
xTG
ViPHP | 7331 Messages

28 nov. 2013, 14:02

Ton filtre doit être aussi appliqué à ta requête qui te retourne le nombre de résultats.
Sinon cela perd son sens. ;)

Eléphanteau du PHP | 26 Messages

28 nov. 2013, 14:13

Bonjour

merci pour ta réponse mais peut tu me montrer un exemple car je suis tres débutant en php et je fais de mon mieux mais j'ai tres envie de comprendre je vais cela pour passer mon temps car je suis blèssé et ne peux plus travailler
donc mes journées sont tres longues
encore merci à toi :D

ViPHP
xTG
ViPHP | 7331 Messages

28 nov. 2013, 17:14

Le filtre que tu appliques doit aussi être appliqué à cette requête :
# Liste des genres
mysql_select_db($database_fmt, $fmt);
$query_Recordset12 = "SELECT * FROM " . $nom_table;
//echo "query_Recordset12 : ".$query_Recordset12;
$Recordset12 = mysql_query($query_Recordset12, $fmt) or die(mysql_error());
$row_Recordset12 = mysql_fetch_assoc($Recordset12);
$Nbr_Enrg = mysql_num_rows($Recordset12);
Sinon $Nbr_Enrg correspond au nombre total dans ta table non filtré.

Eléphanteau du PHP | 26 Messages

28 nov. 2013, 17:15

merci à toi

mais comment on fais merci et désolé de t'ennuier

ViPHP
xTG
ViPHP | 7331 Messages

28 nov. 2013, 17:22

J'ai envie de dire... De la même façon que tu l'as fait pour l'autre requête ?
Et là tu vas à priori me répondre "je suis pas l'auteur du code".
C'est le scénario non ?

Car en gros si je te réponds je te le code tellement c'est bateau...
C'est un copier/coller et un ou deux ajustement par rapport à un code qui est déjà fait dans ton script. :|

Eléphanteau du PHP | 26 Messages

28 nov. 2013, 17:27

J'ai envie de dire... De la même façon que tu l'as fait pour l'autre requête ?
Et là tu vas à priori me répondre "je suis pas l'auteur du code".
C'est le scénario non ?

Car en gros si je te réponds je te le code tellement c'est bateau...
C'est un copier/coller et un ou deux ajustement par rapport à un code qui est déjà fait dans ton script. :|
sa veux dire quoi bateau.. te moque pas de moi suis handicapé je fais ce que je peux je fais sa pour passer mon temps c'est sérieux la j'ai 44 ans et je peux plus bosser depuis 2 ans a cause d'un accident de travail je me suis mis sur un pc car j'ai plus rien d'autre a faire et si tu me montre le code je pourrais comprendre pour le suivant si tu me comprend

oui tu as raison cela viens de Filmotech mais j'ai changer pas mal de chose notament il n'y avais pas de pagination ni beaucoup d'autre chose mais voila ce que j'en ai fais par rapport à l'origine

[url]http://*****.in/[/url]

la pagination et le reste c'est moi filmotech c'étais uniquement l'affichage sur 2 colonne Titre et genre et pas tous les sidebar ni la gallerie ni le menu Etc... pourrais tu corriger mon LIMIT merci
Modifié en dernier par diodon le 28 nov. 2013, 22:17, modifié 1 fois.

Eléphanteau du PHP | 26 Messages

28 nov. 2013, 18:42

qui peux aider un handicapé merci

ViPHP
xTG
ViPHP | 7331 Messages

28 nov. 2013, 19:04

Je vais sans doute être méchant mais...
Que tu sois handicapé, que tu ais 44ans...
On s'en fout...
Tu oses nous envoyer cela à la figure mais qui ne te dis pas que je ne suis pas dans la même condition que toi ?
Donc du coup qui est le plus abject de nous deux ?

Ici on aide sur nos temps libres, on est pas rémunéré pour coder pour les autres.
De ce fait on aiguille, on redirige, on explique.
Ce que j'ai fais depuis le début.

Après on a monté un sous-forum pour les codes à développer qui s'appelle "Offre d'emploi" ou bien "Projets collaboratifs".

Tu as monté toi même un système de pagination, j'ose espérer que tu l'as compris.
Or à priori ce n'est pas le cas puisque c'est la partie qui te pose problème.
Là on peut rien pour toi si tu ne comprends pas ce que tu codes...

Eléphanteau du PHP | 26 Messages

29 nov. 2013, 08:39

Bonjour

up MERCI

pour répondre a Xtg j'ai tiré ma pagination d'ici : http://antoine-herault.developpez.com/t ... ue-en-php/

mais le problème il n'explique pas comment faire quand il y a un filtre c'est tout :roll:

t'as pas besoin d'etre méchant hier je ralais car je m'énervais depuis le matin la dessus :(

si je comprend bien je dois mettre à la place de ceci
$query_Recordset12 = "SELECT * FROM " . $nom_table;
remplacé par un truc du genre mais je sais pas quoi mettre à la place des ****
$query_Recordset12 = "SELECT COUNT(*) AS **** FROM " . $nom_table;  

Mammouth du PHP | 2278 Messages

29 nov. 2013, 17:09

oici peut-être un élément de réponse:
<?PHP
mysql_connect("localhost", "root","");
mysql_select_db("lexique");
/*
if (condition)
{
$limite = "limit 5";
}
else
{
$limite = "";
}
*/
$limite = "		LIMIT 5";

$requete = "select * from mots where categorie = 'NOM' $limite";
$result = mysql_query ($requete);
while ($ligne=mysql_fetch_row ($result))
{
print_r($ligne);
}

?>
(testé sur une base à moi)
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphanteau du PHP | 26 Messages

29 nov. 2013, 18:04

merci je vais tester

Eléphant du PHP | 79 Messages

30 nov. 2013, 00:22

Bonjour,

Personnellement je comprends pas trop l'histoire de la limite. Et il faut comprendre que le nombre de résultats à afficher et un choix visuel et non de traitement. Quand je suis dans ton cas, je ne cherche pas a limiter le nombre de résultat apporté par ma requête sql, mais de plutôt gérer le nombre de résultat que je vais faire apparaître. Comme tu as dis plus au, faire une pagination.

Celle ci ce fait par l'intermédiaire de scripts js assez simple à concevoir avec l'idée suivantes.

- step étant la variable numérique permettant de savoir combien de résultat tu veux afficher par page.
- cell étant la variable permettant d'identifier les cellules qui vont englober les 'step' résultat que tu veux afficher.
- index étant un indice pour savoir à quelle endroit du step tu te trouves (un curseur).
- tu récupères un tableau de résultat par l'intermédiaire de ta requête sql.
- tu l'as boucle et à chaque interprétation tu lis l'index. Si celui ci est inférieur au step, tu l’incrémente de +1 et tu continues dans la boucle.
- quand l'index est supérieur au step tu ferme la div 'cel-'.x et tu en ouvre une nouvelle du type 'cell-'.x+1.
- tu divises le nombre de résultat de ta requête sql par le step pour obtenir le bon nom de lien pour ta pagination.
- par l'intermédiaire d'un script js tu vas cacher toutes les div ayant pour id ou class commençant par 'cell-'.
- tu rends visible le premier élément, soit 'cell-1'.
- au clique de chaque bouton créer pour la pagination tu caches toutes les div ayant pour id ou class commençant par 'cell-' et tu affiches la cell-x avec x étant l'id du bouton relatif à la bonne cellule.

exemple :

<?php

$dsn = "mysql:dbname=maBdd;host=127.0.0.1;port=3306" ;
$database = new PDO( $dsn, 'root', null );

$sql = "SELECT * FROM maTable" ;
$req = $database-> prepare( $sql );
$req-> execute();

$result = $req-> fetchAll( PDO::FETCH_ASSOC );

$i = 1 ;
$cell = 1 ;
$step = 2 ;

?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script>
$(document).ready(function(){
    jQuery(function($){
        $('.cellule').hide();
        $('.section div:first').show();
        $('.pagination a').click(function(){
            var index = $(this).attr('id').replace('link-','');
            $('.cellule').hide();
            $('#cell-'+index).show();
            return false ;
        });
    });
});
</script>
<body>
<div class="pagination">
    <ul>
    <?php for( $z = 1 ; $z < ( count( $result ) / $step ) + 1 ; ++$z ): ?>
        <li><a href="" id="link-<?php echo $z ?>"><?php echo $z ?></a></li>
    <?php endfor ?>
    </ul>
</div>
<div class="section">
    <div class="cellule" id="cell-<?php echo $i ?>">
    <?php foreach( $result as $item ): ?>
    <?php if( $i > $step ): ?>
    <?php ++$cell ?>
    </div>
    <div class="cellule" id="cell-<?php echo $cell ?>">
    <?php endif ?>
    <div class="item">
    <pre>
    <?php print_r( $item ) ?>
    </pre>
    </div>
    <?php ++$i ?>
    <?php endforeach ?>
    </div>
</div>
</body>
</html>
Après à toi d'intégrer du design pour avoir une jolie pagination et une bonne intégration des données de ta base de données.

Ciao

Eléphanteau du PHP | 26 Messages

30 nov. 2013, 08:08

ok merci à vous pour votre aide :D

Edit : afin que se soit plus propre comme code j'ai recommencé tout sur une autre adresse afin de ne pas avoir de doublon

ViPHP
xTG
ViPHP | 7331 Messages

30 nov. 2013, 10:51

Personnellement je comprends pas trop l'histoire de la limite. Et il faut comprendre que le nombre de résultats à afficher et un choix visuel et non de traitement. Quand je suis dans ton cas, je ne cherche pas a limiter le nombre de résultat apporté par ma requête sql, mais de plutôt gérer le nombre de résultat que je vais faire apparaître. Comme tu as dis plus au, faire une pagination.
L'intérêt ? Eviter de faire une requête retournant 1 000 000 d'enregistrements. :)