1

各エピソードへのリンクを含む行を含むデータベースがあります。私は以下のコードを使用して、1つのタイプのショーのすべてのリンクを取得しようとしていますが、それをうまく行うことができます。私が理解できないのは、ページの作成に使用できるように、すべての行を1行のテキストで表示するのではなく、1つの行だけを表示する方法です。

$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

それらを一度に1つずつ表示したり、変数を割り当てたりして、サイトのhrefタグに配置できるようにしたいと思います。$ row [1]を使用してこれを実行できると思いましたが、何も表示されません。

phpが初めてなので、理解しづらくして申し訳ありませんが、まだ学習中です。

4

7 に答える 7

2

基本的なチュートリアルサイトをもう少し調べてみることをお勧めします

$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;
}
于 2012-05-27T15:48:12.397 に答える
1
while($row = mysql_fetch_array($result)) 
    {
        $dlink[] = $row['direct_link'];
    }

$count = $dlink;

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

and so on.
于 2012-05-27T15:45:47.113 に答える
1
$dlink = array();
while($row = mysql_fetch_array($result)) 
    {
        $dlink[] = $row['direct_link'];
    }

それを示すためにecho $dlink[0];

于 2012-05-27T15:46:00.780 に答える
1
$dlink = array();

while ($row = mysql_fetch_assoc($result))
    $dlink[] = $row['direct_link'];
于 2012-05-27T15:46:05.403 に答える
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.
于 2012-05-27T15:48:43.380 に答える
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>';
}

この助けを願っています。

于 2012-05-27T15:52:03.350 に答える
0

array[]を使用して配列に追加できます。

$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
}
于 2019-06-11T05:19:17.347 に答える