gallerie d'image...

Répondre
khalad
khalad
Déconnecté
Bonsoir

c'est encore moi. J'ai installé le script que j'ai trouvé dans "comment faire" le script, sur conseil de vengeur, le script permettant de limiter le nombre de fiche dans une page, bref

le soucis c'est que j'aimerais également définir une limitatio de colonne, car actuellement, et malgré tout mes essaies, je n'y arrive pas.

Comment faire, si vous pouviez m'aiguillez. Je pense qu'il est inutile que je vous recopie le code vu qu'il est déjà sur le site

merci d'avance !
vengeur002
vengeur002
Déconnecté
La prog c est pas sorcier suffis juste de s'y coller ^^
Salut

ca veux rien dire met nous ton code et idente le
khalad
khalad
Déconnecté
lol, bon on fait essayé de faire plus clair alors ...

LE script que tu m'a conseillé dans la section comment ca marche, le truc page par page, ca marche ok, mais je veux adapter ce système pour des vignettes. Il m'affiche mes vignettes sur une colonnes, au bout du nombre atteind, la deuxième page est crée.

J'aimerais les étalés sur trois colonnes par exemple tu vois ? Ca fera genre trois colonnes et 5 lignes...

je te recopie le code :

<?php
function barre_navigation ($nb_total,
$nb_affichage_par_page,
$debut,
$nb_liens_dans_la_barre) {

$barre = '';

// on recherche l'URL courante munie de ses paramètre auxquels on ajoute le paramètre 'debut' qui jouera le role du premier élément de notre LIMIT
if ($_SERVER['QUERY_STRING'] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$tableau = explode ("debut=", $_SERVER['QUERY_STRING']);
$nb_element = count ($tableau);
if ($nb_element == 1) {
$query = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&debut=';
}
else {
if ($tableau[0] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$query = $_SERVER['PHP_SELF'].'?'.$tableau[0].'debut=';
}
}
}

// on calcul le numéro de la page active
$page_active = floor(($debut/$nb_affichage_par_page)+1);
// on calcul le nombre de pages total que va prendre notre affichage
$nb_pages_total = ceil($nb_total/$nb_affichage_par_page);

// on calcul le premier numero de la barre qui va s'afficher, ainsi que le dernier ($cpt_deb et $cpt_fin)
// exemple : 2 3 4 5 6 7 8 9 10 11 << $cpt_deb = 2 et $cpt_fin = 11
if ($nb_liens_dans_la_barre%2==0) {
$cpt_deb1 = $page_active - ($nb_liens_dans_la_barre/2)+1;
$cpt_fin1 = $page_active + ($nb_liens_dans_la_barre/2);
}
else {
$cpt_deb1 = $page_active - floor(($nb_liens_dans_la_barre/2));
$cpt_fin1 = $page_active + floor(($nb_liens_dans_la_barre/2));
}

if ($cpt_deb1 <= 1) {
$cpt_deb = 1;
$cpt_fin = $nb_liens_dans_la_barre;
}
elseif ($cpt_deb1>1 && $cpt_fin1<$nb_pages_total) {
$cpt_deb = $cpt_deb1;
$cpt_fin = $cpt_fin1;
}
else {
$cpt_deb = ($nb_pages_total-$nb_liens_dans_la_barre)+1;
$cpt_fin = $nb_pages_total;
}

if ($nb_pages_total <= $nb_liens_dans_la_barre) {
$cpt_deb=1;
$cpt_fin=$nb_pages_total;
}

// si le premier numéro qui s'affiche est différent de 1, on affiche << qui sera un lien vers la premiere page
if ($cpt_deb != 1) {
$cible = $query.(0);
$lien = '<A HREF="'.$cible.'">&lt;&lt;</A>&nbsp;&nbsp;';
}
else {
$lien='';
}
$barre .= $lien;

// 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.'&nbsp;-&nbsp;';
}
}
else {
if ($cpt == $cpt_fin) {
$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A>";
}
else {

$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A>&nbsp;-&nbsp;";
}
}
}

$fin = ($nb_total - ($nb_total % $nb_affichage_par_page));
if (($nb_total % $nb_affichage_par_page) == 0) {
$fin = $fin - $nb_affichage_par_page;
}

// si $cpt_fin ne vaut pas la dernière page de la barre de navigation, on affiche un >> qui sera un lien vers la dernière page de navigation
if ($cpt_fin != $nb_pages_total) {
$cible = $query.$fin;
$lien = '&nbsp;&nbsp;<A HREF="'.$cible.'">&gt;&gt;</A>';
}
else {
$lien='';
}
$barre .= $lien;

return $barre;
}
?>

<html>
<head>
<title>Les livres de la bibliothèque</title>
</head>

</body>
<p>Les différents livres de la bibliothèque :

<?php
// on se connecte à notre base
$host='localhost';
$user='root';
$password='';
$database='swa';
$base = mysql_connect($host,$user,$password) or die ("connexion à la base impossible");
$db=mysql_select_db($database,$base) or die ("Sélection de la base impossible");

// on prépare une requête permettant de calculer le nombre total d'éléments qu'il faudra afficher sur nos différentes pages
$sql = "SELECT count(*) FROM fiche WHERE categorie='vehicules'";

// on exécute cette requête
$resultat = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());

// on récupère le nombre d'éléments à afficher
$nb_total = mysql_fetch_array($resultat);

// on teste si ce nombre de vaut pas 0
if (($nb_total = $nb_total[0]) == 0) {
echo 'Aucune réponse trouvée';
}
else {
echo '<table width=\'200\' border=\'0\' cellspacing=\'0\' cellpadding=\'0\' align=\'center\'><tr>';

// sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on l'initialise à 0
if (!isset($_GET['debut'])) $_GET['debut'] = 0;

$nb_affichage_par_page = 4;
$nbcol=3;

// Préparation de la requête avec le LIMIT
$sql = 'SELECT * FROM fiche WHERE categorie="vehicules" ORDER BY titre_m ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;

// on exécute la requête
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());

// on va scanner tous les tuples un par un
// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {
// on affiches les résultats dans la <table>
echo '<div align=\'left\'><td height=\'20\' align=\'center\' valign=\'middle\'>&nbsp;</td>
</tr>
<tr>
<td width=\'200\' height=\'120\' align=\'center\' valign=\'middle\'><img width=\'180\' height=\'100\' align=\'middle\' src=\'images/encyclo/',stripslashes(htmlentities(trim($data['image']))),'\' alt=\'',stripslashes(htmlentities(trim($data['titre_m']))),'\'></td></td></tr>';
}

// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req);
echo '</table>';

// on affiche enfin notre barre
echo '<Br><div align=\'center\'<span class="gras">'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 3).'</span>';
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($resultat);
// on ferme la connexion à la base de données.
mysql_close ();
?>
</p>
<p>&nbsp;</p>
</body>
</html>
jocker
jocker
Déconnecté
indente le ca veut dire entoure ton code des balises
  1. ... 
pour qu'on puisse moi voir ce qui se passe.

++
khalad
khalad
Déconnecté
lol, bon on fait essayé de faire plus clair alors ...

LE script que tu m'a conseillé dans la section comment ca marche, le truc page par page, ca marche ok, mais je veux adapter ce système pour des vignettes. Il m'affiche mes vignettes sur une colonnes, au bout du nombre atteind, la deuxième page est crée.

J'aimerais les étalés sur trois colonnes par exemple tu vois ? Ca fera genre trois colonnes et 5 lignes...

je te recopie le code :
...
<?php
function barre_navigation ($nb_total,
$nb_affichage_par_page,
$debut,
$nb_liens_dans_la_barre) {

$barre = '';

// on recherche l'URL courante munie de ses paramètre auxquels on ajoute le paramètre 'debut' qui jouera le role du premier élément de notre LIMIT
if ($_SERVER['QUERY_STRING'] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$tableau = explode ("debut=", $_SERVER['QUERY_STRING']);
$nb_element = count ($tableau);
if ($nb_element == 1) {
$query = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&debut=';
}
else {
if ($tableau[0] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$query = $_SERVER['PHP_SELF'].'?'.$tableau[0].'debut=';
}
}
}

// on calcul le numéro de la page active
$page_active = floor(($debut/$nb_affichage_par_page)+1);
// on calcul le nombre de pages total que va prendre notre affichage
$nb_pages_total = ceil($nb_total/$nb_affichage_par_page);

// on calcul le premier numero de la barre qui va s'afficher, ainsi que le dernier ($cpt_deb et $cpt_fin)
// exemple : 2 3 4 5 6 7 8 9 10 11 << $cpt_deb = 2 et $cpt_fin = 11
if ($nb_liens_dans_la_barre%2==0) {
$cpt_deb1 = $page_active - ($nb_liens_dans_la_barre/2)+1;
$cpt_fin1 = $page_active + ($nb_liens_dans_la_barre/2);
}
else {
$cpt_deb1 = $page_active - floor(($nb_liens_dans_la_barre/2));
$cpt_fin1 = $page_active + floor(($nb_liens_dans_la_barre/2));
}

if ($cpt_deb1 <= 1) {
$cpt_deb = 1;
$cpt_fin = $nb_liens_dans_la_barre;
}
elseif ($cpt_deb1>1 && $cpt_fin1<$nb_pages_total) {
$cpt_deb = $cpt_deb1;
$cpt_fin = $cpt_fin1;
}
else {
$cpt_deb = ($nb_pages_total-$nb_liens_dans_la_barre)+1;
$cpt_fin = $nb_pages_total;
}

if ($nb_pages_total <= $nb_liens_dans_la_barre) {
$cpt_deb=1;
$cpt_fin=$nb_pages_total;
}

// si le premier numéro qui s'affiche est différent de 1, on affiche << qui sera un lien vers la premiere page
if ($cpt_deb != 1) {
$cible = $query.(0);
$lien = '<A HREF="'.$cible.'">&lt;&lt;</A>&nbsp;&nbsp;';
}
else {
$lien='';
}
$barre .= $lien;

// 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.'&nbsp;-&nbsp;';
}
}
else {
if ($cpt == $cpt_fin) {
$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A>";
}
else {

$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A>&nbsp;-&nbsp;";
}
}
}

$fin = ($nb_total - ($nb_total % $nb_affichage_par_page));
if (($nb_total % $nb_affichage_par_page) == 0) {
$fin = $fin - $nb_affichage_par_page;
}

// si $cpt_fin ne vaut pas la dernière page de la barre de navigation, on affiche un >> qui sera un lien vers la dernière page de navigation
if ($cpt_fin != $nb_pages_total) {
$cible = $query.$fin;
$lien = '&nbsp;&nbsp;<A HREF="'.$cible.'">&gt;&gt;</A>';
}
else {
$lien='';
}
$barre .= $lien;

return $barre;
}
?>

<html>
<head>
<title>Les livres de la bibliothèque</title>
</head>

</body>
<p>Les différents livres de la bibliothèque :

<?php
// on se connecte à notre base
$host='localhost';
$user='root';
$password='';
$database='swa';
$base = mysql_connect($host,$user,$password) or die ("connexion à la base impossible");
$db=mysql_select_db($database,$base) or die ("Sélection de la base impossible");

// on prépare une requête permettant de calculer le nombre total d'éléments qu'il faudra afficher sur nos différentes pages
$sql = "SELECT count(*) FROM fiche WHERE categorie='vehicules'";

// on exécute cette requête
$resultat = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());

// on récupère le nombre d'éléments à afficher
$nb_total = mysql_fetch_array($resultat);

// on teste si ce nombre de vaut pas 0
if (($nb_total = $nb_total[0]) == 0) {
echo 'Aucune réponse trouvée';
}
else {
echo '<table width=\'200\' border=\'0\' cellspacing=\'0\' cellpadding=\'0\' align=\'center\'><tr>';

// sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on l'initialise à 0
if (!isset($_GET['debut'])) $_GET['debut'] = 0;

$nb_affichage_par_page = 4;
$nbcol=3;

// Préparation de la requête avec le LIMIT
$sql = 'SELECT * FROM fiche WHERE categorie="vehicules" ORDER BY titre_m ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;

// on exécute la requête
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());

// on va scanner tous les tuples un par un
// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {
// on affiches les résultats dans la <table>
echo '<div align=\'left\'><td height=\'20\' align=\'center\' valign=\'middle\'>&nbsp;</td>
</tr>
<tr>
<td width=\'200\' height=\'120\' align=\'center\' valign=\'middle\'><img width=\'180\' height=\'100\' align=\'middle\' src=\'images/encyclo/',stripslashes(htmlentities(trim($data['image']))),'\' alt=\'',stripslashes(htmlentities(trim($data['titre_m']))),'\'></td></td></tr>';
}

// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req);
echo '</table>';

// on affiche enfin notre barre
echo '<Br><div align=\'center\'<span class="gras">'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 3).'</span>';
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($resultat);
// on ferme la connexion à la base de données.
mysql_close ();
?>
</p>
<p>&nbsp;</p>
</body>
</html>...
khalad
khalad
Déconnecté
pas marché lol... je suppose qu'il faut mettre les crochets, deuxième tentative :p..

lol, bon on fait essayé de faire plus clair alors ...

LE script que tu m'a conseillé dans la section comment ca marche, le truc page par page, ca marche ok, mais je veux adapter ce système pour des vignettes. Il m'affiche mes vignettes sur une colonnes, au bout du nombre atteind, la deuxième page est crée.

J'aimerais les étalés sur trois colonnes par exemple tu vois ? Ca fera genre trois colonnes et 5 lignes...

je te recopie le code :
<...>
<?php
function barre_navigation ($nb_total,
$nb_affichage_par_page,
$debut,
$nb_liens_dans_la_barre) {

$barre = '';

// on recherche l'URL courante munie de ses paramètre auxquels on ajoute le paramètre 'debut' qui jouera le role du premier élément de notre LIMIT
if ($_SERVER['QUERY_STRING'] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$tableau = explode ("debut=", $_SERVER['QUERY_STRING']);
$nb_element = count ($tableau);
if ($nb_element == 1) {
$query = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&debut=';
}
else {
if ($tableau[0] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$query = $_SERVER['PHP_SELF'].'?'.$tableau[0].'debut=';
}
}
}

// on calcul le numéro de la page active
$page_active = floor(($debut/$nb_affichage_par_page)+1);
// on calcul le nombre de pages total que va prendre notre affichage
$nb_pages_total = ceil($nb_total/$nb_affichage_par_page);

// on calcul le premier numero de la barre qui va s'afficher, ainsi que le dernier ($cpt_deb et $cpt_fin)
// exemple : 2 3 4 5 6 7 8 9 10 11 << $cpt_deb = 2 et $cpt_fin = 11
if ($nb_liens_dans_la_barre%2==0) {
$cpt_deb1 = $page_active - ($nb_liens_dans_la_barre/2)+1;
$cpt_fin1 = $page_active + ($nb_liens_dans_la_barre/2);
}
else {
$cpt_deb1 = $page_active - floor(($nb_liens_dans_la_barre/2));
$cpt_fin1 = $page_active + floor(($nb_liens_dans_la_barre/2));
}

if ($cpt_deb1 <= 1) {
$cpt_deb = 1;
$cpt_fin = $nb_liens_dans_la_barre;
}
elseif ($cpt_deb1>1 && $cpt_fin1<$nb_pages_total) {
$cpt_deb = $cpt_deb1;
$cpt_fin = $cpt_fin1;
}
else {
$cpt_deb = ($nb_pages_total-$nb_liens_dans_la_barre)+1;
$cpt_fin = $nb_pages_total;
}

if ($nb_pages_total <= $nb_liens_dans_la_barre) {
$cpt_deb=1;
$cpt_fin=$nb_pages_total;
}

// si le premier numéro qui s'affiche est différent de 1, on affiche << qui sera un lien vers la premiere page
if ($cpt_deb != 1) {
$cible = $query.(0);
$lien = '<A HREF="'.$cible.'">&lt;&lt;</A>&nbsp;&nbsp;';
}
else {
$lien='';
}
$barre .= $lien;

// 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.'&nbsp;-&nbsp;';
}
}
else {
if ($cpt == $cpt_fin) {
$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A>";
}
else {

$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A>&nbsp;-&nbsp;";
}
}
}

$fin = ($nb_total - ($nb_total % $nb_affichage_par_page));
if (($nb_total % $nb_affichage_par_page) == 0) {
$fin = $fin - $nb_affichage_par_page;
}

// si $cpt_fin ne vaut pas la dernière page de la barre de navigation, on affiche un >> qui sera un lien vers la dernière page de navigation
if ($cpt_fin != $nb_pages_total) {
$cible = $query.$fin;
$lien = '&nbsp;&nbsp;<A HREF="'.$cible.'">&gt;&gt;</A>';
}
else {
$lien='';
}
$barre .= $lien;

return $barre;
}
?>

