mysql_fetch_array

时间:2012-05-27 15:41:20

标签: php mysql

我有一个数据库,其中包含指向其中每个剧集的链接的行。我试图使用下面的代码获取一种类型的节目的所有链接,我设法成功地做到这一点。我似乎无法弄清楚的是我如何只显示其中一行显示而不是将它们全部显示在一行文本中,以便我可以使用它们来构建我的页面。

$query = "SELECT direct_link FROM episode_link WHERE anime_id = '$animeid'";
$result = mysql_query($query) or die(mysql_error());    
while($row = mysql_fetch_array($result)) 
{
    $dlink = $row['direct_link'];
    echo $dlink;
}

目前正在显示这些内容。

link1link2link3link4link5link6

我希望能够一次显示一个或者为它们分配变量,这样我就可以将它们放在我网站上的href标签中。我以为我可以通过使用$ row [1]来做到这一点,但这并没有显示任何内容。

很抱歉,如果我让它变得难以理解,那是php的新手,所以我还在学习。

7 个答案:

答案 0 :(得分:2)

我建议你查看一些基础教程网站abit more

$dlink = array();
while($row = mysql_fetch_array($result)){
        $dlink[] = $row['direct_link'];
}

然后当你想要回声时:

foreach($dlink as $link){
echo '<a href="'.$link.'">'.$link.'</a><br />'.PHP_EOL;
}

<小时/> 另外:因为你可能想要链接的标题而不是文字链接,你也应该从数据库中获取标题,如果你已经存储了它:

SELECT direct_link,title FROM episode_link...

$dlink = array();
$i=0;
while($row = mysql_fetch_array($result)){
        $dlink[$i]['title'] = $row['title'];
        $dlink[$i]['link']  = $row['direct_link'];
$i++;
}

然后回声:

foreach($dlink as $link){
echo '<a href="'.$link['link'].'">'.$link['title'].'</a><br />'.PHP_EOL;
}

答案 1 :(得分:2)

您可以使用数组[]将其添加到数组中。

$dlink = array();
while($row = mysql_fetch_array($result)) 
{
    $dlink[] = $row['direct_link'];
}

To print this

foreach($dlink as $arrays){
   echo $arrays; // This will print value on loop
}

答案 2 :(得分:1)

while($row = mysql_fetch_array($result)) 
    {
        $dlink[] = $row['direct_link'];
    }

$count = $dlink;

echo $count;
echo $dlink[1]
echo $dlink[2]

and so on.

答案 3 :(得分:1)

$dlink = array();
while($row = mysql_fetch_array($result)) 
    {
        $dlink[] = $row['direct_link'];
    }

显示echo $dlink[0];

答案 4 :(得分:1)

$dlink = array();

while ($row = mysql_fetch_assoc($result))
    $dlink[] = $row['direct_link'];

答案 5 :(得分:1)

您可以使用类似的内容将结果返回到可用的数组中。

// Returns the rows as an array of rows 
// Providing a key_column gives you access to specific rows (e.g. if (isset($result_array[$user_id])) ...) 
function db_result_array($result, $key_column = null) { 
   for ($array = array(); $row = mysql_fetch_assoc($result); isset($row[$key_column]) ?     $array[$row[$key_column]] = $row : $array[] = $row); 
   return $array; 
} 

使用:

$results = db_result_array(mysql_fetch_array($result),null)

或者,您可以遍历mysql_fetch_array($ result)并将对象添加到数组中,这实质上就是上面的函数。

$stored = array();
while($row = mysql_fetch_array($result)) 
{
    array_push($stored,$row['direct_link']);
}

print_r($stored); //Now $stored is an array of your direct_link values.

答案 6 :(得分:1)

我不太清楚你的问题是什么,但这里有一些能给你灵感的东西:

$links = array();
while($row = mysql_fetch_array($result)) {
  $links[] = $row;
}

然后您可以通过执行以下操作来访问每个:

$links[1]['direct_link'];  // Or $links[2] ... 3 ... 4 depending on result count.

或者你可以这样做:

foreach ($links as $link) {
  echo '<a href="'.$link['direct_link'].'">Link</a>';
}

希望得到这个帮助。