0

これは、一部のレコードでは完全に機能し、他のレコードでは完全に機能しないため、少し当惑します。特定の電子メールですべてのレコードを取得しようとしていますが、約半分のケースで 1 つのレコードしか取得できません。私は 2 つのクエリ セットを持っています。常に機能する最初のものは次のとおりです。

$tiera = mysql_query("SELECT SUM(datamb) AS tiera FROM maindata2 WHERE dataplan = '2'  and    email='".mysql_real_escape_string($_POST['email'])."'");
$tiera1 = mysql_fetch_assoc($tiera); 
$tiera2 = $tiera1['tiera'];

$tieradata = mysql_query("SELECT SUM(dataplan) as datatotal FROM maindata2 WHERE dataplan =   '2' and email='".mysql_real_escape_string($_POST['email'])."'");
$tieradata1 = mysql_fetch_assoc($tieradata); 
$tieradata2 = $tieradata1['datatotal'];

echo "<table id='display1'>
            <tr>
                <th>Tier:</th>
                <th>Total Data in Tier:</th>
                <th>Data Usage This Period:</th>
                <th>Remaining:</th>

            </tr>";

echo "<tr>";
echo "<td>A</td> ";
echo "<td>". $tieradata2 . " MB</td> ";
echo "<td>". $tiera2. " MB</td> ";
echo "<td>".($tieradata1['datatotal'] - ROUND ($tiera1['tiera'],2)) . "MB</td></font> ";
echo "</table>";

次のようなループで必要になるため、2 番目のクエリにはこれを使用できません。

$sql =  "SELECT phonenumber,date,email, dataplan AS currentplan, SUM(datamb) AS value_sum FROM maindata2 WHERE email='".mysql_real_escape_string($_POST['email'])."' GROUP BY dataplan, phonenumber ";


$result = mysql_query($sql);


if (!$result) {
    echo "Could not successfully run query ($sql) from DB: " . mysql_error();
    exit;
}

if (mysql_num_rows($result) == 0) {
    echo "No Data Found For This Email";
    exit;
}

$row = mysql_fetch_assoc($result);



$query = mysql_query($sql) or die(mysql_error());


$header_printed = false;

while($row = mysql_fetch_array($query)) {
if ($row['phonenumber']) {
    if ($header_printed === false) {
        echo "   
            <table id='display'>
            <tr>
                <th>Phone Number:</th>
                <th>Data Plan:</th>
                <th>Data Usage This Period:</th>
                <th>Remaining:</th>
        <th>Date Reporting:</th>
            </tr>";
        $header_printed = true;
    }




while ($row = mysql_fetch_assoc($result)){
 echo "<tr>";
 echo "<td>".$row['phonenumber'] . "</td> ";
 echo "<td>".$row['currentplan'] . "MB</td> ";
 echo "<td>".ROUND ($row["value_sum"],2) . "MB</td> ";
 echo "<td><font color=$color>".($row['currentplan'] - ROUND ($row["value_sum"],2)) .    "MB</td></font> ";
  echo "<td>".$row['date'] . "</td></tr>";

 } 
}
echo "</table>";

問題は、最初のクエリにある 2 番目のクエリに何が欠けているかということです。

4

0 に答える 0