28 / 25 / 14
Регистрация: 17.01.2013
Сообщений: 323

правка простого скрипта

29.11.2013, 05:26. Показов 782. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всем привет, уважаемые форумчане! =)
помогите, пожалуйста, довести до ума код, т.к. я с php на "Вы".
задача такая:
если корзина пустая, т.е. count($cart->products)==0 - выводится EMPTY
если в корзине 1 товар - PRODUCT1
если 2-4 товара - PRODUCT24
если больше 5 - PRODUCT5
PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
    if (count($cart->products)==0) {
    echo JText::_('EMPTY');
    } elseif (count($cart->products)==1) {
    echo JText::_('PRODUCT1');
    } elseif (count($cart->products)==2||3||4) {
    echo JText::_('PRODUCT24');
    }elseif (count($cart->products)>4) {
    echo JText::_('PRODUCT5');
    }
?>
получиться должно такое:
В корзине пока пусто
В корзине 1 товар
В корзине 2 (3, 4) товара
В корзине 5 (и больше) товаров
этот скрипт выполняется, но как-то невменяемо, а ошибку в силу отсутствия нужных знаний я найти не могу.
заранее очень признательна за помощь!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.11.2013, 05:26
Ответы с готовыми решениями:

Ошибка отображения простого скрипта
только начал осваивать PHP и попытался по видео сделать простейший вывод &quot;Hello World!&quot;, вот как прописал &lt;!DOCTYPE html&gt; ...

С чего начать написание простого скрипта знакомства на php
Здравствуйте уважаемые форумчани. Решил написать скрипт знакомств на php, но не знаю с чего начать. Интересует вопрос какая структура...

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

10
 Аватар для esculap_ra
462 / 265 / 55
Регистрация: 22.08.2010
Сообщений: 1,204
Записей в блоге: 4
29.11.2013, 05:43
Цитата Сообщение от katjuha6 Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
    if (count($cart->products)==0) {
    echo JText::_('EMPTY');
    } elseif (count($cart->products)==1) {
    echo JText::_('PRODUCT1');
    } elseif (count($cart->products)==2||3||4) {
    echo JText::_('PRODUCT24');
    }elseif (count($cart->products)>4) {
    echo JText::_('PRODUCT5');
    }
?>
PHP
1
2
3
4
5
6
7
8
9
10
<?php
    if (count($cart->products)==0) {
    echo JText::_('EMPTY');
    } elseif (count($cart->products)==1) {
    echo JText::_('PRODUCT1');
    } elseif (count($cart->products)<5) {
    echo JText::_('PRODUCT24');
    }else
    echo JText::_('PRODUCT5');
?>
1
28 / 25 / 14
Регистрация: 17.01.2013
Сообщений: 323
29.11.2013, 05:47  [ТС]
спасибо Вам большое! =)
0
 Аватар для esculap_ra
462 / 265 / 55
Регистрация: 22.08.2010
Сообщений: 1,204
Записей в блоге: 4
29.11.2013, 05:52
Можешь попробовать и такой вариант
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    switch ($cart->products) {
        case 0: 
            $txt='EMPTY';
            break;
            
        case 1: 
            $txt='PRODUCT1';
            break;
 
        case 2:
                case 3:
                case 4: 
            $txt='PRODUCT24';
            break;
            
        default: 
            $txt='PRODUCT5';
break;
        
    }
echo JText::_($txt);
1
28 / 25 / 14
Регистрация: 17.01.2013
Сообщений: 323
29.11.2013, 05:58  [ТС]
не совсем. на выходе все равно получается
1 товаров
3 товаров
5 товаров
предыдущий код работает и это самое главное. остальное в принципе уже не важно! =)
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
29.11.2013, 06:25
PHP
1
elseif ( count ( $cart->products ) == 2 | | 3 | | 4 ) { echo JText :: _( ' PRODUCT24 ' )
Замените на
PHP
1
elseif ( count ( $cart->products ) > 1 && count ( $cart->products ) < 5 ) { echo JText :: _( ' PRODUCT24 ' )
Лучше конечно, чем писать много раз это:
PHP
1
count ( $cart->products )
сделать так выше по коду:
PHP
1
$count = count ( $cart->products );
И заместо
PHP
1
count ( $cart->products )
писать
PHP
1
$count
Добавлено через 1 минуту
Ого, вам уже ответили .
1
28 / 25 / 14
Регистрация: 17.01.2013
Сообщений: 323
29.11.2013, 06:28  [ТС]
все равно спасибо! так даже аккуратнее будет. поскольку я его написала так, как смогла. а Ваш совет возьму на вооружение на будущее, чтобы не лепить горы ненужностей =)))
0
 Аватар для esculap_ra
462 / 265 / 55
Регистрация: 22.08.2010
Сообщений: 1,204
Записей в блоге: 4
29.11.2013, 07:18
Цитата Сообщение от katjuha6 Посмотреть сообщение
не совсем.
предыдущий код работает и это самое главное. остальное в принципе уже не важно! =)
И второй тоже работает, только я сам допустил ошибку, не указал count ( $cart->products ).

