Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2011, 21:48   #1
promt
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 32
По умолчанию вывод из бд 20 записей в 2 колонки

Нужно вывести из бд 20 последних записей.Вот ф-я которая выводит 10 записей в 1 столбце.

PHP код:
function show_one(){
    
$count=10;
    
$sql="SELECT name,date,count,izmereniya FROM jurnal ORDER BY id , id  LIMIT $count";
    
mysql_query("SET NAMES 'utf8'");
    
$fzapisey=mysql_query($sql) or die(mysql_error());
        while(
$zapmysql_fetch_assoc($fzapisey)){
        
$name=$zap["name"];
        
$count=$zap["count"];
        
$izmereniya=$zap["izmereniya"];
        
$dt=$zap["date"];
        
$dt=date("d-m-Y");
        echo <<<LABEL
<span class="iceOutTxt link7" id="j_id526:j_id1044:0:j_id1047">$dt:</span>
<span class="iceOutTxt link8" id="j_id526:j_id1044:0:j_id1048">
$name</span>

<div style="display: inline;">
<span class="iceOutTxt link5" id="j_id526:j_id1044:0:j_id1051">
$count</span> $izmereniya<br>
</div></a></div>
LABEL;
    
    }

Вторая ф-я делает тоже самое что и первая только должна вывести остальные 10 записей.

PHP код:
function show_two(){
    
$count=10;
    
$sql="SELECT name,date,count,izmereniya FROM jurnal ORDER BY id , id  LIMIT $count";
    
mysql_query("SET NAMES 'utf8'");
    
$fzapisey=mysql_query($sql) or die(mysql_error());
        while(
$zapmysql_fetch_assoc($fzapisey)){
        
$name=$zap["name"];
        
$count=$zap["count"];
        
$izmereniya=$zap["izmereniya"];
        
$dt=$zap["date"];
        
$dt=date("d-m-Y");
        echo <<<LABEL
<span class="iceOutTxt link7" id="j_id526:j_id1054:0:j_id1057">$dt: </span>
<span class="iceOutTxt link8" id="j_id526:j_id1054:0:j_id1058">
$name</span>

<div style="display: inline;">
<span class="iceOutTxt link5" id="j_id526:j_id1054:0:j_id1061">
$count</span> $izmereniya<br>

LABEL;
    
    }

Сделано конечно не правильно(ведь зачем писать 2 ф-и если можно сделать 1).
Но тогда не получится вывод в 2 столбца. Отличия ф-й только в выводе html. Помогите пожалуйста написать условия для вывода остальных 10 записей для второй ф-и

Перувую сторону выводит 1- функция, вторую сторону выводит 2 - функция

Последний раз редактировалось promt; 19.09.2011 в 21:56.
promt вне форума Ответить с цитированием
Старый 19.09.2011, 22:42   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от promt Посмотреть сообщение
Нужно вывести из бд 20 последних записей.Вот ф-я которая выводит 10 записей в 1 столбце.
Сделано конечно не правильно(ведь зачем писать 2 ф-и если можно сделать 1).
Согласен.

Цитата:
Но тогда не получится вывод в 2 столбца.
Глупости.

Цитата:
Помогите пожалуйста написать условия для вывода остальных 10 записей для второй ф-и
LIMIT 10, $count
Andkorol вне форума Ответить с цитированием
Старый 20.09.2011, 11:02   #3
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию

+ используй вместе while цикл for($i=0;$i<count($fzapisey);$i++){ }
так проще будет управлять элементами массива.
но до этого можно перебрать результат вывода из бд к виду
$res[$i]['fieldName']
думай как баг, действуй как баг, и ты найдешь баг )
mrgrudge вне форума Ответить с цитированием
Старый 20.09.2011, 23:59   #4
promt
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 32
По умолчанию

Спасибо за помощь

Последний раз редактировалось promt; 21.09.2011 в 00:08.
promt вне форума Ответить с цитированием
Старый 25.09.2011, 13:31   #5
promt
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 32
По умолчанию

А как узнать из БД суму всех записей поля.

Код:
$sql="SELECT ccal FROM jurnal WHERE author='$_SESSION[username]'";
$row=mysql_query($sql) or die(mysql_error());
while ($rows = mysql_fetch_array($row)) {
$sum = $rows["ccal"]."<br>";
$suma=array($sum);
echo array_sum($suma);
}
Ничего не выводится. Суму можно узнать в запросе SUM(ccal) но это не вариант. Подскажите пожалуйста.
promt вне форума Ответить с цитированием
Старый 25.09.2011, 13:49   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от promt Посмотреть сообщение
Суму можно узнать в запросе SUM(ccal) но это не вариант.
Это и есть самый правильный и логичный вариант.

Если же вам таки охота поизвращаться, то можно так:
PHP код:
while ($rows mysql_fetch_assoc($row)) {
    
$values[] = $rows["ccal"];
}
echo 
array_sum($values); 
PS: работает и без приведения типа (например intval()).

Последний раз редактировалось Andkorol; 25.09.2011 в 14:04. Причина: PS
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод записей очереди ... counter Общие вопросы C/C++ 2 19.03.2012 12:43
DBGridEh вывод записей grom333 Компоненты Delphi 3 04.05.2011 21:00
Вывод звука с микрофона на колонки ZBEP Помощь студентам 3 28.01.2011 17:14
вывод связных записей из БД Tanuska___:) БД в Delphi 7 19.05.2008 17:03
Вывод звука на колонки KapeLLaN Общие вопросы C/C++ 3 18.02.2008 13:03