PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (1): [1]
Найдено сообщений: 10
gurvinek
Отправлено: 05 Мая, 2015 - 11:52:30 • Тема: Управление массивом посредством массива checkbox • Форум: Вопросы новичков
Ответов: 6 Просмотров: 403
все получилось, спасибо
еще один момент: при загрузке страницы теперь, т.к. ничего не выбрано, массив не отображается совсем. Соответственно при выборе чего то выбранное отображается.
А как сделать так, чтобы изначально (при загрузке страницы) массив отображался полностью?
Разобрался:
еще один вопрос: как сохранить состояние чекбокса после перезагрузки страницы?
gurvinek
Отправлено: 03 Мая, 2015 - 13:43:20 • Тема: Управление массивом посредством массива checkbox • Форум: Вопросы новичков
Ответов: 6 Просмотров: 403
сделал так:
теперь удаляется выбранное, а надо, чтобы удалялись все $key, кроме выбранного
если ставишь $value != $item->catslug, то по одному чекбоксу оставляет нормально, но при выборе двух или более удаляет все $key
gurvinek
Отправлено: 02 Мая, 2015 - 11:56:09 • Тема: Управление массивом посредством массива checkbox • Форум: Вопросы новичков
Ответов: 6 Просмотров: 403
Есть массив $items такого вида:
CODE (
htmlphp ):
скопировать код в буфер обмена
Array
(
[0] => stdClass Object
(
[id] => 9
[type] => 1
[rent_type] => 0
[cid] => 1
[locid] => 1
[stid] => 1
[cnid] => 0
[soleAgency] => 0
[bldg_name] => 2 ИП в Московском мкр-не
[unit_num] =>
[lot_num] =>
[street_num] => д.13
[address2] => Московский мкр-н
[postcode] =>
[county] =>
[locality] =>
[state] =>
[country] =>
[viewad] => 1
[owncoords] => 0
[price] => 2000000.00
[offpeak] => 0.00
[showprice] => 1
[freq] => 0
[bond] => 0.00
[closeprice] => 0.00
[priceview] =>
[year] =>
[yearRemodeled] =>
[houseStyle] =>
[houseConstruction] =>
[exteriorFinish] =>
[roof] =>
[flooring] =>
[porchPatio] =>
[landtype] =>
[frontage] =>
[depth] =>
[subdivision] =>
[LandAreaSqFt] =>
[AcresTotal] =>
[LotDimensions] =>
[bedrooms] => 0
[sleeps] => 0
[totalrooms] =>
[otherrooms] =>
[livingarea] =>
[bathrooms] => 0.00
[fullBaths] => 0
[thqtrBaths] => 0
[halfBaths] => 0
[qtrBaths] => 0
[ensuite] => 0
[parking] =>
[garageDescription] =>
[parkingGarage] =>
[parkingCarport] =>
[stories] => 0
[declat] => 56.968351
[declong] => 40.989102
[adline] => 2 ИП в Московском мкр-не
[alias] => 2-ip-v-moskovskom-mkr-ne
[propdesc] => < p> Продаётся 2х комн. квартира в Московском мкр. дом 13 (уже сдан). 65/32/13 кв.м. Квартира не угловая. 2 лоджии. Окна на разные стороны. Сделан хороший ремонт (не ДСК), ванна в плитке, встроенная кухня (остаётся). Ч/продажа. Продаётся срочно, поэтому цена ниже рыночной!!!</ p>
[smalldesc] => Продаётся 2х комн. квартира в Московском мкр. дом 13 (уже сдан). 65/32/13 кв.м. Квартира не угловая. 2 лоджии. Окна на разные стороны. Сделан хороший ремонт (не ДСК), ванна в плитке, встроенная кухня (остаётся). Ч/продажа. Продаётся срочно, поэтому цена
[panorama] =>
[mediaUrl] =>
[mediaType] => 0
[pdfinfo1] =>
[pdfinfo2] =>
[epc1] =>
[epc2] =>
[flpl1] =>
[flpl2] =>
[ctown] =>
[ctport] =>
[schooldist] =>
[preschool] =>
[primaryschool] =>
[highschool] =>
[university] =>
[hofees] =>
[AnnualInsurance] => 0.00
[TaxAnnual] => 0.00
[TaxYear] =>
[Utlities] =>
[ElectricService] =>
[AverageUtilElec] => 0.00
[AverageUtilHeat] => 0.00
[BasementAndFoundation] =>
[BasementSize] =>
[BasementPctFinished] =>
[appliances] =>
[indoorfeatures] =>
[outdoorfeatures] =>
[buildingfeatures] =>
[communityfeatures] =>
[otherfeatures] =>
[CovenantsYN] => 0
[PhoneAvailableYN] => 0
[GarbageDisposalYN] => 0
[RefrigeratorYN] => 0
[OvenYN] => 0
[FamilyRoomPresent] => 0
[LaundryRoomPresent] => 0
[KitchenPresent] => 0
[LivingRoomPresent] => 0
[ParkingSpaceYN] => 0
[custom1] => 5
[custom2] => 60
[custom3] =>
[custom4] =>
[custom5] => кирпич
[custom6] => отличное, встроенная кухня, нат.потолки
[custom7] =>
[custom8] =>
[takings] =>
[returns] =>
[netprofit] =>
[bustype] =>
[bussubtype] =>
[stock] =>
[fixtures] =>
[fittings] =>
[squarefeet] =>
[SqFtLower] =>
[SqFtMainLevel] =>
[SqFtUpper] =>
[percentoffice] =>
[percentwarehouse] =>
[loadingfac] =>
[fencing] =>
[rainfall] =>
[soiltype] =>
[grazing] =>
[cropping] =>
[irrigation] =>
[waterresources] =>
[carryingcap] =>
[storage] =>
[services] =>
[currency_position] => 0
[currency] =>
[currency_format] => 0
[schoolprof] => 0
[hoodprof] => 0
[openhouse] => 0
[ohouse_desc] =>
[ohdate] => 0000-00-00
[ohstarttime] => 00:00:00
[ohendtime] => 00:00:00
[ohdate2] => 0000-00-00
[ohstarttime2] => 00:00:00
[ohendtime2] => 00:00:00
[viewbooking] => 0
[availdate] => 0000-00-00
[aucdate] => 0000-00-00
[auctime] => 00:00:00
[aucdet] =>
[private] =>
[office_id] =>
[mls_id] =>
[mls_agent] =>
[agentInfo] =>
[rets_source] =>
[mls_disclaimer] =>
[mls_image] =>
[oh_id] =>
[closedate] =>
[contractdate] =>
[sold] => 1
[featured] => 0
[camtype] => 0
[owner] => 873
[assoc_agent] => 0
[email_status] => 0
[skipimp] => 0
[listdate] => 2015-03-06
[lastupdate] => 1430127193
[expdate] => 1425600000
[metadesc] =>
[metakey] =>
[hits] => 97
[published] => 1
[language] => *
[checked_out] => 127
[checked_out_time] => 2015-04-27 09:33:13
[ordering] =>
[category] => Квартиры
[proploc] => г. Иваново
[statename] => Ивановская обл.
[cnname] =>
[slug] => 9:2-ip-v-moskovskom-mkr-ne
[catslug] => 1:kvartiry
)
[1] => stdClass Object
(
[id] => 8
[type] => 1
[rent_type] => 0
[cid] => 6
[locid] => 1
[stid] => 1
[cnid] => 0
[soleAgency] => 0
[bldg_name] => 3 ИП с хорошим ремонтом
[unit_num] =>
[lot_num] =>
[street_num] => д.59
[address2] => ул.Стефенсона
[postcode] =>
[county] =>
[locality] =>
[state] =>
[country] =>
[viewad] => 1
[owncoords] => 0
[price] => 1500000.00
[offpeak] => 0.00
[showprice] => 1
[freq] => 0
[bond] => 0.00
[closeprice] => 0.00
[priceview] =>
[year] =>
[yearRemodeled] =>
[houseStyle] =>
[houseConstruction] =>
[exteriorFinish] =>
[roof] =>
[flooring] =>
[porchPatio] =>
[landtype] =>
[frontage] =>
[depth] =>
[subdivision] =>
[LandAreaSqFt] =>
[AcresTotal] =>
[LotDimensions] =>
[bedrooms] => 0
[sleeps] => 0
[totalrooms] =>
[otherrooms] =>
[livingarea] =>
[bathrooms] => 0.00
[fullBaths] => 0
[thqtrBaths] => 0
[halfBaths] => 0
[qtrBaths] => 0
[ensuite] => 0
[parking] =>
[garageDescription] =>
[parkingGarage] =>
[parkingCarport] =>
[stories] => 0
[declat] => 57.023372
[declong] => 41.018118
[adline] => 3 ИП с хорошим ремонтом
[alias] => 3-ip-s-khoroshim-remontom
[propdesc] => < p> Продам 3 ИП. Новый дом, закрытая территория, огороженная детская площадка, рядом парк 1905 года. Индивидуальное г/о, витражное окно, вся встроенная мебель и техника остается. 2 санузла. Очень удачная планировка, хорошие соседи.</ p>
[smalldesc] => Продам 3 ИП. Новый дом, закрытая территория, огороженная детская площадка, рядом парк 1905 года. Индивидуальное г/о, витражное окно, вся встроенная мебель и техника остается. 2 санузла. Очень удачная планировка, хорошие соседи.
[panorama] =>
[mediaUrl] =>
[mediaType] => 0
[pdfinfo1] =>
[pdfinfo2] =>
[epc1] =>
[epc2] =>
[flpl1] =>
[flpl2] =>
[ctown] =>
[ctport] =>
[schooldist] =>
[preschool] =>
[primaryschool] =>
[highschool] =>
[university] =>
[hofees] =>
[AnnualInsurance] => 0.00
[TaxAnnual] => 0.00
[TaxYear] =>
[Utlities] =>
[ElectricService] =>
[AverageUtilElec] => 0.00
[AverageUtilHeat] => 0.00
[BasementAndFoundation] =>
[BasementSize] =>
[BasementPctFinished] =>
[appliances] =>
[indoorfeatures] =>
[outdoorfeatures] =>
[buildingfeatures] =>
[communityfeatures] =>
[otherfeatures] =>
[CovenantsYN] => 0
[PhoneAvailableYN] => 0
[GarbageDisposalYN] => 0
[RefrigeratorYN] => 0
[OvenYN] => 0
[FamilyRoomPresent] => 0
[LaundryRoomPresent] => 0
[KitchenPresent] => 0
[LivingRoomPresent] => 0
[ParkingSpaceYN] => 0
[custom1] => средний
[custom2] => 75
[custom3] =>
[custom4] => Продам 3 ИП. Новый дом, закрытая территория, огороженная детская площадка, рядом парк 1905 года. Индивидуальное г/о, витражное окно, вся встроенная мебель и техника остается. 2 санузла. Очень удачная планировка, хорошие соседи.
[custom5] => кирпич
[custom6] => отделка "под ключ", встроенная мебель
[custom7] =>
[custom8] =>
[takings] =>
[returns] =>
[netprofit] =>
[bustype] =>
[bussubtype] =>
[stock] =>
[fixtures] =>
[fittings] =>
[squarefeet] =>
[SqFtLower] =>
[SqFtMainLevel] =>
[SqFtUpper] =>
[percentoffice] =>
[percentwarehouse] =>
[loadingfac] =>
[fencing] =>
[rainfall] =>
[soiltype] =>
[grazing] =>
[cropping] =>
[irrigation] =>
[waterresources] =>
[carryingcap] =>
[storage] =>
[services] =>
[currency_position] => 0
[currency] =>
[currency_format] => 0
[schoolprof] => 0
[hoodprof] => 0
[openhouse] => 0
[ohouse_desc] =>
[ohdate] => 0000-00-00
[ohstarttime] => 00:00:00
[ohendtime] => 00:00:00
[ohdate2] => 0000-00-00
[ohstarttime2] => 00:00:00
[ohendtime2] => 00:00:00
[viewbooking] => 0
[availdate] => 0000-00-00
[aucdate] => 0000-00-00
[auctime] => 00:00:00
[aucdet] =>
[private] =>
[office_id] =>
[mls_id] =>
[mls_agent] =>
[agentInfo] =>
[rets_source] =>
[mls_disclaimer] =>
[mls_image] =>
[oh_id] =>
[closedate] =>
[contractdate] =>
[sold] => 1
[featured] => 0
[camtype] => 0
[owner] => 873
[assoc_agent] => 0
[email_status] => 0
[skipimp] => 0
[listdate] => 2015-03-06
[lastupdate] => 1430496909
[expdate] => 1425600000
[metadesc] =>
[metakey] =>
[hits] => 40
[published] => 1
[language] => *
[checked_out] => 0
[checked_out_time] => 0000-00-00 00:00:00
[ordering] =>
[category] => Эксклюзивная недвижимость
[proploc] => г. Иваново
[statename] => Ивановская обл.
[cnname] =>
[slug] => 8:3-ip-s-khoroshim-remontom
[catslug] => 6:eksklyuzivnaya-nedvizhimost
)
нужно, что бы при выборе чекбокса в этом массиве оставались только данные, соответствующие value этого чекбокса.
Например: при выборе чекбокса "Квариты" в массиве оставались соответственно только квартиры.
В массиве присутствует поле [catslug], к нему и хочу привязаться.
Удалять данные из массива хочу командой unset($items[$k])
Код вот такой:
CODE (
htmlphp ):
скопировать код в буфер обмена
< form method= "POST" >
< input type= "checkbox" name= "chb[]" value= "1:kvartiry" />< span> Квартиры</ span>
< input type= "checkbox" name= "chb[]" value= "2:kottedzhi" />< span> Коттеджи</ span>
< input type= "checkbox" name= "chb[]" value= "3:zemelnye-uchastki" />< span> Земельные участки</ span>
< input type= "checkbox" name= "chb[]" value= "4:kommercheskaya-nedvizhimost" />< span> Коммерч. недвижимость</ span>
< input type= "checkbox" name= "chb[]" value= "5:arenda-nedvizhimosti" />< span> Аренда</ span>
< input type= "checkbox" name= "chb[]" value= "6:eksklyuzivnaya-nedvizhimost" />< span> Эксклюзивная недвиж.</ span>
< input type= "submit" value= "Отправить" name= "" >
</ form>
<? php
if ( isset ( $_POST [ 'chb' ] ) ) foreach ( $_POST [ 'chb' ] as $key => $value )
//echo $value.'<br />';
foreach ( $items as $k => $zn ) {
$zn = $items -> $k [ 'catslug' ] ;
if ( $value == $zn ) {
}
}
?>
знаю, что во втором foreach ошибка, но что там прописать - никак не разберусь.
Прошу помощи.
gurvinek
Отправлено: 07 Апреля, 2015 - 19:09:16 • Тема: Сопутствующие товары в Virtuemart • Форум: CMS и фреймворки
Ответов: 1 Просмотров: 1913
Отвечаю сам себе
Оказывается перебор первого массива всегда начинался с ID товара, который открыт в данный момент. А условием ниже в похожих товарах исключается показ товара, который открыт. Отсюда все проблемы.
В итоге изменил код на такой:
CODE (
htmlphp ):
скопировать код в буфер обмена
<? php
$category_id = $this -> product -> categories [ 0] ;
if ( $filter_category ) $filter_category = TRUE ;
$productModel = VmModel:: getModel ( 'Product' ) ;
$products = $productModel -> getProductListing ( '' , 0, $category_id ) ;
$productModel -> addImages ( $products ) ;
$currency = CurrencyDisplay:: getInstance ( ) ;
?>
< div id= "catprod" class= "browse-view catprod-rel" >
<? php
$i = 0 ;
foreach ( $products as $product ) {
$i ++;
}
if ( $i > 1 ) {
?>
< div class= "title" > С этим товаром покупают:</ div>
< div class= "row" >
<? php
$cnt = 0 ;
foreach ( $products as $product ) {
$cnt ++;
if ( $cnt > 3) break ;
// if($prod1 != $prod2) {
?>
< div class= "product floatleft " >
и т.д.
и все заработало так, как хотелось (точнее осталось прикрутить исключение открытого товара, но это не критично)
Для первого foreach добавил shuffle($products);
теперь массив формируется случайным образом, а раньше шел по порядку (так даже лучше, т.к. товары теперь тоже отображаются случайно)
gurvinek
Отправлено: 05 Апреля, 2015 - 01:10:23 • Тема: Сопутствующие товары в Virtuemart • Форум: CMS и фреймворки
Ответов: 1 Просмотров: 1913
Прошу помощи в выводе сопутствующих товаров в карточке товара в Virtuemart 2. Есть код:
CODE (
htmlphp ):
скопировать код в буфер обмена
<? php
$category_id = $this -> product -> categories [ 0] ;
if ( $filter_category ) $filter_category = TRUE ;
$productModel = VmModel:: getModel ( 'Product' ) ;
$products = $productModel -> getProductListing ( '' , 3, $category_id ) ;
$productModel -> addImages ( $products ) ;
$currency = CurrencyDisplay:: getInstance ( ) ;
?>
< div id= "catprod" class= "browse-view catprod-rel" >
<? php
$count = 0 ;
foreach ( $products as $product ) {
$count += 1 ;
}
if ( $count > 1 ) {
?>
< div class= "title" > С этим товаром покупают:</ div>
<? php } ?>
< div class= "row" >
<? php
foreach ( $products as $product ) {
$prod1 = $this -> product -> virtuemart_product_id ;
$prod2 = $product -> virtuemart_product_id ;
if ( $prod1 != $prod2 ) {
?>
< div class= "product floatleft " >
тут HTML карточки выводимого сопутствующего товара
</ div>
<? php } }
?>
он должен выводить 3 сопутствующих товара. Работает как то странно: в большинстве случаев выводится только 2 товара, хотя в некоторых карточках выводится как положено по 3 товара.
В строке
ясно прописано, чтобы выводилось 3 товара, но почему то не каждый раз выводится.
Никак не пойму, где ошибка.
gurvinek
Отправлено: 28 Апреля, 2014 - 17:31:40 • Тема: Помогите с выводом массива • Форум: Вопросы новичков
Ответов: 12 Просмотров: 454
Огромное спасибо!!! Все супер!!! Именно то, что я и хотел.
P.S. Взял вариант для неизвестного количества. Это как раз то, что нужно, т.к. неизвестно, сколько категорий будет.
Еще раз спасибо!!!
Тему можно закрывать.
gurvinek
Отправлено: 27 Апреля, 2014 - 22:25:06 • Тема: Помогите с выводом массива • Форум: Вопросы новичков
Ответов: 12 Просмотров: 454
Есть массив, который выводит в Opencart категории на главной странице:
CODE (
htmlphp ):
скопировать код в буфер обмена
< div class= "row-fluid" >
<? php foreach ( $categoryhome as $categoryhome ) { ?>
< div class= "product ot-product span4 vertical-separator product-spacer" >
</ div>
<? php } ?>
</ div>
по умолчанию ничего тут не прописано.
Хочется сделать так, чтобы каждые 3 элемента массива оборачивались в отдельный div.
т.е. сейчас выводится таким образом:
CODE (
htmlphp ):
скопировать код в буфер обмена
< div class= "row-fluid" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
</ div>
а хотелось бы таким:
CODE (
htmlphp ):
скопировать код в буфер обмена
< div class= "row-fluid" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
</ div>
< div class= "row-fluid" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
</ div>
< div class= "row-fluid" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
</ div>
< div class= "row-fluid" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
< div class= "product ot-product span4 vertical-separator product-spacer" >
</ div>
Я в php совсем новичок, сам всю голову уже сломал, ничего не получается. Помогите пожалуйста.
Страниц (1): [1]
Powered by ExBB FM 1.0 RC1. InvisionExBB