Открыть Ответить

Пара вопросов. PHP.

11
31.05.2009 11:16:44

должно работать. не проверял

PHP
$result=$db->sql_query("SELECT did, price15, price20, price22, priceeuro200, priceeuro220, pricefam, pricekidrez, pricekidst FROM s_products");
$price=array(); $repeats=array();
while(list($did, $price['price15'], $price['price20'], $price['price22'], $price['priceeuro200'], $price['priceeuro220'], $price['pricefam'], $price['pricekidrez'], $price['pricekidst']) = $db->sql_fetchrow($result)) {
    $counts=array_count_values($price);
    foreach($counts as $value=>$val_count){
        if($val_count>1) foreach($price as $key=>$pr){
            if($pr==$value) $repeats[$did][]=$key;
        }
    }
}
if(count($repeats)){
    echo 'Совпадения цен:<br />';
    foreach($repeats as $key=>$item) echo $id, ': ', implode(', ', $item), '<br />';
}

по первому...

PHP
$arrvars = array(2,5,7,11,10); //Тут пишешь свои значения, которые надо сравнивать с $cid

if (in_array($cid, $arrvars)){
echo "определенный код для вывода"; 
}
patriot
patriot
4.03

4.03

12
31.05.2009 12:03:06

Спасибо ребята, буду пробовать 🙂 🙂

Goshan
Goshan
3.92

3.92

13
31.05.2009 12:28:34 31.05.2009 12:44:30

patriot, с вашим кодом проблема:

Я попробовал проанализировать на примере одного товара под номером 704, и дописал к запросу WHERE did=704..

Получилось вот что на экране:

Код
Совпадения цен:704: pricekidst, pricekidrez, pricefam, priceeuro220, priceeuro200, price22, price20, price15

хотя я точно знаю, что в данном товаре значения не совпадают, т.е. все эти $price<..> разные.
Напоминаю, что сравнивать мне нужно товары не друг с другом, а именно значения price конкретного товара.

Я попробую потыкать тоже, но массивы для меня пока что темный лес, надежда на вас.. 🙁

_________
ёлки-палки, кажется всё же работает :))
я не предусмотрел вариант, когда значения цен могут быть все пустые))) поэтому скрипт и показывает, что они все равны друг другу))) спасибо большое за скрипт, Патриот 😃 😄

Остался только маленький вопросик)) как мне теперь сделать так, чтобы пустые значения НЕ сравнивались и не выводились? :)))

Goshan
Goshan
3.92

3.92

14
31.05.2009 22:23:37 31.05.2009 22:25:25

можно в запросе фильтровать пустые поля.
можно при обработке отсеивать...

foreach($counts as $value=>$val_count){
if(intval($value) && $val_count>1) foreach($price as $key=>$pr){
if($pr==$value) $repeats[$did][]=$key;
}
}

patriot
patriot
4.03

4.03

15
31.05.2009 22:55:02 31.05.2009 22:55:55

хм, дело странное.. вставляю ваш кусок, обновляю - вроде пусто. якобы дубликатов цен нет. беру один товар, пишу ему два одинаковых значения цены - и скрипт тут же выводит целый гигантский список: ...

http://i049.radikal.ru/0905/64/299b251713c9.jpg

сверху списка он показал верно (где с 704), там я специально ввел одинаковые price20 и price15, но откуда всё остальное?

Goshan
Goshan
3.92

3.92

16
03.06.2009 22:42:48

а какой код это выводит?

patriot
patriot
4.03

4.03

Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код

Предварительный просмотр