Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/01/2017, 18:46
Avatar de JethCrew
JethCrew
 
Fecha de Ingreso: marzo-2012
Ubicación: México
Mensajes: 67
Antigüedad: 12 años, 1 mes
Puntos: 3
Problema al guardar datos en base de datos y scroll infinito

Buen día amigos,

Estoy teniendo un problema que me tiene rompiendo la cabeza ya varios dias, estoy programando un muro (tipo facebook) y tengo dos problemas que no eh podido solucionar y ojala pudieran orientarme.

Problema #1. El scroll automatico no funciona correctamente, debería de mostrar los datos que le siguen al último post pero vuelve a mostrar los mismos datos en todas las paginas que le des para abajo.

Problema #2. Despues de bajar el scroll y que se vuelven a mostrar los datos repetidos ya no puedo interactuar con ellos como comentarlos o darle like porque me dice que el formulario esta vacío.

Dejo el código del wall.php

Código:
<?php
include_once("header.php");

$limit = 5; #item per page
$user_id = $_SESSION['user_id'];
$page = (int) (!isset($_GET['p'])) ? 1 : $_GET['p'];
# sql query
$sql = "SELECT p.*,u.name as username, pl.like_id from fb_post p left join fb_users u on u.user_id = p.user_id left join fb_post_likes pl on pl.post_id = p.post_id and pl.user_id = '$user_id' group by p.post_id order by post_id desc";
# find out query stat point
$start = ($page * $limit) - $limit;
# query for page navigation
if( mysql_num_rows(mysql_query($sql)) > ($page * $limit) ){
	$next = $page + 1;
}
$query = mysql_query( $sql . " LIMIT {$start}, {$limit}");
if (mysql_num_rows($query) < 1) {
	header('HTTP/1.0 404 Not Found');
	echo 'Page not found!';
	exit();
}

if(!isset($_SESSION['user_id']) || $_SESSION['user_id'] == ""){
    header("location:index.php");
}
?>

<div class="wrapper">
    <div class="middle_box">
        <div class="feed_form">
            <form action="" id="frmpost" method="post">      
                <div class="row_ele">
                    <textarea name="post_feed" id="post_feed" class="textarea" rows="3" placeholder="What's on your mind?"></textarea>
                </div>  
                <div class="row_ele">
                    <input class="btn" id="btnpost" type="button" name="submit" value="Post"/>
                </div>
            </form>
        </div>
        <div class="clear"></div>
        <div class="feed_div" id="feed_div">
<!-- loop row data -->
	<?php while ($post = mysql_fetch_array($query)): ?>
            <?php
                    $comments = getPostComments($post['post_id']);
            ?>
                <div class="feed_box" id="postbox_<?php echo $post['post_id']; ?>">
                    <div class="feed_left">
                        <p><img class="userimg" src="<?php echo SITE_URL; ?>/usericon.gif"/></p>
                        <p><?php echo $post['username']; ?></p>
                    </div>
                    <div class="feed_right">
                        <p><?php echo $post['content']; ?></p>
                        <p class="likebox">
                            Total Like : <?php echo $post['total_like']; ?>&nbsp;|&nbsp;
                            <?php if(isset($post['like_id']) && $post['like_id'] != ""){ ?>
                                <a class="link_btn dis_like_btn" postid="<?php echo $post['post_id']; ?>" href="javascript:;">Dislike</a>&nbsp;|&nbsp;
                            <?php }else{ ?>
                                <a class="link_btn like_btn" postid="<?php echo $post['post_id']; ?>" href="javascript:;">Like</a>&nbsp;|&nbsp;
                            <?php } ?>
                            <a class="link_btn" href="javascript:;">Comment</a>
                        </p>                      
                        <div class="clear"></div>
                        <?php if($comments){ ?>
                            <div class="comment_div">
                                <?php foreach($comments as $comment){ ?>
                                <div class="clear"></div>
                                <div class="comment_ele">
                                    <p><a class="link_btn" href="javascript:;"><?php echo $comment['username']; ?></a></p>
                                    <p><?php echo $comment['comment']; ?></p>
                                </div>
                                <?php } ?>
                            </div>
                        <?php } ?>
                        <div class="clear"></div>
                        <p>
                            <form id="commentform_<?php echo $post['post_id']; ?>" method="post">
                                <input type="hidden" name="action" value="comment"/>
                                <input type="hidden" name="post_id" value="<?php echo $post['post_id']; ?>"/>
                                <input class="input comment_input" type="text" name="comment" id="comment_<?php echo $post['post_id']; ?>" placeholder="your comment"/>
                                <input class="submitbtn btn" postid="<?php echo $post['post_id']; ?>" type="button" name="sendbtn" value=">"/>
                            </form>
                        </p>
                    </div>
                    <div class="clear"></div>
                </div>
	<?php endwhile?>

        </div>
    </div>
    <div class="clear"></div>