<html>
<head>
<title>Les livres de la bibliothèque</title>
</head>

</body>
<p>Les différents livres de la bibliothèque :

<?php
// on se connecte à notre base
$host='localhost';
$user='root';
$password='';
$database='swa';
$base = mysql_connect($host,$user,$password) or die ("connexion à la base impossible");
$db=mysql_select_db($database,$base) or die ("Sélection de la base impossible");

// on prépare une requête permettant de calculer le nombre total d'éléments qu'il faudra afficher sur nos différentes pages
$sql = "SELECT count(*) FROM fiche WHERE categorie='vehicules'";

// on exécute cette requête
$resultat = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());

// on récupère le nombre d'éléments à afficher
$nb_total = mysql_fetch_array($resultat);

// on teste si ce nombre de vaut pas 0
if (($nb_total = $nb_total[0]) == 0) {
echo 'Aucune réponse trouvée';
}
else {
echo '<table width=\'200\' border=\'0\' cellspacing=\'0\' cellpadding=\'0\' align=\'center\'><tr>';

// sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on l'initialise à 0
if (!isset($_GET['debut'])) $_GET['debut'] = 0;

$nb_affichage_par_page = 4;
$nbcol=3;

// Préparation de la requête avec le LIMIT
$sql = 'SELECT * FROM fiche WHERE categorie="vehicules" ORDER BY titre_m ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;

// on exécute la requête
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());

// on va scanner tous les tuples un par un
// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {
// on affiches les résultats dans la <table>
echo '<div align=\'left\'><td height=\'20\' align=\'center\' valign=\'middle\'>&nbsp;</td>
</tr>
<tr>
<td width=\'200\' height=\'120\' align=\'center\' valign=\'middle\'><img width=\'180\' height=\'100\' align=\'middle\' src=\'images/encyclo/',stripslashes(htmlentities(trim($data['image']))),'\' alt=\'',stripslashes(htmlentities(trim($data['titre_m']))),'\'></td></td></tr>';
}

// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req);
echo '</table>';

// on affiche enfin notre barre
echo '<Br><div align=\'center\'<span class="gras">'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 3).'</span>';
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($resultat);
// on ferme la connexion à la base de données.
mysql_close ();
?>
</p>
<p>&nbsp;</p>
</body>
</html><...>
khalad
khalad
Déconnecté
lol, bon on fait essayé de faire plus clair alors ...

LE script que tu m'a conseillé dans la section comment ca marche, le truc page par page, ca marche ok, mais je veux adapter ce système pour des vignettes. Il m'affiche mes vignettes sur une colonnes, au bout du nombre atteind, la deuxième page est crée.

J'aimerais les étalés sur trois colonnes par exemple tu vois ? Ca fera genre trois colonnes et 5 lignes...

