0

私はPHPの基本的な知識があり、以下のコードが実際に何をしているのかを実際に理解していますが、少し複雑なことをする必要があるので、助けていただければ幸いです.

私はセールス Web サイトの管理者です。プログラマーと問題が発生し、彼は上司に解雇されました。そのため、新しいプログラマーを探している間、これに対する解決策を考え出す必要があります。

このコードは次のことを行います: $buyers が 0 の場合、「Be the first to buy it!」というメッセージが表示されます。1 の場合は、「1 人の購入者」と表示されます。2 に等しい場合 (など)、「2 人の購入者」と表示されます。

<p class="Lato"><?php echo $buyers==0 ? "Be the first to buy it!" : $buyers ; ?><?php echo intval($buyers)>0 ? intval($buyers)>1 ? " buyers" : " buyer" :"" ?></p>

ただし、これはクレジットカード会社の承認済みの購入に限られるため、30 人が購入したのに実際に承認されたのが 2 人だけの場合は、「2 人の購入者」と表示されます。

そのため、「2 人の購入者 + 28 の保留中」と表示して、製品が実際に販売されていることを人々が確認できるようにする必要があります。

支払いを管理するデータベースには、「購入者」と「保留中」のテーブルがあるので、簡単に実装できます。PHPは私の分野ではありません。私は実際にはプログラマーであるため、あちこちでいくつかのことを理解していますが、別の言語です。

それでは、お時間をいただきありがとうございました。

4

3 に答える 3

1

バイヤーからのクエリをリサイクルして保留中を判断できるはずです。

コードは次のようになります (guesS)

$sql = mysql_query("SELECT COUNT(*) FROM buyers WHERE product_id={$someid}");
$buyers = mysql_fetch_object($sql);

これは何を使用するかについての基本的な推測であることを覚えておいてください。ただし、このコードを見つけて、別の変数名 ($sql2 など) で変更し、保留中の数を $buyers ではなく $pending に抽出できるはずです。

例:

$sql2 = mysql_query("SELECT COUNT(*) FROM pending WHERE product_id={$someid}");
$pending = mysql_fetch_object($sql);

次に、上に投稿したコードを再利用できます。

<p class="Lato"><?php echo $peding==0 ? "No Pending" : $pending . " Pending"; ?>
于 2011-04-18T16:04:08.787 に答える
1

編集:変数があるという追加情報が追加された後$pending、コードは次のようになります(これはテストされていないことに注意してください):

<p class="Lato">
<?php
   $buyersOutput = intval($buyers)>0 ? intval($buyers)>1 ? " buyers" : " buyer" :"" ;

   $pendingOutput = intval($pending)>0 ? $pending . " pending" : "";

   if ($buyers == 0 && $pending == 0) {
     echo "Be the first to buy it!";
   } else if (intval($buyers) > 0 && intval($pending) > 0) {
     echo $buyersOutput ." + " . $pendingOutput;
   } else { //if just one contains text
     echo $buyersOutput . $pendingOutput;
   }
?>
</p>
于 2011-04-18T16:00:31.780 に答える
1

フリーランサーを雇うか、自分で学んでください。基本的に、基本的な SQL ルックアップとエコーを要求しているだけだからです。

それにもかかわらず、あなたが提供した情報では、私たちはあなたを助けることができません. 「SELECT COUNT(*) FROM pending」のように単純であればよかったのですが、おそらくそうではありません。

于 2011-04-18T15:23:06.737 に答える