Jump to content

Foreach loop doesn't bring all the records from the database


Go to solution Solved by mac_gyver,

Recommended Posts

Hi, guys i'm trying to fetch all results from DB through a foreach loop. But it is not working as intended, as it brings only the first record and not the others.

here is my code:-

$sql1="select * from group_posts";
$stmt_t=$conn->prepare($sql1);
$stmt_t->execute();
$data_fetch=$stmt_t->fetchAll();

foreach ($data_fetch as $row_d) {
            
            $postid=$row_d['gp_id'];
        $post_auth=$row_d['author_gp'];
        $post_type=$row_d['type'];
        $post_title=  html_entity_decode($row_d['title']);
        $post_data=  html_entity_decode($row_d['data']);
        $data1=  array($post_data);
        
        //      $data1=  taggingsys($data0);
        $post_date=$row_d['pdate'];
        $post_avatar=$row_d['avatar'];
        $post_uid=$row_d['user_id'];
           if ($post_avatar != ""){
          $g_pic='user/'.$post_uid.'/'.$post_avatar;
      }  else {
          $g_pic='img/avatardefault.png';
          }
     $user_image="<img src='{$g_pic}' alt='{$post_auth}' title='{$post_auth}' width='30' height='30'>";
      $vote_up_count=$project->voteGroupCheck($postid, $_SESSION['id']);
}

So did you solve the problem? If not, what is the problem? Be specific and post the real code.

 

no, for simplicity's sake i kept the code small.

 

Providing fantasy code is a very bad idea when you expect real answers.

here is the full code. The problem is that the $data_fetch is able to pull all the desired results when i try to var_dump it. But, the variable $row_d is only pulling the first row from the DB. How may i solve it. Please forgive me for not giving adequately specific. @jacques1

<?php

