Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> вопрос по sum() sql
kapone  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 2
Пользователь №: 42759
На форуме: 8 месяцев, 7 дней
Карма:




вот код:
PHP:
скопировать код в буфер обмена

$zx = mysql_query("SELECT SUM(st) FROM zakaz WHERE id_user='$id_user'");
$zz = mysql_fetch_array($zx);

echo $zz['st'];

вот таблица:
id - Первичный Индекс int (11) AUTO_INCREMENT
id_tovar - int(11)
id_user - int(11)
kolvo - int(11)
foto - text utf8_general_ci
cena - int(11)
status - text
st - int(11)

выводит 0. делаю запрос в phpmyadmin выводит то что надо, но ругается:
Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available. говорят primary key надо поставить, но он же там стоит. в чём проблема?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3375
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 9 дней
Карма: 170




SELECT SUM(st)  as st_sum FROM zakaz WHERE ....

$zz = mysql_fetch_assoc($zx);
echo $zz['st_sum'];


или же оставить все, как есть и
echo $zz[0];


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kapone  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 2
Пользователь №: 42759
На форуме: 8 месяцев, 7 дней
Карма:




Цитата (AllesKlar @ 29.03.2016 - 02:30)
SELECT SUM(st)  as st_sum FROM zakaz WHERE ....

$zz = mysql_fetch_assoc($zx);
echo $zz['st_sum'];


или же оставить все, как есть и
echo $zz[0];

сделал и так и так. первый вариант работает, но сумма выводится не та. вот полный код:

<?php
$zx = mysql_query("SELECT SUM(st) as st_sum FROM zakaz WHERE id_user='$id_user' and status='0'");
$zz = mysql_fetch_assoc($zx);

echo $zz['st_sum'];

do{
$st = $t2['cena'] * $t2['kolvo'];
printf("
<tr><td>
<img src='%s' width='100px'></td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td><a href='del.php?del=
$t2[id]'>Удалить</a><br><a href='add.php?add=$t2[id]'>Прибавить</a><br><a href='min.php?min=$t2[id]'>Убрать</a><br>
</td>
</tr>


"
, $t2['foto'], $t2['kolvo'], $t2['cena'], $st);
}
while($t2 = mysql_fetch_array($t));
echo "<strong>ИТОГО:".$st." </strong> | <a href='form.php?order'>Оформить и отправить на адрес указанный в профиле</a>";
//echo $t2['st'];
} else{
echo "Корзина пуста!";
}
?>
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14969
Пользователь №: 4190
На форуме: 8 лет, 9 месяцев, 28 дней
Карма: 443




kapone, измени цикл do-while на while! Делая так, как у тебя сейчас, ты сам себе подкладываешь грабли.

Что касается "не та сумма", то для начала выведи готовый запрос, посмотри, все ли данные верны и запусти его в phpMyAdmin или в другой какой проге работы с БД, которая у тебя имеется.

И "не та сумма", насколько я понимаю именно в том случае, как раз из-за неправильного цикла и каши из имен переменных и разных функций чтения из БД (mysql_fetch_assoc vs mysql_fetch_array).


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1355
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 7 дней
Карма: 77




Цитата (kapone @ 29.03.2016 - 01:21)
"SELECT SUM(st)  FROM zakaz WHERE id_user='$id_user'"

ну можно же так и вывести.
$zz['SUM(st)'];
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса