Styleman

  • Signature
    ++ Styleman
  • Nombre de sujets
    6
  • Nombre de messages
    27
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

Styleman
le 24/09/2003 à 17:01
Petit probleme dans mon affichage page par page
ok, mais tu le sais surement, il est long lol...

<?
$rep = 'commentaires/';
require_once($rep.'config/fonctions.lib.php');

function barre_navigation ($nb_total, $nb_affichage_par_page,$debut) {

$nb_liens_dans_la_barre = 10;

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=';
}
}
}
if ($debut >= $nb_affichage_par_page) {
$cible = $query.(0);
$lien = '<A HREF="'.$cible.'">&lt;&lt;</A>&nbsp;';
}
else {
$lien = '';
}
$barre .= $lien;

if ($debut >= $nb_affichage_par_page) {
$cible = $query.($debut-$nb_affichage_par_page);
$lien = '&nbsp;<A HREF="'.$clible.'">&lt;</A>&nbsp;';
}
else {
$lien = '';
}
$barre .= $lien;

if ($debut >= ($nb_liens_dans_la_barre*$nb_affichage_par_page))
{
$cpt_fin = ($debut / $nb_affichage_par_page) + 1;
$cpt_deb = $cpt_fin - $nb_liens_dans_la_barre + 1;
}
else {
$cpt_deb = 1;
$cpt_fin = (int) (nb_total / $nb_affichage_par_page);
if (($nb_total % $nb_affichage_par_page) != 0) {
$cpt_fin++;
}
if ($cpt_fin > $nb_liens_dans_la_barre) {
$cpt_fin = $nb_liens_dans_la_barre;
}
}
for ($cpt = $cpt_deb; $cpt <= $cpt_fin; $cpt++) {
if ($cpt == $cpt_fin) {
if ($cpt == ($debut / $nb_affichage_par_page) + 1) {
$barre .= "&nbsp;".$cpt."&nbsp; ";
}
else {
$barre .= "&nbsp;<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A>&nbsp;";
}
}
else {
if ($cpt == ($debut / $nb_affichage_par_page) + 1) {
$barre .= "&nbsp;".$cpt."&nbsp;-&nbsp;";
}
else {
$barre .= "$nbsp;<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A>&nbsp;-&nbsp;";
}
}
}
if ($debut + $nb_affichage_par_page < $nb_total) {
$cible = $query.($debut+$nb_affichage_par_page);
$lien = '&nbsp;<A HREF="'.$cible.'">&gt;</A>&nbsp;';
}
else {
$lien = '';
}
$barre .= $lien;

$fin = ($nb_total - ($nb_total % $nb_affichage_par_page));
if (($nb_total % $nb_affichage_par_page) == 0) {
$fin = $fin - $nb_affichage_par_page;
}
if ($fin != $debut) {
$cible = $query.$fin;
$lien = '&nbsp;<A HREF="'.$cible.'">&gt;&gt;</A>';
}
else {
$lien = '';
}
$barre .= $lien;

return ($barre);
}

$db = mysql_connect('*****', '****', '****');
mysql_select_db('***',$db);

$nb_affichage_par_page = 25;

if (empty($id)) {
$sql="SELECT count(*) FROM news_tbl";
$result = mysql_query($sql);
$nb_total = mysql_fetch_array($result);
if (($nb_total = $nb_total[0]) == 0) {
echo 'Aucune reponse trouvée';
}
else {
if (!isset($debut)) $debut = 0;
$sql = 'SELECT * FROM news_tbl ORDER BY id DESC LIMIT '.$debut.','.$nb_affichage_par_page;
$req = mysql_query($sql);

echo "<b>Toutes les news:</b><br><br>";
while ($ligne = mysql_fetch_array($req)){
echo "<img src=images/bouton2.gif> <a href=\"index.php?rub=2&id=".$ligne[0]."\">".$ligne['titre']."</a><br>";
}
$barre = barre_navigation($nb_total, $nb_affichage_par_page, $debut);
echo '<b>'.$barre.'</b>';
}
}
else {
$sql="SELECT * FROM news_tbl WHERE id = $id";
$result = mysql_query($sql);
$NbRep = mysql_num_rows($result);
if ($NbRep !=0) {
$ligne = mysql_fetch_array($result);
$message = $ligne[texte];
$texte = nl2br($message);

echo "<b>News: ".$ligne[titre]."</b><br><br>";
nb_commentaires('news '.$id.'');
lien_commentaires(' Commentaires','news '.$id.'');
echo "<br><br>Postée le ".$ligne[date]." a ".$ligne[heure]."<br><br>";
echo "<table border=0>";
echo "<tr><td>";
echo "$texte<br><br>";
echo "</td></tr>";
echo "<tr><td>";
echo "<div align=right>News postée par:<b>
<a href=index.php?rub=5&id=".$ligne[id_auteur].">".$ligne[pseudo]."</a></b></div><br>";
echo "</td></tr>";
echo "</table>";
nb_commentaires('news '.$id.'');
lien_commentaires(' Commentaires','news '.$id.'');
}
else {
echo "Il n'y a pas de news ayant cet id";
mysql_close();
}
}
?>
++ Styleman
Styleman
le 24/09/2003 à 15:00
Petit probleme dans mon affichage page par page
Bonjour,

Alors voila j'ai suivi le tuto dans la rubrique "Comment faire?" pour afficher les données page par page, cela fonctionne tres bien mais dans la barre de navigation << < 1 > >> le "<" renvoi a "http://www.host.com/monsite/" au lieu de la page précédente...
et aussi, meme si il y a 5 page, je n'ai que le 1 dans les numero, donc au lieu d'avoir " << < 1 2 3 4 5 > >>" et ben j'ai "<< < 1 > >>"....

Ou puis-je regler le probleme, j'ai essayé mais tout le code est correct...

Ou dois je chercher dans le code?

Car il est long et je ne c pas si j'ai cherché au bon endroit... smiley

Merci bcp

++
Styleman
++ Styleman
Styleman
le 19/09/2003 à 22:23
compter les membres
Dans comment faire c'est pas pour compter les membres...
++ Styleman
Styleman
le 19/09/2003 à 20:43
compter les membres
Vous pourriez mettre le script sur le forum?

Je parle du plus court biensur lol, ça m'interresse, j'ai bien ma petite idée mais voila, lol

Sinon tres bien ce site, je suis la depuis peu, premiere fois ke je viens sur le forum je pense.

Il n'y a pas bcp de pub pour ce site il me semble...

Merci bcp

a+
Styleman
++ Styleman
LoadingChargement en cours