从底部到顶部获取PHP变量

时间:2013-10-15 19:13:35

标签: php jquery mysql

我不知道该怎么做。从我在这里找到的答案,我认为可能使用jquery / ajax。我需要得到我的变量$ i的值并在顶部回显它,但它必须通过我的逻辑来获得值。这是我的代码:

echo "<div id='records'><h1 align='center'>Today's Transfers (" . $i . ") </h1>
<table cellspacing='0' cellpadding='0'>
<tr>
<th>Customer Name</th><th>Phone Number</th><th>Disposition</th><th>User</th><th>Date Called</th>
</tr>
";

$i=0;
$sql = "SELECT * FROM vicidial_closer_log WHERE DATE(call_date) = DATE(NOW()) ORDER BY call_date DESC";
$result = mysqli_query($link, $sql, MYSQLI_STORE_RESULT);
   while($row = $result->fetch_assoc()){
        $i++;
        $phone_number = $row['phone_number'];
        $lead_id = $row['lead_id'];
        $disposition = $row['status'];
        ...then echo those variable in my columns and rows...
    }
echo "</table> </div>";
echo $i;

也许有另一种方法可以编写我的代码,所以在我输出所有内容之前逻辑出现了吗?因为我使用的是mysql查询,所以不知道怎么做。

4 个答案:

答案 0 :(得分:0)

如果$ i是返回结果的总数,您可以这样做:

echo mysqli_num_rows($result)

...并在页面顶部执行查询。

理想情况下,这将完全在模型中并由控制器在视图中设置。这样你就可以将表现与功能逻辑分开了。

我建议您阅读有关MVC的内容:

答案 1 :(得分:0)

当然,您可以将echo移到逻辑之上。但最好的办法是将逻辑与表示分开。你可以创建一个类来处理这个或者只是另一个文件,这取决于你的需要。

$i=0;
$sql = "SELECT * FROM vicidial_closer_log WHERE DATE(call_date) = DATE(NOW()) ORDER BY call_date DESC";
$result = mysqli_query($link, $sql, MYSQLI_STORE_RESULT);
   while($row = $result->fetch_assoc()){
        $i++;
        $phone_number = $row['phone_number'];
        $lead_id = $row['lead_id'];
        $disposition = $row['status'];


echo "<div id='records'><h1 align='center'>Today's Transfers (" . $i . ") </h1>
<table cellspacing='0' cellpadding='0'>
<tr>
<th>Customer Name</th><th>Phone Number</th><th>Disposition</th><th>User</th><th>Date Called</th>
</tr>";

答案 2 :(得分:0)

您应该从结果集中获取行数并显示i所在的行数,因为它基本上是相同的。

$num_rows = mysql_num_rows($result);

将代码移到echo语句上方:

$i=0;
$sql = "SELECT * FROM vicidial_closer_log WHERE DATE(call_date) = DATE(NOW()) ORDER BY call_date DESC";

$result = mysqli_query($link, $sql, MYSQLI_STORE_RESULT);

并添加

$num_rows = mysql_num_rows($result);
echo "<div id='records'><h1 align='center'>Today's Transfers (" . $num_rows . ") </h1>


并像以前一样使用其余代码。如果您不需要其他内容,可以考虑删除i

答案 3 :(得分:0)

首先进行计算 ,然后显示数据。

可怕的示例代码:

$count = 0;
$output = '';
$res = mysqli_query("SELECT * FROM...");

while( $row = mysql_fetch($res) ) {
  $output .= "<tr><td>..." . $row['somevar'] . "</td></tr>";
  $count++;
}

echo "<h1>Yadda yadda $count</h1>";
echo "<table>";
echo $output
echo "</table>";