2014-12-02 95 views
0

我正在嘗試製作一個類似於主頁面的YouTube。有了下面的代碼,我想製作推薦給我的用戶的視頻。推薦用戶視頻如youtube

以下代碼僅顯示用戶的視頻。

<?php $query = "SELECT 
       user.uid, 
       user.user_name, 
       user.user_avatar, 
       user_posts.uid_dk, 
       user_posts.post_id, 
       user_posts.post_name, 
       user_posts.post_info, 
       user_posts.post_time, 
       user_posts.post_ext, 
       user_posts.post_num, 
       user_posts.post_views 
       FROM user 
       JOIN user_posts 
       ON user_posts.uid_dk = user.uid 
       WHERE user_name='$user_name' LIMIT 5"; 
       $run_query = mysql_query($query); 
       while($data=mysql_fetch_assoc($run_query)){ 
        $post_name=$data['post_name']; 
        $post_time = $data['post_time']; 
        $post_views = $data['post_views']; 
        $post_numid = $data['post_num']; 
        $post_id = $data['post_id']; 
        $user_name = $data['user_name']; 
        $user_avatar = $data['user_avatar']; 
       ?> 

<div class="onerilent"><img src="<?php echo $user_avatar;?>"><?php echo $user_name ;?> Recommended for you</div> 
<div class="onmnwrp"> 
    <div class="onmn"> 
    <div class="onmn_img"><img src="<?php echo $base_url.'user_uploads/'.$post_num;?>.png"></div> 
    <div class="onmg_tit"><?php echo $post_name;?></div> 
    <div class="onm_snm">gönderen: <?php echo $user_name;?></div> 
    <div class="onm_tim"><?php echo $post_views;?> views</div> 
    </div> 
</div> 
<?php } ?> 

我想說明本節只有一次。

<div class="onerilent"><img src="<?php echo $user_avatar;?>"><?php echo $user_name ;?> Recommended for you</div> 

任何人都可以在這方面幫助我嗎?

+0

請注意'$ user_name'從哪裏來 - 這可能是一個SQL注入漏洞。 – halfer 2014-12-02 19:35:19

+0

@halfer怎麼能固定呢? – innovation 2014-12-02 19:55:31

+0

看看[在這裏的最佳答案](https://stackoverflow.com/search?q=php+sql+injection)。 – halfer 2014-12-02 20:32:22

回答

1

最簡單的方法是用一個計數器,就像這樣:

<?php 
$query = "SELECT 
     user.uid, 
     user.user_name, 
     user.user_avatar, 
     user_posts.uid_dk, 
     user_posts.post_id, 
     user_posts.post_name, 
     user_posts.post_info, 
     user_posts.post_time, 
     user_posts.post_ext, 
     user_posts.post_num, 
     user_posts.post_views 
    FROM user 
    JOIN user_posts 
    ON user_posts.uid_dk = user.uid 
    WHERE user_name='$user_name' LIMIT 5"; 

    $run_query = mysql_query($query); 

    $counter = 1; 


    while($data=mysql_fetch_assoc($run_query)){ 
     $post_name=$data['post_name']; 
     $post_time = $data['post_time']; 
     $post_views = $data['post_views']; 
     $post_numid = $data['post_num']; 
     $post_id = $data['post_id']; 
     $user_name = $data['user_name']; 
     $user_avatar = $data['user_avatar']; 


     if($counter == 1){ 
      $counter++; 
      echo '<div class="onerilent"><img src="'.$user_avatar.'">'.$user_name.' Recommended for you</div>'; 
     } 
     ?>  

     <div class="onmnwrp"> 
      <div class="onmn"> 
       <div class="onmn_img"><img src="<?php echo $base_url.'user_uploads/'.$post_num;?>.png"></div> 
       <div class="onmg_tit"><?php echo $post_name;?></div> 
       <div class="onm_snm">gönderen: <?php echo $user_name;?></div> 
       <div class="onm_tim"><?php echo $post_views;?> views</div> 
      </div> 
     </div> 
     <?php 
    } 
    ?> 

注意$ counter變量設置爲1,循環之前和循環內部有檢查,如果它設置的條件值爲1,如果是,那麼它回顯你的HTML並增加$計數器,使它不再設置爲1

+0

這是非常好的和解釋性的答案。謝謝。 – innovation 2014-12-02 19:04:45

+0

謝謝...... :) – Jonathan 2014-12-02 19:06:29