誕生日にもらった意外なもの

いつも初心者の質問でスミマセン。
PHP MYSQL で 会員制ページを作っています。

このような時にはどういう風にしたらいいか教えてください。

1件のレコードに 名前 出身県 性別 がある時に
下記のようにその個人のページにリンクしたいのですが
ひとつの県だけなら出来るのですが、
このように条件を色々と設定するにはどうしたらいいか
ヒントだけでもお願いいたします。

沖縄県出身者



A
B
C



D
E
F

東京出身者



G
H
I



J
K
L

このようにしていました。
<?php

require_once("dbini.php");

$con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);
$selectdb = mysql_select_db($DBNAME, $con);

$sql = "select * from mem where seibetu = 1 and area = 1 " ;
$rst = mysql_query($sql, $con);


$body1 .= "";

while($col = mysql_fetch_array($rst)) {
$body1 .= "⇒" . "<A href='" . $col["id"] . "j.html'>" . $col["name"] . "</A>";
$body1 .= "<br>\n";
}
mysql_free_result($rst);
$con = mysql_close($con);
?>

これでボディに<?= $body1 ?> を張っていました。
これを<?= $body2 ?> と繰り返したらいいのかと思い色々していましたが
どうしてもうまくいきません。

宜しくお願いいたします。

A 回答 (1件)

例えばこんな感じで階層でデータを吸い出せば


分けて表示することは簡単です。

<?PHP
//$host,$user,$pass,$dbを設定

$link=mysql_connect($host,$user,$pass);
mysql_select_db($db,$link);
$sql="SELECT * FROM `mem` ORDER BY `area` ASC,`seibetu` ASC,`id` ASC";
$res=mysql_query($sql,$link);
while($rows = mysql_fetch_array($res,MYSQL_ASSOC)){
$members[$rows['area']][$rows['seibetu']][$rows['id']]=$rows['name'];
}
foreach($members as $key1=>$val1){
$body.= "shusin={$key1}<br>";
foreach($val1 as $key2=>$val2){
$body.="seibetu={$key2}<br>";
foreach($val2 as $key3=>$val3){
$body.="<a href='{$key3}j.html'>{$val3}</a><br>";
}
}
}
print $body;
?>

この回答への補足

ありがとうございます、出来ました!!

追加でスミマセンが。。。

これを特定の出身地(area)だけで1ページ作ると
どのように変えたらいいでしょうか?
後は自分でやろうとしていたのですが出来ませんでした。。

宜しくお願いいたします。

補足日時:2006/03/23 17:34
    • good
    • 0
この回答へのお礼

お騒がせいたしました、出来ました!!

大変感謝しています。

お忙しい中、回答頂きましてありがとうございました。

また、機会がありましたら宜しくお願いいたします。

お礼日時:2006/03/23 17:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報