je te recopie le code :
  1.  
  2. <?php
  3. function barre_navigation ($nb_total,  
  4. $nb_affichage_par_page,  
  5. $debut,  
  6. $nb_liens_dans_la_barre) {  
  7.  
  8. $barre = '';  
  9.  
  10. // on recherche l'URL courante munie de ses paramètre auxquels on ajoute le paramètre 'debut' qui jouera le role du premier élément de notre LIMIT  
  11. if ($_SERVER['QUERY_STRING'] == "") {  
  12. $query = $_SERVER['PHP_SELF'].'?debut=';  
  13. }  
  14. else {  
  15. $tableau = explode ("debut=", $_SERVER['QUERY_STRING']);  
  16. $nb_element = count ($tableau);  
  17. if ($nb_element == 1) {  
  18. $query = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&debut=';  
  19. }  
  20. else {  
  21. if ($tableau[0] == "") {  
  22. $query = $_SERVER['PHP_SELF'].'?debut=';  
  23. }  
  24. else {  
  25. $query = $_SERVER['PHP_SELF'].'?'.$tableau[0].'debut=';  
  26. }  
  27. }  
  28. }  
  29.  
  30. // on calcul le numéro de la page active  
  31. $page_active = floor(($debut/$nb_affichage_par_page)+1);  
  32. // on calcul le nombre de pages total que va prendre notre affichage  
  33. $nb_pages_total = ceil($nb_total/$nb_affichage_par_page);  
  34.  
  35. // on calcul le premier numero de la barre qui va s'afficher, ainsi que le dernier ($cpt_deb et $cpt_fin)  
  36. // exemple : 2 3 4 5 6 7 8 9 10 11 << $cpt_deb = 2 et $cpt_fin = 11  
  37. if ($nb_liens_dans_la_barre%2==0) {  
  38. $cpt_deb1 = $page_active - ($nb_liens_dans_la_barre/2)+1;  
  39. $cpt_fin1 = $page_active + ($nb_liens_dans_la_barre/2);  
  40. }  
  41. else {  
  42. $cpt_deb1 = $page_active - floor(($nb_liens_dans_la_barre/2));  
  43. $cpt_fin1 = $page_active + floor(($nb_liens_dans_la_barre/2));  
  44. }  
  45.  
  46. if ($cpt_deb1 <= 1) {  
  47. $cpt_deb = 1;  
  48. $cpt_fin = $nb_liens_dans_la_barre;  
  49. }  
  50. elseif ($cpt_deb1>1 && $cpt_fin1<$nb_pages_total) {  
  51. $cpt_deb = $cpt_deb1;  
  52. $cpt_fin = $cpt_fin1;  
  53. }  
  54. else {  
  55. $cpt_deb = ($nb_pages_total-$nb_liens_dans_la_barre)+1;  
  56. $cpt_fin = $nb_pages_total;  
  57. }  
  58.  
  59. if ($nb_pages_total <= $nb_liens_dans_la_barre) {  
  60. $cpt_deb=1;  
  61. $cpt_fin=$nb_pages_total;  
  62. }  
  63.  
  64. // si le premier numéro qui s'affiche est différent de 1, on affiche << qui sera un lien vers la premiere page  
  65. if ($cpt_deb != 1) {  
  66. $cible = $query.(0);  
  67. $lien = '<A HREF="'.$cible.'">&lt;&lt;</A>&nbsp;&nbsp;';  
  68. }  
  69. else {  
  70. $lien='';  
  71. }  
  72. $barre .= $lien;  
  73.  
  74. // on affiche tous les liens de notre barre, tout en vérifiant de ne pas mettre de lien pour la page active  
  75. for ($cpt = $cpt_deb; $cpt <= $cpt_fin; $cpt++) {  
  76. if ($cpt == $page_active) {  
  77. if ($cpt == $nb_pages_total) {  
  78. $barre .= $cpt;  
  79. }  
  80. else {  
  81. $barre .= $cpt.'&nbsp;-&nbsp;';  
  82. }  
  83. }  
  84. else {  
  85. if ($cpt == $cpt_fin) {  
  86. $barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);  
  87. $barre .= "'>".$cpt."</A>";  
  88. }  
  89. else {  
  90.  
  91. $barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);  
  92. $barre .= "'>".$cpt."</A>&nbsp;-&nbsp;";  
  93. }  
  94. }  
  95. }  
  96.  
  97. $fin = ($nb_total - ($nb_total % $nb_affichage_par_page));  
  98. if (($nb_total % $nb_affichage_par_page) == 0) {  
  99. $fin = $fin - $nb_affichage_par_page;  
  100. }  
  101.  
  102. // si $cpt_fin ne vaut pas la dernière page de la barre de navigation, on affiche un >> qui sera un lien vers la dernière page de navigation  
  103. if ($cpt_fin != $nb_pages_total) {  
  104. $cible = $query.$fin;  
  105. $lien = '&nbsp;&nbsp;<A HREF="'.$cible.'">&gt;&gt;</A>';  
  106. }  
  107. else {  
  108. $lien='';  
  109. }  
  110. $barre .= $lien;  
  111.  
  112. return $barre;  
  113. }  
  114. ?>
  115.  
  116. <html>
  117. <head>
  118. <title>Les livres de la bibliothèque</title>
  119. </head>
  120.  
  121. </body>
  122. <p>Les différents livres de la bibliothèque :
  123.  
  124. <?php
  125. // on se connecte à notre base  
  126. $host='localhost';  
  127. $user='root';  
  128. $password='';  
  129. $database='swa';  
  130. $base = mysql_connect($host,$user,$password) or die ("connexion à la base impossible");  
  131. $db=mysql_select_db($database,$base) or die ("Sélection de la base impossible");  
  132.  
  133. // on prépare une requête permettant de calculer le nombre total d'éléments qu'il faudra afficher sur nos différentes pages  
  134. $sql = "SELECT count(*) FROM fiche WHERE categorie='vehicules'";  
  135.  
  136. // on exécute cette requête  
  137. $resultat = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());  
  138.  
  139. // on récupère le nombre d'éléments à afficher  
  140. $nb_total = mysql_fetch_array($resultat);  
  141.  
  142. // on teste si ce nombre de vaut pas 0  
  143. if (($nb_total = $nb_total[0]) == 0) {  
  144. echo 'Aucune réponse trouvée';  
  145. }  
  146. else {  
  147. echo '<table width=\'200\' border=\'0\' cellspacing=\'0\' cellpadding=\'0\' align=\'center\'><tr>';  
  148.  
  149. // sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on l'initialise à 0  
  150. if (!isset($_GET['debut'])) $_GET['debut'] = 0;  
  151.  
  152. $nb_affichage_par_page = 4;  
  153. $nbcol=3;  
  154.  
  155. // Préparation de la requête avec le LIMIT  
  156. $sql = 'SELECT * FROM fiche WHERE categorie="vehicules" ORDER BY titre_m ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;  
  157.  
  158. // on exécute la requête  
  159. $req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());  
  160.  
  161. // on va scanner tous les tuples un par un  
  162. // on va scanner tous les tuples un par un  
  163. while ($data = mysql_fetch_array($req)) {  
  164. // on affiches les résultats dans la <table>
  165. echo '<div align=\'left\'><td height=\'20\' align=\'center\' valign=\'middle\'>&nbsp;</td>
  166. </tr>
  167. <tr>
  168. <td width=\'200\' height=\'120\' align=\'center\' valign=\'middle\'><img width=\'180\' height=\'100\' align=\'middle\' src=\'images/encyclo/',stripslashes(htmlentities(trim($data['image']))),'\' alt=\'',stripslashes(htmlentities(trim($data['titre_m']))),'\'></td></td></tr>';  
  169. }  
  170.  
  171. // on libère l'espace mémoire alloué pour cette requête  
  172. mysql_free_result ($req);  
  173. echo '</table>';  
  174.  
  175. // on affiche enfin notre barre  
  176. echo '<Br><div align=\'center\'<span class="gras">'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 3).'</span>';  
  177. }  
  178. // on libère l'espace mémoire alloué pour cette requête  
  179. mysql_free_result ($resultat);  
  180. // on ferme la connexion à la base de données.  
  181. mysql_close ();  
  182. ?>
  183. </p>
  184. <p>&nbsp;</p>
  185. </body>
  186. </html> 
