IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   головоломка %) (http://www.imho.ws/showthread.php?t=25340)

dob 25.03.2003 18:49

головоломка %)
 
Вот значит возможно кто-нибудь из вас встречался с такой проблемой? ну сейчас посмотрим , если да - то это супер тогда мне может поможете , если нет , то надо что-то придумать...
Излагаю желаемое и требуемое :
у меня есть база данных (mysql) в ней таблица products
в это таблице предположим 5 рядов ряды :
1) называние продукта(name_p)
2) цена(price)
3) масса (mass)
4) вид продукта(vid)
5) покупаемость(reit)
так вот что мне надо отседого получить:
мне надо чтобы продукты отсортировались в таком виде:
все продукты одного вида | общая цена | общая масса
и ещё чтобы они отсортировались по убыванию от покупаемость всмысле от самой высокой до самой низкой
ПРЕДУПРЕЖДАЮ сразу продукт - не один допустим вид продукта - столярные предметы => надо чтобы все проукты такого вида влились в единую штуку и выдалось общее значение ..
Причём не известны все виды продуктов!
Вот как я пытался сделать :
PHP код:

$fgh=mysql_query("SELECT * FROM reiting WHERE vid!=0");
while(
$a=mysql_fetch_row($fgh)){
if(!empty(
$a[klan])){
$n1=mysql_query("SELECT * FROM reiting where vid=$a[vid]");
$numbe=mysql_num_rows($n1);
while(
$b=mysql_fetch_row($n1)){
$price+=$a[price];
$mass+=$a[mass];
$reit=$a[reit]/$number

а затем это всё должно было вывестись по видам продуктов , но не вывелось 8( :idontnow: помогите 8(

Stasik 25.03.2003 22:20

навскидку скажу что "$a[vid]" работать не будет.. тут те надо $a[3] если у тя столбец четвёртый

penguin 25.03.2003 23:16

Вот, смотри. Здесь

PHP код:

while($a=mysql_fetch_row($fgh)){ 

Ты используешь ф-цию mysql_fetch_row для получения массива. Но эта ф-ция возвращает нумерованный массив. А ты здесь, например
PHP код:

$price+=$a[price]; 

обращаешься к ассоциативному массиву (не по номерам, а по именам столбцов)

Если хочешь ассоциативный массив, используй ф-цию mysql_fetch_assoc

Также я бы посоветовал, если пишешь элемент ассоцативного массива, то желательно, хотя и не обязательно, содержимое квадратных скобок заключать в одинарную кавычку, дабы исключить возможность ошибок
$price+=$a['price'];

penguin 25.03.2003 23:23

И ещё, если это Copy & Paste с версии, которая должна работать, то просто проверь код. У тебя там опечатки
Например здесь
$numbe=mysql_num_rows($n1);

Далее ты используешь переменную $number. Она у тебя будет пустая


Часовой пояс GMT +4, время: 02:44.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.