-3

我正在尝试从表中提取变量以便在另一个语句中使用它。

变量是id板的。

<?php 
$data = mysql_query("SELECT id FROM board") 
or die(mysql_error()); 
while($info = mysql_fetch_array( $data )) 
{ 
Print " ".$info['id']." ";
}
?>

这会拉出并列出表中的所有 id。

我希望能够将".$info['id]."数据用于变量,例如:

$boardid = $info['id'];

然后我可以在另一个语句中使用它:

<?php 
$result = mysql_query("SELECT COUNT(is_following_board_id) FROM follow 
WHERE is_following_board_id='$boardid'");
$c = mysql_result($result, 0);
?>

请注意上述$boardid声明中的内容。

但是我在放置它以获得$boardid我需要的变量时遇到了麻烦。

我试过这个,但它不起作用。

任何人都可以帮忙吗?

<?php 
$data = mysql_query("SELECT id FROM board") 
or die(mysql_error()); 
while($info = mysql_fetch_array( $data )) 
{ 
Print " ".$info['id']." ";
}
$boardid = $info['id'];
?>

我还在学习。谢谢。

4

3 回答 3

2
$boardid = $info['id'] 

需要在while循环内才能工作:)

于 2013-06-01T12:43:19.087 回答
1

请注意,您使用的是不推荐使用的方法。

<?php 
    $data = mysql_query("SELECT id FROM board") or die(mysql_error()); 
    while($info = mysql_fetch_assoc( $data )) 
    { 
        Print " ".$info['id']." ";
        myOtherQuery($info['id']);
    }

    function myOtherQuery($id) {
        $result = mysql_query("SELECT COUNT(is_following_board_id) " +  
            "FROM follow WHERE is_following_board_id='$id'");
        $c = mysql_result($result, 0);
    }
?>

myOtherQuery为每个提取的行调用。这不是很优化,你可能想看看 MySQL 的join

SELECT board.id 
    FROM board 
INNER JOIN 
    SELECT follow.is_following_board_id, COUNT(is_following_board_id)
        FROM follow 
ON follow.is_following_board_id=board.id 
GROUP BY board.id;
于 2013-06-01T13:35:02.360 回答
0

假设您的board表中只有一行,那么您可以更新您的 while 语句

while($info = mysql_fetch_array( $data )) 
{ 
$boardid = $info['id']; 
}
于 2013-06-01T12:45:26.500 回答