[PHP-users 18848]Re: DBからの検索結果に行番号を追加表示させたい

Kazuhiro Abe kazuabe @ alles.or.jp
2003年 11月 7日 (金) 15:35:02 JST


大場様 アドバイスありがとうございます。

>$iの上限を決める$rowcntってのをどこで求めてるのか、
>スクリプトから分からないですが

すいません、抜けてました。

>数字が求まれば、欲しい結果のように各行の頭に
><th>〜</th>と<td>〜</td>を増やせばいいので
>$jのforループの前に追加してやれば
>html作成部分のコードは書けるでしょう?

>それと、自分なら
>$colcnt = pg_numfields($res);
>の部分はループの中で求める必要が無いので
>$res = pg_query($con, $sql);
>の次の行にでも書くかな。
>$rowcntは記述がないけど同様。

アドバイスを参考に、見直してみます。
でも、難しいです。(自信がないです。)

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

sql ="SELECT ondo,tenki,date FROM otenki ORDER by ondo DESC ;"
$res = pg_query($con, $sql);
$colcnt = pg_numfields($res);←ここに移動しました。
$rowcnt = pg_numrows($res); ←抜けていました。
print("<table border>\n");
for ($i=0;$i<$rowcnt;$i++) {
  print("<tr>\n");
  if ($i == 0) {
    for ($j=0;$j<$colcnt;$j++) {
      printf("<th>%s</th>", pg_fieldname($res,$j));
    }
    print("</tr>\n<tr>\n");
  }
  $row = pg_fetch_array($res, $i, PGSQL_NUM);
  for ($j=0;$j<$colcnt;$j++) {
    print("<td align=center>{$row[$j]}</td>");
  }
  print("</tr>\n");
}
print ("</table>\n");
pg_close($con);

otenki (温度の高い順に表示)
      ondo | tenki|date
     −−−−−−−−−−−
      22   |晴れ  |10-27
     20   |晴れ  |10-24
     19   |曇り  |11-05

otenki (温度の高い順に行番号を入れて表示)
順位|ondo | tenki|date
−−−−−−−−−−−−−−−
 1 |22   |晴れ  |10-27
 2 |20   |晴れ  |10-24
 3 |19   |曇り  |11-05
 




PHP-users メーリングリストの案内