</div>

<div class="clear"></div>

	<!--page navigation-->
	<?php if (isset($next)): ?>
	<div class="nav">
		<a href='index.php?p=<?php echo $next?>'>Next</a>
	</div>
	<?php endif?>
	
	
<?php
include_once("footer.php");
?>

<script type='text/javascript'>
$(document).ready(function(){
    
    $(".submitbtn").live("click",function(){
        var post_id = $(this).attr('postid');
        var comment = $("#comment_"+post_id).val();
        if(comment == ''){
            alert("comment can't be empty!");
            return false;
        }else{
            $.ajax({
                type: "POST",
                data: $('#commentform_'+post_id).serialize(),
                url: '<?php echo SITE_URL; ?>/functions.php',
                dataType: 'json',
                success: function(response) {
                    if(response.ResponseCode == 200){
                        $('#postbox_'+post_id).load('<?php echo SITE_URL; ?>/wall.php #postbox_'+post_id+' >*');
                    }else{
                        alert(response.Message);
                    }
                }
            });
        }
    });
    $(".like_btn").live("click",function(){
        var post_id = $(this).attr('postid');        
        $.ajax({
                type: "POST",
                data: {'post_id':post_id,'action':'like'},
                url: '<?php echo SITE_URL; ?>/functions.php',
                dataType: 'json',
                success: function(response) {
                    if(response.ResponseCode == 200){
                        $('#postbox_'+post_id).load('<?php echo SITE_URL; ?>/wall.php #postbox_'+post_id+' >*');
                    }else{
                        alert(response.Message);
                    }
                }
        }); 
    });

    $(".dis_like_btn").live("click",function(){
        var post_id = $(this).attr('postid');        
        $.ajax({
                type: "POST",
                data: {'post_id':post_id,'action':'dislike'},
                url: '<?php echo SITE_URL; ?>/functions.php',
                dataType: 'json',
                success: function(response) {
                    if(response.ResponseCode == 200){
                        $('#postbox_'+post_id).load('<?php echo SITE_URL; ?>/wall.php #postbox_'+post_id+' >*');
                    }else{
                        alert(response.Message);
                    }
                }
        }); 
    });

    
    $("#btnpost").click(function(){
        var post = $("#post_feed").val();
        if(post == ""){
            alert("Post Feed Data can't be empty!");
            return false;
        }else{
            $.ajax({
                 type: "POST",
                 data: {'post_feed':post,'action':'post'},
                 url: '<?php echo SITE_URL; ?>/functions.php',
                 dataType: 'json',
                 success: function(response) {
                     if(response.ResponseCode == 200){
                         $("#post_feed").val("");
                         $('#feed_div').load('<?php echo SITE_URL; ?>/wall.php #feed_div');
                     }else{
                        alert(response.Message);
                     }
                 }
            });            
        }
    });
	
        $(document).ready(function() {
        	// Infinite Ajax Scroll configuration
            jQuery.ias({
                container : '.feed_div', // main container where data goes to append
                item: '.feed_box', // single items
                pagination: '.nav', // page navigation
                next: '.nav a', // next page selector
                loader: '<br/><center><img src="css/ajax-loader.gif"/></center>', // loading gif
                triggerPageThreshold: 3 // show load more if scroll more than this
            });
        });
	
});
</script>

Siento que el problema se soluciona simple en el Ajax (ya que no soy muy bueno) y algo me dice que solucionando el primer problema se arregla el segundo, pero ya probe de todo y no lo hago funcionar, espero puedan ayudarme, saludos y gracias.
__________________
Descubre Bicicletas Spinning - Ganar Dinero Con Mobidea