IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Fancybox et pagination [Plugin]


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 50
    Par défaut Fancybox et pagination
    Bonjour j'essaie en vain de mettre dans une pagination d'articles un lien dans chaque article envoyant ouvrant une iframe grâce à fancybox.

    Le lien fonctionne très bien dans mon code principal (pour le tester) mais une fois dans les articles, rien ne va plus, cela ouvre bien la page mais pas en fancybox

    page : index-test.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
     
    <!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" xml:lang="en" lang="en">
    <head>
    <title><?php echo $titre." - ".constant("SITEDESC".$languepage); ?></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="author" content="Lull Agency, site internet à Dijon" />
    <meta name="keywords" content="" />
    <meta name="description" content="" />
    <link rel="shortcut icon" type="image/x-icon" href="../css/dropdown/themes/vimeo.com/images/favicon.ico" />
    <link href="../css/dropdown/themes/vimeo.com/helper.css" media="screen" rel="stylesheet" type="text/css" />
    <!-- Beginning of compulsory code below -->
    <link href="../css/dropdown/dropdown.css" media="screen" rel="stylesheet" type="text/css" />
    <link href="../css/dropdown/themes/vimeo.com/default.advanced.css" media="screen" rel="stylesheet" type="text/css" />
    <link href="../css/style<?php echo $languepage; ?>.css" media="screen" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
    	<script>
    		!window.jQuery && document.write('<script src="../js/jquery-1.4.3.min.js"><\/script>');
    	</script>
    <link rel="stylesheet" href="../css/load_posts.css" type="text/css" media="screen" />
     
    <script type="text/javascript">
                $(document).ready(function(){
                    function loading_show(){
                        $('#loading').html("<img src='../css/images/loading.gif'/>").fadeIn('fast');
                    }
                    function loading_hide(){
                        $('#loading').fadeOut('fast');
                    }                
                    function loadData(page){
                        loading_show();                    
                        $.ajax
                        ({
                            type: "POST",
                            url: "data_posts.php",
                            data: "page="+page,
                            success: function(msg)
                            {
                                $("#container").ajaxComplete(function(event, request, settings)
                                {
                                    loading_hide();
                                    $("#container").html(msg);
                                });
                            }
                        });
                    }
                    loadData(1);  // For first time page load default results
                    $('#container .pagination li.active').live('click',function(){
                        var page = $(this).attr('p');
                        loadData(page);
     
                    });           
                    $('#go_btn').live('click',function(){
                        var page = parseInt($('.goto').val());
                        var no_of_pages = parseInt($('.total').attr('a'));
                        if(page != 0 && page <= no_of_pages){
                            loadData(page);
                        }else{
                            alert('Enter a PAGE between 1 and '+no_of_pages);
                            $('.goto').val("").focus();
                            return false;
                        }
     
                    });
                });
            </script>
    <script type="text/javascript" src="../fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
    <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>
    <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />
    <script type="text/javascript">
    		$(document).ready(function() {
     
    			/*
    			*   Examples - various
    			*/
     
    			$("#various1").fancybox({
    				'titlePosition'		: 'inside',
    				'transitionIn'		: 'none',
    				'transitionOut'		: 'none'
    			});
     
    			$("#various2").fancybox();
     
    			$("#various3").fancybox({
    				'width'				: '75%',
    				'height'			: '75%',
    				'autoScale'			: false,
    				'transitionIn'		: 'none',
    				'transitionOut'		: 'none',
    				'type'				: 'iframe'
    			});
     
    			$("#various4").fancybox({
    				'padding'			: 0,
    				'autoScale'			: false,
    				'transitionIn'		: 'none',
    				'transitionOut'		: 'none'
    			});
    		});
    	</script>
    <!--[if lte IE 7]>
    <script type="text/javascript" src="../js/jquery/jquery.js"></script>
    <script type="text/javascript" src="../js/jquery/jquery.dropdown.js"></script>
    <![endif]-->
    <!-- / END -->
     
    </head>
    <body>
    <div id="loading"></div>
    <div id="container">
    <div class="data"></div>
    <div class="pagination"></div>
    </div>
    les div data et pagination sont remplis par la page data_posts.php qui est appelé dans la fonction load_data ci-dessus (en début de script)

    et voici la page data_posts

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
     
    $page = $_POST['page'];
    $cur_page = $page;
    $page -= 1;
    $per_page = 2;
    $previous_btn = true;
    $next_btn = true;
    $first_btn = true;
    $last_btn = true;
    $start = $page * $per_page;
     
    if(!isset($_GET['id'])OR !is_numeric($_GET['id'])){ $idpage=HOMEDEFAULT; }
    else{$idpage=$_GET['id'];}
     
    ///////////////////////////////////////POSTS//////////////////////////////////////////////////////
     
    ///////////////////////////////////////SELECT CONTENU POST////////////////////////////////////
     
    $sqlposts = "SELECT * FROM posts  WHERE idrub=".$idpage." AND languepost='".$languepage."' ORDER BY ordre ASC, date DESC LIMIT ".$start.", ".$per_page."";
    $sthposts = $dbh->query($sqlposts);
    $posts = $sthposts->fetchAll();
    $nbreposts = count($posts);
     
    ////si pas de resultat dans cette langue on cherche dans la langue par défault//
    if($nbreposts==0){	
    	$sqlposts = "SELECT * FROM posts, langues  WHERE langues.langues=posts.languepost AND posts.idrub=".$idpage." AND langues.statut=0 ORDER BY posts.ordre ASC, posts.date DESC LIMIT ".$start.", ".$per_page."";
    	$sthposts = $dbh->query($sqlposts);
    	$posts = $sthposts->fetchAll();
    	$nbreposts = count($posts);
    }
     
     
    ////////////////////////pour pagination count/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    $sqlposts2 = "SELECT * FROM posts  WHERE idrub=".$idpage." AND languepost='".$languepage."' ORDER BY ordre ASC, date DESC";
    $sthposts2 = $dbh->query($sqlposts2);
    $posts2 = $sthposts2->fetchAll();
    }
    $count = count($posts2);
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ?>
     
    <?php
    if($nbreposts>0){
    	$msg="";
    	?>
    	<div id="posts">
    	<?php
     
    	foreach($posts as $row){
    	//variables//
    										    if($row['photo']!=""){$photoposts="..".$row['photo'];}
    										$contenuposts=htmlspecialchars_decode($row['contenu']);
    										$titreposts=htmlspecialchars_decode($row['titre']);
    										$bonnedate=Datedanslordre($row['date']);
    ///////////
    													?>
    													<div class="posts1">
    														<div class="bloctitreposts">
    															<span class="titreposts">
    																<?php $titreposts=raccourcirChaine($titreposts, MAXTITREPOSTS);
                                                                                                                                    echo $titreposts; ?>
    															</span>
    															<p class="dateposts"><?php echo DATEPOSTMSG." ".$bonnedate; ?></p>
    														</div>
    														<div class="contenuposts">
    															<?php 
    															if($photoposts!=""){ ?>
    															<img class="photoposts" src="<?php echo $photoposts; ?>" ?> />
    															<?php 
                                                                                                                            } 
                                                                                                                            $contenuposts2=raccourcirChaine($contenuposts, MAXDESCRIPTIONPOSTS);
     
    //////////////// Ce lien la ne marche pas et si je le note tel quel dans le
    ///////////////  fichier index-test.php ca marche je ne comprends vraiment pas
    echo "<a id='various3' href='posts.php?id=".$row['id']."'>".$contenuposts2."</a>";
                                                                                                                            ?>
    														</div>
    													</div>
    <?php
            }
     
                                                                            
    /////////calcul des pages CELA FONCTIONNE////////
     
     
    $no_of_paginations = ceil($count / $per_page);
     
    /* ---------------Calculating the starting and endign values for the loop----------------------------------- */
    if ($cur_page >= 7) {
        $start_loop = $cur_page - 3;
        if ($no_of_paginations > $cur_page + 3)
            $end_loop = $cur_page + 3;
        else if ($cur_page <= $no_of_paginations && $cur_page > $no_of_paginations - 6) {
            $start_loop = $no_of_paginations - 6;
            $end_loop = $no_of_paginations;
        } else {
            $end_loop = $no_of_paginations;
        }
    } else {
        $start_loop = 1;
        if ($no_of_paginations > 7)
            $end_loop = 7;
        else
            $end_loop = $no_of_paginations;
    }
    /* ----------------------------------------------------------------------------------------------------------- */
    $msg .= "<div class='pagination'><ul>";
     
    // FOR ENABLING THE FIRST BUTTON
    if ($first_btn && $cur_page > 1) {
        $msg .= "<li p='1' class='active'>First</li>";
    } else if ($first_btn) {
        $msg .= "<li p='1' class='inactive'>First</li>";
    }
     
    // FOR ENABLING THE PREVIOUS BUTTON
    if ($previous_btn && $cur_page > 1) {
        $pre = $cur_page - 1;
        $msg .= "<li p='$pre' class='active'>Previous</li>";
    } else if ($previous_btn) {
        $msg .= "<li class='inactive'>Previous</li>";
    }
    for ($i = $start_loop; $i <= $end_loop; $i++) {
     
        if ($cur_page == $i)
            $msg .= "<li p='$i' style='color:#fff;background-color:#006699;' class='active'>{$i}</li>";
        else
            $msg .= "<li p='$i' class='active'>{$i}</li>";
    }
     
    // TO ENABLE THE NEXT BUTTON
    if ($next_btn && $cur_page < $no_of_paginations) {
        $nex = $cur_page + 1;
        $msg .= "<li p='$nex' class='active'>Next</li>";
    } else if ($next_btn) {
        $msg .= "<li class='inactive'>Next</li>";
    }
     
    // TO ENABLE THE END BUTTON
    if ($last_btn && $cur_page < $no_of_paginations) {
        $msg .= "<li p='$no_of_paginations' class='active'>Last</li>";
    } else if ($last_btn) {
        $msg .= "<li p='$no_of_paginations' class='inactive'>Last</li>";
    }
    $goto = "<input type='text' class='goto' size='1' style='margin-top:-1px;margin-left:60px;'/><input type='button' id='go_btn' class='go_button' value='Go'/>";
    $total_string = "<span class='total' a='$no_of_paginations'>Page <b>" . $cur_page . "</b> of <b>$no_of_paginations</b></span>";
    $msg = $msg . "</ul>" . $goto . $total_string . "</div>";  // Content for pagination
    echo $msg;
    }
    ?>
    Voila si quelqu'un peut m'aider

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 50
    Par défaut
    Si cela peut aider j'ai copier le code source de la page afin d'enlever tout ce qui est php. Mais cela inclue évidemment le code de la page data_posts qui est inclue dans la page index-test. Il n'y a donc qu'un code source.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
     
    <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head>
     
     
    <title>Bienvenue sur le site de Plombières les Dijon - Mairie de Plombières les Dijon.</title>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
    <meta content="Lull Agency, site internet ? Dijon" name="author">
    <meta content="" name="keywords">
    <meta content="" name="description">
    <link href="../css/dropdown/themes/vimeo.com/images/favicon.ico" type="image/x-icon" rel="shortcut icon">
    <link type="text/css" rel="stylesheet" media="screen" href="../css/dropdown/themes/vimeo.com/helper.css">
    <!-- Beginning of compulsory code below -->
    <link type="text/css" rel="stylesheet" media="screen" href="../css/dropdown/dropdown.css">
    <link type="text/css" rel="stylesheet" media="screen" href="../css/dropdown/themes/vimeo.com/default.advanced.css">
    <link type="text/css" rel="stylesheet" media="screen" href="../css/styleFR.css">
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" type="text/javascript"></script>
    	<script>
    		!window.jQuery &amp;&amp; document.write('&lt;script src="../js/jquery-1.4.3.min.js"&gt;&lt;\/script&gt;');
    	</script>
    <link media="screen" type="text/css" href="../css/load_posts.css" rel="stylesheet">
     
    <script type="text/javascript">
                $(document).ready(function(){
                    function loading_show(){
                        $('#loading').html("&lt;img src='../css/images/loading.gif'/&gt;").fadeIn('fast');
                    }
                    function loading_hide(){
                        $('#loading').fadeOut('fast');
                    }                
                    function loadData(page){
                        loading_show();                    
                        $.ajax
                        ({
                            type: "POST",
                            url: "data_posts.php",
                            data: "page="+page,
                            success: function(msg)
                            {
                                $("#container").ajaxComplete(function(event, request, settings)
                                {
                                    loading_hide();
                                    $("#container").html(msg);
                                });
                            }
                        });
                    }
                    loadData(1);  // For first time page load default results
                    $('#container .pagination li.active').live('click',function(){
                        var page = $(this).attr('p');
                        loadData(page);
     
                    });           
                    $('#go_btn').live('click',function(){
                        var page = parseInt($('.goto').val());
                        var no_of_pages = parseInt($('.total').attr('a'));
                        if(page != 0 &amp;&amp; page &lt;= no_of_pages){
                            loadData(page);
                        }else{
                            alert('Enter a PAGE between 1 and '+no_of_pages);
                            $('.goto').val("").focus();
                            return false;
                        }
     
                    });
                });
            </script>
    <script src="../fancybox/jquery.mousewheel-3.0.4.pack.js" type="text/javascript"></script>
    <script src="../fancybox/jquery.fancybox-1.3.4.pack.js" type="text/javascript"></script>
    <link media="screen" href="../fancybox/jquery.fancybox-1.3.4.css" type="text/css" rel="stylesheet">
    <script type="text/javascript">
    		$(document).ready(function() {
     
    			/*
    			*   Examples - various
    			*/
     
    			$("#various1").fancybox({
    				'titlePosition'		: 'inside',
    				'transitionIn'		: 'none',
    				'transitionOut'		: 'none'
    			});
     
    			$("#various2").fancybox();
     
    			$("#various3").fancybox({
    				'width'				: '75%',
    				'height'			: '75%',
    				'autoScale'			: false,
    				'transitionIn'		: 'none',
    				'transitionOut'		: 'none',
    				'type'				: 'iframe'
    			});
     
    			$("#various4").fancybox({
    				'padding'			: 0,
    				'autoScale'			: false,
    				'transitionIn'		: 'none',
    				'transitionOut'		: 'none'
    			});
    		});
    	</script>
    <!--[if lte IE 7]>
    <script type="text/javascript" src="../js/jquery/jquery.js"></script>
    <script type="text/javascript" src="../js/jquery/jquery.dropdown.js"></script>
    <![endif]-->
    <!-- / END -->
     
    </head>
    <body>
    	<div id="loading" style="display: none;"><img src="../css/images/loading.gif"></div>
    	<div id="container">
    	<div id="posts">
     
    		<div class="posts1">
     
    			<span class="titreposts">Le haut débit arrive</span>
    			<p class="dateposts">Posté le 04-01-2011</p></div>
    			<div class="contenuposts">
    				<img height="105" width="142" src="../documents/images/posts/haut-debit.jpg" class="photoposts">
    				<a href="posts.php?id=9" id="various3"><p>Actualité :<br>Internet haut débit arrive à Plombières.<br><br>Cliquer ici pour de plus amples informations.</p></a>
    			</div>
    		</div>											
     
    		<div class="posts2">
     
    			<span class="titreposts">Le haut débit arrive</span>
    			<p class="dateposts">Posté le 02-01-2011</p></div>
    			<div class="contenuposts">
    				<img height="105" width="142" src="../documents/images/posts/haut-debit2.jpg" class="photoposts">
    				<a href="posts.php?id=10" id="various3"><p>Actualité :<br>dsfdsf df dsf dsf sdf </p></a>
    			</div>
     
    		</div>					
     
        </div>
    <div id="fancybox-tmp"></div><div id="fancybox-loading"><div></div></div><div id="fancybox-overlay"></div><div id="fancybox-wrap"><div id="fancybox-outer"><div id="fancybox-bg-n" class="fancybox-bg"></div><div id="fancybox-bg-ne" class="fancybox-bg"></div><div id="fancybox-bg-e" class="fancybox-bg"></div><div id="fancybox-bg-se" class="fancybox-bg"></div><div id="fancybox-bg-s" class="fancybox-bg"></div><div id="fancybox-bg-sw" class="fancybox-bg"></div><div id="fancybox-bg-w" class="fancybox-bg"></div><div id="fancybox-bg-nw" class="fancybox-bg"></div><div id="fancybox-content"></div><a id="fancybox-close"></a><div id="fancybox-title"></div><a id="fancybox-left" href="javascript:;"><span id="fancybox-left-ico" class="fancy-ico"></span></a><a id="fancybox-right" href="javascript:;"><span id="fancybox-right-ico" class="fancy-ico"></span></a></div></div>
    </body>
    </html>
     
    Toutes les div fancybox a la fin doivent être créée automatiquement car elles ne sont pas dans mon code.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juillet 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 96
    Par défaut
    Salut Fabrizti,

    Le probleme est au niveau javascrips:

    je veux essayer d'etre le plus clair possible car, le concept peut être difficile a saisir si mal expliqué

    donc en gros il se passe quoi quand tu fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $("#various3").fancybox({
    				'width'				: '75%',
    				'height'			: '75%',
    				'autoScale'			: false,
    				'transitionIn'		: 'none',
    				'transitionOut'		: 'none',
    				'type'				: 'iframe'
    			});
    La fonction $ de jquery, prend tout les ID #various3 et sur chacun d'eux, effectue la fonction fancybox.

    ensuite tu remarquera que tu a mi le code ci-haut a linterieur de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $(document).ready(function() {
    /*ici*/
    })
    note : ready, signifie, une foi que tout le html est ecrit execute ceci...
    load veux dire une foi que tout les element sont charger dans le html
    execute ceci...
    Une petite explication

    cependant, dans ta page tu fait appaitre le contenue de #container en ajax, donc quand tu assigne fancybox as #various3, bien #various3 nexiste meme pas encore dans ta page.

    donc, dit moi ou dans ton code tu pourrais placer facybox pour etre sur que various3 est ecrit
    bien ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
                        $.ajax
                        ({
                            type: "POST",
                            url: "data_posts.php",
                            data: "page="+page,
                            success: function(msg)
                            {
                                $("#container").ajaxComplete(function(event, request, settings)
                                {
                                    $("#container").html(msg);
                                   /*ICI ICI ICI */
                                    $("#various3").fancybox({
    				   'width'			: '75%',
    				   'height'			: '75%',
    				   'autoScale'		: false,
    				   'transitionIn'		: 'none',
    				   'transitionOut'		: 'none',
    				   'type'			: 'iframe'
    			        });
                                });
                            }
                        });

    note : essaye deviter de repeter plusieurs foi le meme id comme #various3, utilise des class a la place

    et

    quand tu fait ton count en php/sql
    tu le fait sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT * FROM posts  WHERE idrub=".$idpage." AND languepost='".$languepage."' ORDER BY ordre ASC, date DESC LIMIT ".$start.", ".$per_page."";
    mais sans le limit...

    mais plus haut dans ton code tu fait une condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    /*si pas de resultat : */
    "SELECT * FROM posts, langues  WHERE langues.langues=posts.languepost AND posts.idrub=".$idpage." AND langues.statut=0 ORDER BY posts.ordre ASC, posts.date DESC LIMIT ".$start.", ".$per_page."";
    alors que dans ta query de count tu le fait toujours sur la premiere des deux le count sera biaiser alors a loccation

    aussi savait du que tu peu trouver le nombre de resultat de ta table en entier meme en fesant limit avec SQL_CALC_FROM_ROW

    http://www.arraystudio.com/as-worksh...ing-limit.html

    bonne chance!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 50
    Par défaut
    Bonjour Nault,

    Tout d'abord merci beaucoup, déjà car désormais l'ouverture fancybox fonctionne et en plus car tu ne t'es pas limité à me donner la réponse mais tu as pris le temps de me l'expliquer, c'est génial, vraiment.

    Je vais prendre le temps d'analyser toutes tes remarques (celle par rapport à mettre class plutôt qu'id était également nécessaire).

    Là cela fonctionne mais j'aurais encore une question autour de ce système de pagination.

    A l'heure actuelle, la page data-posts envoie en post le contenu et la pagination à la page index-test

    celle-ci reçoit tout cela avec cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    function loadData(page){
                        loading_show();                    
                        $.ajax
                        ({
                            type: "POST",
                            url: "data_posts.php",
                            data: "page="+page,
                            success: function(msg)
                            {
                                $("#container").ajaxComplete(function(event, request, settings)
                                {
                                    loading_hide();
                                    $("#container").html(msg);
    								$(".various3").fancybox({
    								   'width'			: '75%',
    								   'height'			: '75%',
    								   'autoScale'		: false,
    								   'transitionIn'		: 'elastic',
    								   'transitionOut'		: 'fade',
    								   'type'			: 'iframe'
    									});
     
                                });
                            }
                        });
                    }
    Ce systeme de pagination d'articles ne fonctionne que pour les articles de ma page d'accueil : index-test.php
    J'aurais besoin de recevoir en plus une variable supplémentaire qui est l'id en GET présent dans mon adresse et faisant la différence entre toutes mes pages. car sans cela
    page accueil : index-test.php
    exemple ma 2eme page contact : index-test.php?id=8

    J'aimerais passer cette variable lors de l'envoi des infos mais je ne vois pas comment l'envoyer.

    l'envoi de la variable page en POST est dans data-posts concerne la pagination des articles d'une seule page et il me faudrait en plus la variable id qui elle concerne l'id de chaque page.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $goto = "<input type='text' class='goto' size='1' style='margin-top:-1px;margin-left:60px;'/><input type='button' id='go_btn' class='go_button' value='Go'/>";
    $total_string = "<span class='total' a='$no_of_paginations'>Page <b>" . $cur_page . "</b> of <b>$no_of_paginations</b></span>";
    $msg = $msg . "</ul>" . $goto . $total_string . "</div>";  // Content for pagination
    echo $msg;
    J'ai essayé de la passer dans un input hidden mais je n'arrive pas à la récupérer et l'idéal serait non pas de la passer en POst mais en GET mais à mon avis c'est pas possible vu comment on est embarqué.
    Je te remercie d'avance si tu peux m'expliquer ...

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juillet 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 96
    Par défaut
    Salut Fabrizti,

    pourquoi tu passe cette variable de la meme facon?

    quand ta page se load tu a access a cette variable en get ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script type="text/javascript">
     idpage = "<?php echo get['id'];?>"
    </script>
    ton javascript a maintenant la valeur du get en mémoire

    ensuite dans ton ajax, bien ca devrais ressembler a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
                        $.ajax
                        ({
                            type: "POST",
                            url: "data_posts.php",
                            data: "page="+page+"&idpage="+idpage,
                            success: function(msg)
    bon scripting!

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 50
    Par défaut
    Effectivement, je prenais le problème dans le mauvais sens.

    Cela fonctionne super comme ca .

    Merci beaucoup j'ai vraiment du mal à raisonner en javascript ajax.

    Pourrais tu me conseiller pour bien apprendre ces langages. (php xhtml css ca va ... mais le reste...)

    Merci beaucoup encore une fois

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pagination : numéroter sous la forme (1/4)
    Par audreyb dans le forum SAP Crystal Reports
    Réponses: 8
    Dernier message: 01/03/2013, 11h59
  2. [VB.NET] Pagination DataGrid (où est l'erreur?)
    Par franculo_caoulene dans le forum ASP.NET
    Réponses: 2
    Dernier message: 25/10/2004, 11h46
  3. [C#] Probleme de pagination dans datagrid
    Par asphareth dans le forum ASP.NET
    Réponses: 2
    Dernier message: 21/07/2004, 11h25
  4. [VB.NET] Pagination DataGrid
    Par sehing dans le forum ASP.NET
    Réponses: 5
    Dernier message: 20/07/2004, 16h28
  5. Réponses: 15
    Dernier message: 20/07/2004, 09h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo