2013-10-15 2 views
0

Я не уверен, как это сделать. Из ответа, который я нашел здесь, я думаю, что возможно использование jquery/ajax. Мне нужно получить значение моей переменной $ i и отобразить ее вверху, но она должна пройти через мою логику, чтобы получить значение. Вот мой код:Получите переменную PHP от Bottm to Top

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-запрос.

+2

поэтому мы отделить код от выхода, вы можете запустить весь код, то иметь дело с его выходом \ mysqli_num_rows презентация –

+0

использует, чтобы получить общее количество записей и переместите свое эхо после вашего запроса – Ronnie

+0

'mysqli_num_rows ($ result)' может оценить количество строк в вашем результате. –

ответ

0

Вы должны получить количество строк из результирующего набора и отобразить те, где i есть, так как это, по сути то же самое.

$num_rows = mysql_num_rows($result); 

Переместить код выше эхо высказывания:

$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 если вам это не нужно для чего-то другого.

0

Если $ я это общее количество возвращаемых результатов, вы можете сделать:

echo mysqli_num_rows($result) 

... и ваш запрос выполнен в верхней части страницы.

В идеале это было бы все в модели и, однако, было бы установлено в виде контроллера. Таким образом вы отделяете презентацию от функциональной логики.

Я предлагаю вам есть читать о MVC:

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>"; 
0

Сделайте свои расчеты сначала, а затем отобразите свои данные.

Horribly подогнан пример код:

$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>";