Помогите решить проблему со скриптом

Тема в разделе "PHP", создана пользователем arthur679141, 24 фев 2014.

  1. arthur679141

    arthur679141

    Регистрация:
    23 янв 2013
    Сообщения:
    32
    Симпатии:
    2
    Добрый день! Уважаемые специалисты, требуется помощь! Суть проблемы в следующем: На сайте реализована функция выбора подраздела (см рисунок 1). К примеру ключи, сумки и т.д. я могу выбрать, а вот выбрать Раздел "Потери и находки", "Транспорт", к сожалению не могу. Необходимо реализовать возможность выбора и Раздела в том числе! Код из файла:
    1 часть:
    Код:
    <font size=+1 color=red>*</font> Раздел
            <td>
                <select size="10" multiple name="razdel[]" id="razdel" >
                <?
                foreach($arr_razdel[0] as $index=>$raz)
                    {
                    ?>
                    <optgroup label="<?=$raz?>">
                        <?
                        foreach($arr_razdel[$index] as $ind=>$ra)
                            {
                            ?>
                            <option onclick="vibor_cat(this,<?=$max_razdel?>)" value="<?=$ind?>" <? if($_POST['razdel'] && in_array($ind, $_POST['razdel'])) echo 'selected'; ?>><?=$ra?></option>
                            <?
                            }
                        ?>
                    </optgroup>
                    <?
                    }
                    ?>
                </select>
            </td>
    2 часть:
    Код:
    if($_POST['add'])
        {
        if($_POST['razdel'])
            {
            $razdel_yes=array();
            for($i=0; $i<$max_razdel; $i++)
                {
                if(intval($_POST['razdel'][$i]))
                $razdel_yes[]=intval($_POST['razdel'][$i]);
                }
            }
        if(!$razdel_yes)
        $err .= '- Не выбрано ни одного раздела<br>';
        else
            {
            $data['razdel'][1]='';
            $r_raz=mysql_query("SELECT * FROM catalog WHERE id_catalog IN (".implode(",",$razdel_yes).")");
            $i=0;
            while($rr_raz=mysql_fetch_array($r_raz))
                {
                if($i)
                $data['razdel'][1] .= "<br>";
                $data['razdel'][1] .= $rr_raz['catalog'];
                $data_m[$rr_raz['id_catalog']]=$rr_raz['parent_id'];
                $i++;
                }
            }
    Рисунок 1:
    [​IMG]

    К сожалению в знаниях php не силен, поэтому буду очень признателен за оказанную помощь. Гонорар за помощь гарантирую! :wink:)
     
  2. SSI78

    SSI78

    Регистрация:
    20 мар 2014
    Сообщения:
    1
    Симпатии:
    0
    К сожалению рисунок не отображается, а из описания проблемы - ничего не понятно.
     
  3. mrincona

    mrincona

    Регистрация:
    1 апр 2014
    Сообщения:
    5
    Симпатии:
    9
    попытаться быть более конкретным, я хотел бы дать вам руку :sleep:
     
    Lasted edited by : 1 апр 2014
  4. look2009

    look2009

    Регистрация:
    4 апр 2014
    Сообщения:
    1
    Симпатии:
    0
    Ни чего не ясно из выше описанного, ссылку скинете для просмотра что именно надо. Вижу что работаете по передачи данных методом пост, а сыть не ясна, в код вдумываться, что он именно делается нет особого желания, если понять, что какая переменная в себе несёт, будет проще.
     
  5. joomlawoman

    joomlawoman

    Регистрация:
    26 апр 2014
    Сообщения:
    0
    Симпатии:
    0
    try:
    $r_raz=mysql_query("SELECT * FROM catalog WHERE id_catalog IN (".implode(". , .",$razdel_yes).")");
     
  6. astrabis

    astrabis

    Регистрация:
    7 фев 2015
    Сообщения:
    0
    Симпатии:
    0
    Друзья, помогите, пожалуйста, разобраться с проблемой.
    Когда-то написал на php скрипт теста.
    Всё нормально работало, но вчера посетитель сайта написал, что есть проблема: выдаётся нулевой ответ.
    Это страница с тестом: http://astrabis.ru/teoria/test3.php
    Я в php весьма слаб и этот тест писал, глядя в учебник, поэтому для меня сейчас найти причину почти нереально.
    Здесь часть скрипта:
    <form action="http://www.astrabis.ru/teoria/testrez3.php" method="post">
    <table cellspacing="1px">
    <tbody>
    <tr><td rowspan="3">Цвет </td><td><input name="vata[]" type="checkbox" value="2">Чёрный</td></tr>
    <tr><td><input name="pita[]" type="checkbox" value="2">Красный, пурпурный.</td></tr>
    <tr><td><input name="kapha[]" type="checkbox" value="2">Белый.</td>
    </tr>
    ......................
    </tbody>
    </table>
    <div style="text-align: center"><input type="submit" value="Показать результат"></div>
    </form>

    Это скрипт на сервере:

    <?php

    if (isset($_POST['vata']))
    {
    @$x=array_sum($_POST['vata']);

    if (isset($_POST['pita']))

    @$y=array_sum($_POST['pita']);

    if (isset($_POST['kapha']))

    @$z=array_sum($_POST['kapha']); }

    @$allarray=array($x,$y,$z);
    $sum=array_sum($allarray);

    if ($sum>=4)
    {
    $x1=$x*100/$sum;
    $y1=$y*100/$sum;
    $z1=$z*100/$sum;
    }

    else {
    echo "<H3>Мало информации. Может быть вы здоровы?</H3>";
    }

    @$a=(int)$x1;
    @$b=(int)$y1;
    @$c=(int)$z1;
    echo "<table cellSpacing=1px>
    <tr><td>Вата</td><td>Питта</td><td>Капха</td></tr>
    <tr align=center><td>$a</td><td>$b</td><td>$c</td></tr>
    </table>"
    ?>
    На сервере сейчас включен php 5. Может быть, что это работало для php 4, а для 5-й версии не работает?
    Буду очень признателен хоть за какой-то намёк на пути решения этой задачи.
     
  7. VictorAS

    VictorAS

    Регистрация:
    2 ноя 2014
    Сообщения:
    8
    Симпатии:
    1
    Ну вообще, надо найти в каком скрипте и где присваивается значение переменной $arr_razdel (в предоставленном исходнике его нет). И далее смотреть по алгоритму или выложить этот кусок кода сюда.