khalad
khalad
Déconnecté
réussi mdr, dsl des deux réponses inutiles :).
vengeur002
vengeur002
Déconnecté
La prog c est pas sorcier suffis juste de s'y coller ^^
evite les SELECT * FROM etc...

t as la fleme de mettre SELECT id,image,etc... FROM ?

bon pour ton probleme tu fais

  1.  
  2.  
  3. <?php
  4. $sql = 'SELECT image FROM fiche WHERE categorie="vehicules" ORDER BY titre_m ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;  
  5. // on exécute la requête  
  6. $req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());  
  7.  
  8. // on va scanner tous les tuples un par un  
  9. // on va scanner tous les tuples un par un  
  10. while ($data = mysql_fetch_array($req)) {  
  11.  
  12. $tableau = array($data['image']);  
  13. }  
  14. //ensuite ton tableau avec au bons endroits  
  15.  
  16. echo $tableau[0];  
  17. echo $tableau[1];  
  18. //etc...  
  19.  
  20.  
  21. ?>
  22.  
  23.  


Voila et arrête de faire la paillasse avec tes * t aura plus de facilité a trouver tes erreurs
jocker
jocker
Déconnecté
Tu lui conseilles de virer les * ce qui est vrai est mieux par contre tu lui laisses faire ca

$sql = 'SELECT image FROM fiche WHERE categorie="vehicules" ORDER BY titre_m ASC LIMIT '.$_GET['debut'].','.


vive le SQL injection avec le $_GET['debut']

si c'est un nombre que tu recupères intval($_GET['debut'])

++
vengeur002
vengeur002
Déconnecté
La prog c est pas sorcier suffis juste de s'y coller ^^
smiley

j connaissais meme po smiley
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Breizh Blog