0

私はプログラミングが初めてで、自分のコードについて助けが必要です。利用可能な部屋が残っているかどうかを確認するページが表示されるようにします。管理ページで onload 機能を使用しています。

これまでのところ、ここに私のコードがあります

function prompt()
{
< ?php 
include("dbconfig.php");

$sql = "SELECT COUNT(*) FROM rooms WHERE status = 'available'";
$result = @mysql_query($sql) or die("Could not execute query");

?> 
if(< ?php $result <= 14 ?>){
 alert("Rooms left: < ?php echo $result ?>");
 }

else{
 alert("Welcome Admin.");
 } 
}

window.onload=prompt;

編集:

コードは正常に機能しましたが、カウントの値ではなく「Resource id#4」が表示されます。

4

5 に答える 5

1

php と js コードを混在させることはできないと思います。php は主にサーバー側にありますが、js は提供したスニペットのクライアント側ですが、次のように純粋に php を使用する必要があります。

< ?php 
    include("dbconfig.php");
    $sql = "SELECT COUNT(*) FROM rooms WHERE status = 'available'"; 
    $result = @mysql_query($sql) or die("Could not execute query");
    if ($result <= 14) {
        echo("Rooms left: $result");
    }
    else {
        echo("Welcome Admin.")
    }
 ?>

これは、リクエスト時に最初に実行する必要があります

于 2010-10-14T05:56:43.253 に答える
0

mysql_fetch_rowを使用し、その後、条件で $row[0] と比較します

$sql = "SELECT COUNT(*) FROM `rooms` WHERE `status` = 'available'";
$res = @mysql_query($sql) or die('Could not execute query');

$row = mysql_fetch_row($res);

if(< ?php $row[0] <= 14 ?>){
于 2010-10-14T05:55:41.977 に答える
0

mysql_query結果ではなく、リソースを返します。使用してみてください:

$sql = "SELECT COUNT(*) FROM `rooms` WHERE `status` = 'available'";
$res = @mysql_query($sql) or die('Could not execute query');
$count = mysql_result($res, 0, 0);
于 2010-10-14T05:51:09.923 に答える
0

PHP タグにはスペースを入れないでください。

< ?php 
 ^

次のようにする必要があります。

<?php 

フェッチ関数もありません。変数の行数を取得する方法は次のとおりです。

<?php $count = mysql_num_rows($result);?>

$count後で条件で変数を使用できますif

于 2010-10-14T05:51:47.547 に答える
0

PHP が処理する場所と Javascript が処理する場所について混乱していると思います。

PHP はサーバー側で処理され、Javascript はクライアント側で処理されます。このように考えてみてください...

  1. ページにアクセスします。
  2. PHP が処理され、最終的な出力がブラウザーに送信されます。
  3. あなたの Javascript はブラウザによって処理されます。

あなたが今持っているように、あなたは面白い出力を得るでしょう...特にechoステートメントがないためです。ブラウザ ページのソースに表示される可能性のあるものは次のとおりです。

function prompt()
{
if(){
 alert("Rooms left: < ?php echo $result ?>");
 }
else{
 alert("Welcome Admin.");
 } 
}

window.onload=prompt;

空のif ステートメントに注意してください(また、開始タグのスペース:

if(<?php echo ($result <= 14); ?>){
 alert("Rooms left: <?php echo $result ?>");
 }

これにより、Javascript がブール値の true/false を評価するようになります。Javascript も < script > タグで囲む必要があることを忘れないでください。

MySQL の質問に答えるには... 次のようにしてみてください。

//We can alias the COUNT(*) as MyCount for easy reference
$sql = "SELECT COUNT(*) as MyCount FROM rooms WHERE status = 'available'";
$result = @mysql_query($sql) or die("Could not execute query");
$row = mysql_fetch_array($result); //$row is now an array and will now have your count in it
echo $row['MyCount']; //This will print the count from the database. You could use it in other ways as well.
于 2010-10-14T05:59:07.137 に答える