include 'includes/header.php';
if (isset($_SESSION['uname'])){
$tag=  htmlentities($_GET['tag']); 
$sql3="select * from user where uname like '%$tag%' and activated='1'";
$stmt_t=$conn->prepare($sql3);
$stmt_t->execute();
$tag_fetch=$stmt_t->fetchAll(PDO::FETCH_ASSOC);
$sql1="select * from group_posts";
$stmt_t=$conn->prepare($sql1);
$stmt_t->execute();
$data_fetch=$stmt_t->fetchAll();

function hashtags($dat, $tag) {
$regex="/#+([a-zA-z0-9._-]+)/";
foreach($dat as $d){
$dat1= preg_match($tag, $d);
print_r($dat1);

}
return $dat1;
    
}

?>
<div class="container-fluid">
<br><div class="row"> </div><br>
<div class="row">
    <div class="col-sm-2">
<?php
                include_once 'notification/friend_list.php'; 
                
                ?>
                 <?php include 'groups/group_list.php';?>
    </div>    
<div class="col-lg-8">
    <table class="main_page">
        <td class="div-col-left1"><div class="overflow"><h3>Users</h3>
        <?php 

foreach ($tag_fetch as $row_s) {
    
    $id_s=$row_s['user_id'];
    $fname_s=$row_s['fname'];
    $lname_s=$row_s['lname'];
    $uname_s=$row_s['uname'];
    $email_s=$row_s['email'];
    $phone_s=$row_s['phone'];
    $photo_s=$row_s['avatar'];
     $city_s=$row_s['city'];
    if($photo_s !=""){
    echo '<div class="" align="left">';
    echo '<a href="home.php?u='.$uname_s.'" target="_blank"><img width="130" height="130" src="user/'.$id_s.'/'.$photo_s.'">'.$fname_s.' '.$lname_s.'('.$uname_s.')</a><br>City:- '.$city_s.'<hr>';
    echo '</div>';
    }  else {
       echo '<div class="" align="left">';
    echo '<a href="home.php?u='.$uname_s.'" target="_blank"><img width="130" height="130" src="img/avatardefault.png">'.$fname_s.' '.$lname_s.'('.$uname_s.')</a><br><hr>';
    echo '</div><br>'; 
    }
    
 
}
echo "</div></td><td class='div-col-right1 '><div class='overflow'><h3>Groups</h3>";


        foreach ($data_fetch as $row_d) {
                   
            $postid=$row_d['gp_id'];
        $post_auth=$row_d['author_gp'];
        $post_type=$row_d['type'];
        $post_title=  html_entity_decode($row_d['title']);
        $post_data=  html_entity_decode($row_d['data']);
        $data1=  array($post_data);
        
        //      $data1=  taggingsys($data0);
        $post_date=$row_d['pdate'];
        $post_avatar=$row_d['avatar'];
        $post_uid=$row_d['user_id'];
           if ($post_avatar != ""){
          $g_pic='user/'.$post_uid.'/'.$post_avatar;
      }  else {
          $g_pic='img/avatardefault.png';
          }
     $user_image="<img src='{$g_pic}' alt='{$post_auth}' title='{$post_auth}' width='30' height='30'>";
      $vote_up_count=$project->voteGroupCheck($postid, $_SESSION['id']);
      /*foreach ($data1 as $d) {
          $d1= explode(" ", $d);
         
       if(strpos("$d1", "#$tag") !=FALSE){
          echo "hurray"; 
           
       }
      
      } */    
      
        if($vote_up_count[0][0]>0){
            $vote_like=TRUE;
            
        } else {
        $vote_like=FALSE;    
        }
          if($vote_up_count[0][1]>0){
            $vote_dislike=TRUE;
            
        } else {
        $vote_dislike=FALSE;    
        }
        include 'ratings/vote_count_g.php';
        
          if ( $vote_like==TRUE && $vote_dislike==FALSE) {
           
          
             $like='<a  type="liked" class="btn liked status_like_'.$postid.' liked" attr="'.$postid.'">Liked</a>('.$num_likes[0].')';
             $unlike='<a  type="unlike" class="btn status_unlike_'.$postid.' unlike" attr="'.$postid.'">Dislike</a>('.$num_unlikes[0].')';   
          }
 elseif ($vote_dislike==TRUE && $vote_like==FALSE) {
              
             $like='<a  type="like" class="btn status_like_'.$postid.' like" attr="'.$postid.'">Like</a>('.$num_likes[0].')';
             $unlike='<a  type="disliked" class="btn disliked status_unlike_'.$postid.'" attr="'.$postid.'">Disliked</a>('.$num_unlikes[0].')';
          }  else {
             $like='<a  type="like" class="btn status_like_'.$postid.' like" attr="'.$postid.'">Like</a>('.$num_likes[0].')';
             $unlike='<a  type="unlike" class="btn status_unlike_'.$postid.' unlike" attr="'.$postid.'">Dislike</a>('.$num_unlikes[0].')';
             
          }
#build threads.
        echo $edit."<div id='PB_".$postid."' value='".$postid."' class='jumbotron'><span  id='spinner".$postid."'></span>"
                . "<legend>{$post_title}"
                . "<span class='pull-right'>"
                        . "<div class='dropdown'>"
                        . "<button type='button' class='btn btn-danger dropdown-toggle' data-toggle='dropdown'  >"
                        . "<span class='glyphicon glyphicon-edit'></span></button>"
                        . "<ul class='dropdown-menu'>"
                         .$edit_btn ." ". $statusdeletebutton ."</ul></div></span><br></legend>"
                . "<legend>{$post_data}<br><span class='spinner_g_u{$postid}'></span>{$like} | {$unlike} <br>Posted by:{$user_image} {$post_auth}-- {$post_date}<hr><br></legend> <h4><a id='{$postid}' class='btn collap-btn'>Comments</a></h4><div class='collapse scroll-comments' id='toggle{$postid}'>";
                #get replies and user image using inner loop
               
                $num_rows1=$project->groupcount_replies($postid);
                $fetch1=$project->group_replies($postid);
               
                if ($num_rows1>0) {
                    foreach ($fetch1 as $row1) {
                        $reply_id=$row1['gp_id'];
                        $reply_pid=$row1['pid'];
                        $reply_auth=$row1['author_gp'];
                        $reply_data=$row1['data'];
                        $data11=  hashtags($reply_data);
              $data12=  taggingsys($data11);
                        $reply_date=$row1['pdate'];
                        $reply_avatar=$row1['avatar'];
                        $reply_uid=$row1['user_id'];
                       
                        if ($reply_avatar != ""){
          $r_pic='user/'.$reply_uid.'/'.$reply_avatar;
      }  else {
          $r_pic='img/avatardefault.png';
          }
        /*  include 'ratings/vote_count_g4comments.php';
               $like_r='<a  type="like" class="btn status_liker_'.$reply_id.' like_r" attr="'.$reply_id.'">Like</a>('.$num_likes_r[0].')';
             $unlike_r='<a  type="unlike" class="btn status_unliker_'.$reply_id.' unlike_r" attr="'.$reply_id.'">Dislike</a>('.$num_unlikes_r[0].')';
     */
        $vote_up_count=$project->voteGroupReplyCheck($_SESSION['id'],$reply_id);
      
        if($vote_up_count[0][0]>0){
            $vote_like=TRUE;
            
        } else {
        $vote_like=FALSE;    
        }
          if($vote_up_count[0][1]>0){
            $vote_dislike=TRUE;
            
        } else {
        $vote_dislike=FALSE;    
        }
        include 'ratings/vote_count_g4comments.php';
        
          if ( $vote_like==TRUE && $vote_dislike==FALSE) {
           
          
             $like_r='<a  type="liked" class="btn status_liker_'.$reply_id.' liked_r" attr="'.$reply_id.'">Liked</a>('.$num_likes_r[0].')';
             $unlike_r='<a  type="unlike" class="btn status_unliker_'.$reply_id.' unlike_r" attr="'.$reply_id.'">Dislike</a>('.$num_unlikes_r[0].')';   
          }
 elseif ($vote_dislike==TRUE && $vote_like==FALSE) {
              
             $like_r='<a  type="like" class="btn status_liker_'.$reply_id.' like_r" attr="'.$reply_id.'">Like</a>('.$num_likes_r[0].')';
             $unlike_r='<a  type="unliked" class="btn disliked_r status_unliker_'.$reply_id.'" attr="'.$reply_id.'">Disliked</a>('.$num_unlikes_r[0].')';
          }  else {
             $like_r='<a  type="like" class="btn status_liker_'.$reply_id.' like_r" attr="'.$reply_id.'">Like</a>('.$num_likes_r[0].')';
             $unlike_r='<a  type="unlike" class="btn status_unliker_'.$reply_id.' unlike_r" attr="'.$reply_id.'">Dislike</a>('.$num_unlikes_r[0].')';
             
          }          
                    $reply_img="<img src='{$r_pic}' alt='{$reply_auth}' title='{$reply_auth}' width='15' height='15'>";
      #build replies
                  
          echo "<div id='reply_body'>"
                . "<small>Posted by:{$reply_img}  {$reply_auth}-- {$reply_date}</small><br>"
                . "<legend>{$data12}<br><span class='spinner_g_r{$reply_id}'></span>{$like_r} | {$unlike_r} </legend></div>";
                
                }
          }
echo '<br>'
                  . '<textarea id="reply_textarea_'.$postid.'"  class="group_reply1 input-custom2" placeholder="comment\'s"></textarea>'
                            . '<br><span class="group_reply"></span><button  action="post_reply" id="'.$postid.'" attr="'.$postid.'" type="b" class="btn btn-warning pull-right btn-sm reply_btn reply">Reply</button><br></div></div>';
                
                }
}

    
echo '</div></td>';


?>
</div> 
            <div class="col-sm-2" style="float: right;">
    <?php include 'notification/friend_suggestion.php';?> 
</div>  
</div>
</div>

Edited by shan2batman

But, the variable $row_d is only pulling the first row from the DB.

 

That's not possible. Unless the script crashes or the loop is aborted, $row_d will contain each row one after another.

 

Put a var_dump($row_d) at the beginning of the loop body (line 68) and tell us the result. Does this show each row?

  • Solution

setting php's error_reporting to E_ALL and display_errors to ON (which should already both be set this way in the php.ini on your development system), should help with finding the cause of the problem.

 

does the 'view source' of the page show all the repeated sections of content? maybe there's a broken html comment or tag that's preventing the output from being rendered by the browser.

 

also, does the content, that's after the end of the loop, get displayed?

Edited by mac_gyver
This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.