2

わかりましたので、PHP ページがあり、データベースがあります。私のデータベースには、フィールドを持つテーブルがあります。フィールドの 1 つはaccounttypeと呼ばれ、 enum('n', 'm', 's')です。ユーザーがN の場合、PHP ページに表示しようとしています。ユーザーがEエキスパート ユーザーまたはSスーパー ユーザーの場合、一般ユーザー...

これを行うにはどうすればよいですか?

PHPページの先頭へ

<?php
// Query member data from the database and ready it for display
$sql = mysql_query("SELECT * FROM members WHERE id='$id' LIMIT 1");
while($row = mysql_fetch_array($sql)){
    $phone = $row["phone"];
    $country = $row["country"];
    $state = $row["state"];
    $city = $row["city"];
    $accounttype = $row["accounttype"];
    $bio = $row["bio"];
}    
?>

ページに表示しようとしている場所これがコードです。現在、空白を入れるだけです。

<span class="admin">Edward</span>
<span class="date">March 19, 2048</span>
<span class="tag"><?php echo "$accounttype"; ?></span>
<span class="comment"><a href="#">166 comments</a></span>

写真 http://i.stack.imgur.com/KXu9A.png

4

3 に答える 3

1

最初に接続を確立します。しばらくはしないでください。このような場合は

if($row = mysql_fetch_array($sql)){
    $phone = $row["phone"];
    $country = $row["country"];
    $state = $row["state"];
    $city = $row["city"];
    $accounttype = $row["accounttype"];
    $bio = $row["bio"];
}  

そしてより

$speaking_type = null;
switch($accounttype) {
    case 'n':
        $speaking_type = 'Normal User';
        break;
    case 'm':
        $speaking_type = 'Expert User';
        break;
    case 's':
        $speaking_type = 'Super User';
        break;
    default:
        $speagink_type = 'none';
        //throw new Exception('unsupported account type '.$accounttype);
}

echo $speaking_type;
于 2012-12-13T07:59:32.763 に答える
0

問題はあなたの範囲だと思います。変数はwhileループ内で定義されているため、ドキュメントではさらに不明です。次のように(whileループの前に)それらを上にインスタンス化してみてください。

$phone = null;
$country = null;
$state = null;
$city = null;
$accounttype = null;
$bio = null;

変数はwhileの外で認識され、値は印刷時に記憶されます。

于 2012-12-13T07:59:11.267 に答える
0

最初にデータベースに接続しなかったと思います。次のコードを使用して、資格情報を使用して接続します。そのため、空白が表示されます。

$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

// some code

mysql_close($con);
于 2012-12-13T07:59:29.930 に答える