While循环中的While循环逻辑上不在PHP中工作

While循环中的While循环逻辑上不在PHP中工作,php,while-loop,Php,While Loop,我在PHP中的另一个while循环中有这个while循环: $selecty = mysql_query("SELECT * FROM followers WHERE userid='".$_SESSION['id']."'"); $rowsy = mysql_num_rows($selecty); echo '<td>'. $table["username"]. '</td>'; echo '<td>'; while ($tables = mysql_

我在PHP中的另一个while循环中有这个while循环:

$selecty = mysql_query("SELECT * FROM followers WHERE userid='".$_SESSION['id']."'");

$rowsy = mysql_num_rows($selecty);

echo '<td>'. $table["username"]. '</td>';
echo '<td>';

while ($tables = mysql_fetch_assoc($selecty)) {
    if($tables['followerid']!=$table['id']) {
        echo '<a href="#" data-userid="'.$table['id'].'" class="follow">'.'</a>'; 
    } else {
        echo '<a href="#" data-userid="'.$table['id'].'" class="following">'.'</a>';
    }
}
echo '</td>';
echo "<tr>";
$selecty=mysql\u查询(“从followers中选择*,其中userid=”。$\u会话['id'].“”);
$rowsy=mysql\u num\u行($selecty);
回显“”$表[“用户名”]。';
回声';
而($tables=mysql\u fetch\u assoc($selecty)){
如果($tables['followerid']!=$table['id']){
回声';
}否则{
回声';
}
}
回声';
回声“;
这更多的是一个逻辑问题,以及嵌套while循环是否是正确的方法。我想说的是,如果“用户关注者表”中的“followerid”与“用户表”(来自上一个循环)中的“id”不同,则回显follow按钮,否则回显以下按钮

这是一个工作文件,虽然我在followers表中有数据,但如果我没有显示任何内容(因为没有行),我如何在PHP中实现这一点?因此,如果“followers table”中没有行,则回显follow按钮?

在“followers”循环的开始处放置一个布尔值(FALSE),这样,如果它被交叉,则为TRUE。如果你跳出了循环,但仍然是错误的,那么还是添加按钮

$trip = FALSE;

while ($tables = mysql_fetch_assoc($selecty)) {
  if($tables['followerid']!=$table['id']) {
    echo '<a href="#" data-userid="'.$table['id'].'" class="follow">'.'</a>'; 
  } else {
    $trip = TRUE;
    echo '<a href="#" data-userid="'.$table['id'].'" class="following">'.'</a>';
  }
}

if( !$trip ) echo '<a href="#" data-userid="'.$_SESSION['id'].'" class="follow">'.'</a
$trip=FALSE;
而($tables=mysql\u fetch\u assoc($selecty)){
如果($tables['followerid']!=$table['id']){
回声';
}否则{
$trip=TRUE;
回声';
}
}

如果(!$trip)回显“”。您可以尝试这样做

$selecty = mysql_query("SELECT * FROM followers WHERE userid='".$_SESSION['id']."'");

$rowsy = mysql_num_rows($selecty);

echo '<td>'. $table["username"]. '</td>';
echo '<td>';

while ($tables = mysql_fetch_assoc($selecty)) {
    if($tables['followerid']!=$table['id'] and $tables['followerid'] != '') {
        echo '<a href="#" data-userid="'.$table['id'].'" class="follow"></a>'; 
    } else if($tables['followerid'] =$table['id'] and $tables['followerid'] !='') {
        echo '<a href="#" data-userid="'.$table['id'].'" class="following"></a>';
    } else {
        echo what you like here when $tables['followerid'] = ''
    }
}

echo '</td>';
echo "<tr>";
$selecty=mysql\u查询(“从followers中选择*,其中userid=”。$\u会话['id'].“”);
$rowsy=mysql\u num\u行($selecty);
回显“”$表[“用户名”]。';
回声';
而($tables=mysql\u fetch\u assoc($selecty)){
如果($tables['followerid']!=$table['id']和$tables['followerid']!=''){
回声';
}else if($tables['followerid']=$table['id']和$tables['followerid']!=''){
回声';
}否则{
当$tables['followerid']=
}
}
回声';
回声“;
编辑

class=“follow”>”
^------------你不必在这里提出观点和单引号
$selecty=mysql\u查询(“从followers中选择*,其中userid=”。$\u SESSION['id'].“”);
$rowsy=mysql\u num\u行($selecty);
回声';
回显“”$表[“用户名”]。';
如果($tables['followerid']!=''){
而($tables=mysql\u fetch\u assoc($selecty)){
回声';
如果($tables['followerid']!=$table['id']和$tables['followerid']!=''){
回声';
}else if($tables['followerid']=$table['id']和$tables['followerid']!=''){
回声';
}否则{
呼应“你喜欢这里什么”;
}
}
}
否则{
echo“在这里执行代码”;
}
回声“;

if($tables['followerid']!=$table['id'])
语句之前,回显这两个值并查看得到的结果。我只得到用户名-没有显示按钮两个额外的大括号是什么?对不起,我想我在上一个循环中错误地包含了它们。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果选择PDO,。按钮?你的意思是什么?您有链接
您可以在
中执行它们,否则
抱歉-它仍然没有显示链接-它显示用户名,但没有显示以下内容此变量
$table
?$table来自上一个while循环从用户的mysql获取“id”替换此链接,并查看是否显示链接
在第一个循环中替换它link和第二个link这种方式很有效……但是如果一个用户没有跟踪某人,它会重复两次-so class=“follow”或者如果一个用户跟踪所有用户,它会显示follow类和following类将$trip添加到if{}子句。添加第二种类型的$trip-或计数器。这与嵌套while循环有关吗?为什么它不工作?
      class="follow">'.'</a>'
                      ^------------you dont have to make point and single quotes here

   $selecty = mysql_query("SELECT * FROM followers WHERE    userid='".$_SESSION['id']."'");

 $rowsy = mysql_num_rows($selecty);
 echo '<table><tr>';
  echo '<td>'. $table["username"]. '</td></tr>';

 if ($tables['followerid'] !== ''){
 while ($tables = mysql_fetch_assoc($selecty)) {
 echo '<tr><td>';
if($tables['followerid']!=$table['id'] and $tables['followerid'] != '') {
    echo '<a href="#" data-userid="'.$table['id'].'" class="follow"></a></td></tr>'; 
} else if($tables['followerid'] =$table['id'] and $tables['followerid'] !='') {
    echo '<a href="#" data-userid="'.$table['id'].'" class="following"></a></td></tr>';
} else {
    echo "what you like here  </td></tr>";
}
}
}
else {

 echo "do your code here " ; 
}

echo "</table>";