Добавлено через 2 минуты
Цитата Сообщение от esculap_ra Посмотреть сообщение
Можешь попробовать и такой вариант
PHP
1
2
    switch ($cart->products) {
;
Тут я допустил ошибку, нужно
PHP
1
switch (count($cart->products))
0
28 / 25 / 14
Регистрация: 17.01.2013
Сообщений: 323
29.11.2013, 17:19  [ТС]
ошибка
Parse error: syntax error, unexpected T_CASE, expecting ':' or '{' in ........
это строка
PHP
1
case 0:
я же говорю - это в принципе не особо важно. Вы уже мне помогли =)))
только вот один вопрос: при добавлении товара в корзину выводится "товаров" не зависимо от количества. а после перезагрузки страницы все выводится как надо.
как это поправить можно?

p.s. хорошо англоговорящим - в этом модуле изначально было только "item" и "items". а прыжки вокруг падежей - это уже моя задумка... =))
0
 Аватар для esculap_ra
462 / 265 / 55
Регистрация: 22.08.2010
Сообщений: 1,204
Записей в блоге: 4
30.11.2013, 21:06
Цитата Сообщение от katjuha6 Посмотреть сообщение
при добавлении товара в корзину выводится "товаров" не зависимо от количества. а после перезагрузки страницы все выводится как надо.
Как я понимаю, добавление товаров в корзину не получает обновления с сервера. а делается посредством javascript. Поэтому и ваши падежи не учитываются. Тут нежно сам javascript-код переделывать.
1
28 / 25 / 14
Регистрация: 17.01.2013
Сообщений: 323
30.11.2013, 21:21  [ТС]
спасибо, что подсказали где копать надо. а то я вчера колупала только php и еще пару косяков такого плана заметила.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.11.2013, 21:21
Помогаю со студенческими работами здесь

Правка скрипта
Помогите пожалуйста поправить код, что-бы что-бы вместо &lt; select id=&quot;select_2&quot; &gt; значения изменялись в &lt; span...

Оптимизация простого скрипта
Доброго времени суток, форумчане! Отпраздновать первое знакомство с jquery я решил написать простенькую анимацию. Оптимизацией тут и не...

Написание простого скрипта копирования
собсвенно скрипт должен запускатся с адреса http://site.ru/ude/1.php и автоматом копировать фаил с пути http://site.ru/ude/2.php на сайт...

Изменение скрипта простого клика
Добрых суток! Ребят, помогите пожалуйста, из вот этого кода: $('.fly_banner').find('a').trigger('click');. Сделать так, что бы скрипт...

Выполнение простого скрипта без компиляции
Суть в том, чтобы через веб-форму передать на микроконтроллер код условий. if(var &gt;= val) { запустить функцию 1 } else if(var == 100)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Реализация Domain-Driven Design с Java
Javaican 20.05.2025
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную. . .
Возможности и нововведения C# 14
stackOverflow 20.05.2025
Выход версии C# 14, который ожидается вместе с . NET 10, приносит ряд интересных нововведений, действительно упрощающих жизнь разработчиков. Вы уже хотите опробовать эти новшества? Не проблема! Просто. . .
Собеседование по Node.js - вопросы и ответы
Reangularity 20.05.2025
Каждому разработчику рано или поздно приходится сталкиватся с техническими собеседованиями - этим стрессовым испытанием, где решается судьба карьерного роста и зарплатных ожиданий. В этой статье я. . .
Cython и C (СИ) расширения Python для максимальной производительности
py-thonny 20.05.2025
Python невероятно дружелюбен к начинающим и одновременно мощный для профи. Но стоит лишь заикнуться о высокопроизводительных вычислениях — и энтузиазм быстро улетучивается. Да, Питон медлительнее. . .
Безопасное программирование в Java и предотвращение уязвимостей (SQL-инъекции, XSS и др.)
Javaican 19.05.2025
Самые распространёные векторы атак на Java-приложения за последний год выглядят как классический "топ-3 хакерских фаворитов": SQL-инъекции (31%), межсайтовый скриптинг или XSS (28%) и CSRF-атаки. . .
Введение в Q# - язык квантовых вычислений от Microsoft
EggHead 19.05.2025
Microsoft вошла в гонку технологических гигантов с собственным языком программирования Q#, специально созданным для разработки квантовых алгоритмов. Но прежде чем погружаться в синтаксические дебри. . .
Безопасность Kubernetes с Falco и обнаружение вторжений
Mr. Docker 18.05.2025
Переход организаций к микросервисной архитектуре и контейнерным технологиям сопровождается лавинообразным ростом векторов атак — от тривиальных попыток взлома до многоступенчатых кибератак, способных. . .
Аугментация изображений с Python
AI_Generated 18.05.2025
Собрать достаточно большой датасет для обучения нейронной сети — та ещё головная боль. Часами вручную размечать картинки, скармливать их ненасытным алгоритмам и молиться, чтобы модель не сдулась при. . .
Исключения в Java: советы, примеры кода и многое другое
Javaican 18.05.2025
Исключения — это объекты, созданные когда программа сталкивается с непредвиденной ситуацией: файл не найден, сетевое соединение разорвано, деление на ноль. . . Список можно продолжать до бесконечности. . . .
Как сделать SSO (Single Sign-On) в C# приложении
stackOverflow 18.05.2025
SSO — это механизм, позволяющий пользователю пройти аутентификацию один раз и получить доступ к нескольким приложениям без повторного ввода учетных данных. Вы наверняка сталкивались с ним, когда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru