所有读取行的按钮功能

时间:2018-07-22 08:11:14

标签: php html mysql

我正在为我的大学做项目。我创建一个页面,用户可以在其中发送朋友请求。在这里,我从另一个表中获取数据,并为每行数据放置按钮。

我的问题是,当一个按钮单击另一行按钮时,也更改为好友请求。我需要一个解决方案。

如何使一个添加好友请求按钮等于一个行ID,以及如何避免单击特定行时影响另一个按钮。

我的代码包含在下面。我希望你们能帮助我。预先感谢。

<?php
session_start();
$_SESSION['myid'];

$mysqli=new MySQLi('127.0.0.1','root','','learning_malaysia');
$sql = "SELECT * FROM tutor_register INNER JOIN tutorskill ON tutor_register.register_ID = tutorskill.register_ID ORDER BY 
tutor_register.register_ID='".$_SESSION['myid']."'desc";
$result= mysqli_query($mysqli,$sql);

if(mysqli_num_rows($result)>0)
{

    while($row = mysqli_fetch_array($result))
{      


         $register_ID=$row["register_ID"];
            $username = $row['username'];
            $profile = $row['profile'];
            $email = $row['email'];
            $address=$row['address'];
            $gender=$row['gender'];
             $main_subject=$row["main_subject"];
             $subject_add=$row["subject_add"];
            $rate_main=$row["rate_main"];
            $rate_add=$row["rate_add"];
            $qualification=$row["qualification"];
            ?>
            <table><form method="post">
            <tr class="border_bottom">
            <td height="230"><img src='<?php echo $profile;?>'width="200" height="200"/>&nbsp;</td><td><td></td></td>
 <?php 
         if($register_ID == $_SESSION['myid']){
                ?>
                <td><label>Your Profile</label></td>
                <?php
            } else {
                ?> 
                 <form method="post">
                 <td><button class='friendBtn unfriend'  name="" data-type="unfriend">Unfriend</button>
                 <input type="hidden" name="id"  value="<?php echo $row['register_ID'];?>" />  
                 <input type="submit" name="addfriend" data-type='addfriend' id="addfriend" value="<?php 
                     if($_SESSION['status'] == 'yes'){ 
                     echo 'Request Sent';
                     }
                     else { 
                     echo 'Addfriend';}
                     ?>" data-uid=<?php echo $row['register_ID'];?>/></td> </form>     
<?php
            }
}
?>
 </tr>
</div>
</table>
</form>
<?php
if(isset($_POST['id']) ) {
$user_id = $_SESSION['myid'];
$friend_id = $_POST['id'];
$sql="INSERT INTO friends(user_id,status,friend_id)" ."VALUES('$user_id','yes','$friend_id') ";

            if($mysqli->query($sql)=== true) {
                          $_SESSION['status']="yes";
                          $_SESSION['id']=$row['id'];
            } else {}
                              }
                }


?> 
</body>
</html>

1 个答案:

答案 0 :(得分:0)

您需要在代码中替换以下块:

<input type="submit" name="addfriend" data-type='addfriend' id="addfriend" value="<?php 
         if($_SESSION['status'] == 'yes'){ 
         echo 'Request Sent';
         }
         else { 
         echo 'Addfriend';}
         ?>" data-uid=<?php echo $row['register_ID'];?>/>

使用下面提到的那个。这样可以解决您的问题。

<input type="submit" name="addfriend" data-type='addfriend' id="addfriend" value="<?php 
         if($_SESSION['status'] == 'yes' && $row['register_ID']==$_SESSION['id']){ 
         echo 'Request Sent';
         }
         else { 
         echo 'Addfriend';}
         ?>" data-uid=<?php echo $row['register_ID'];?>/>