PHPでの質問です。


データファイルを取り出して
それを<td></td>で囲んでテーブルにするコードを作成しました。

for ($i = 0 ; $i <= 100 ; $i++)
{
for($count = 0; $count< $data; $count++)
{
echo "<td>$data[$count]</td>";
}
}
このコードの前にデータを取り出して、そのデータを分割して
上に書いたコードで1つのデータをそれぞれ<td></td>にいれるようにしているのですが
一番最初に作成する<td></td>にだけリンクを張るようにしたいのですが
どのようにすれば最初の要素にだけリンクを張ることができるでしょうか?
もしくは最初の要素に<td>あいうえお</td>とあった場合
「あいうえお」にだけリンクを張る方法をアドバイスいただければと思います。

回答の条件
  • 1人5回まで
  • 登録:2007/01/28 09:05:48
  • 終了:2007/01/28 10:39:33

回答(2件)

id:wizemperor No.1

wizemperor回答回数379ベストアンサー獲得回数522007/01/28 09:56:19

ポイント35pt

ご質問のコードを元にして、わかりやすいコードで回答します。

ところで、

for($count = 0; $count < $data; $count++)

for($count = 0; $count < count($data); $count++)

ではないでしょうか?

(count関数は配列のインデックス数を返します。)


$iと$countの両方が0であれば、一番最初のデータということになりますから、

下記のように、ループ用の変数で条件分岐するのが簡単でわかりやすいと思います。

for ($i = 0 ; $i <= 100 ; $i++) {

for($count = 0; $count < count($data); $count++) {

if($i == 0 && $count == 0) $td = '<a href="リンク先">'.$data[$count].'</a>'; else $td = $data[$count];

echo "<td>".$td."</td>";

}

}

id:quocard

すいません。

元の部分を削る際にcountとなってしまいました。

配列の最初の部分ってのが固定なので

その部分だけを条件分岐してやればいいだけのkとでした。

なんでこんなこと気づかなかったんだろう。

ありがとうございました。

2007/01/28 10:38:51
id:imaa No.2

imaa回答回数34ベストアンサー獲得回数02007/01/28 10:32:09

ポイント35pt

一番初めだけにリンクを張るなら、

条件文で分岐しては?

for ($i = 0 ; $i <= 100 ; $i++)

{

  for($count = 0; $count< $data; $count++)

  {

    if($count == 0 && $i == 0)

    {

      echo "$data[$count]";

    }

    echo "$data[$count]";

  }

}

などは?

id:quocard

ありがとうございます。

そうでした。

配列で扱っているので最初の部分だけを

$data[$count]が

$data[0]の時であれば判断できるわけなので

条件分岐の際に[0]ならリンク

とすればいいだけですね。

ありがとうございました。

2007/01/28 10:37:46

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません