сохранить значение поля ввода как переменную при обновлении страницы в зависимом раскрывающемся списке - PullRequest
0 голосов
/ 15 декабря 2011

У меня есть страница php для захвата заказов на продажу.у него есть зависимый раскрывающийся список, который извлекает информацию из таблицы MySQL на основе выбранного значения.

Когда пользователь вводит количество, я хочу, чтобы произошло несколько вещей:

  • Во-первых, введенное значение должно быть записано в переменную $ line1qty.У меня есть запись: <? $line1qty=$_POST[line1qty]; ?> в моем коде, однако это не работает, так как я не уверен, что он установлен, когда javascript обновляет страницу.

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

Любая помощь будет оценена, я знаю, что я просто отсутствуетчто-то простое, но я все еще очень плохо знаком с PHP.Еще раз спасибо.

Мой код для этой страницы:

<style type="text/css">
<!--
@import url("style.css");
-->
</style>

<script language="JavaScript">

function autoSubmit()
{
    var formObject = document.forms['theForm'];
    formObject.submit();
}

</script>

<?php

$packcode = $category = $sellingunit = null; //declare vars

if(isset($_GET["packcode"]) && is_numeric($_GET["packcode"]))
{
    $packcode = $_GET["packcode"];
}

if(isset($_GET["category"]) && is_numeric($_GET["category"]))
{
    $category = $_GET["category"];
}

if(isset($_GET["sellingunit"]) && is_numeric($_GET["sellingunit"]))
{
    $sellingunit = $_GET["sellingunit"];
}

?>

<form name="theForm" method="get">

<? $line1qty=$_POST[line1qty]; ?>


Capture the sales data 
<table id="hor-minimalist-a">
    <tr>
        <th valign=bottom>
        Select a Pack Code
        </th>
        <th valign=bottom>
        Category
        </th>
        <th valign=bottom>
        Selling <br> Units
        </th>
        <th valign=bottom>
        <b>Grouping</b>
        </th>
        <th valign=bottom>
        <b>Full Pallet<br>QTY</b>
        </th>
        <th valign=bottom>
        <font color=red><b>Order QTY</b></font>
        </th>
        <th valign=bottom>
        <font color=green><b>Points</b></font>
        </th>

    </tr>
    <tr>
        <td>
    <select name="packcode" onChange="autoSubmit();">
        <option value="null"></option>
<option value="1046" <?php if($packcode == 1046) echo " selected"; ?>>1046 - Domestos Liq Lemon 20x750ml</option>
<option value="1174" <?php if($packcode == 1174) echo " selected"; ?>>1174 - Omo Wash Pwdr MultiActiv6x6x500g</option>
<option value="1175" <?php if($packcode == 1175) echo " selected"; ?>>1175 - Surf Wash Pwdr Reg 6x6x500g</option>
<option value="1182" <?php if($packcode == 1182) echo " selected"; ?>>1182 - Breeze Soap Amber 8x12x125g</option>


    </select>
        </td>
        <td width=75>
            <?php

    if($packcode != null && is_numeric($packcode))
    {

        //POPULATE category

        $sql = "SELECT packcode, sellingunits, category,casesperpallet,grouping,shrinksperpallet FROM skudata WHERE packcode = $packcode";
        $data = mysql_query($sql);

        while($row = mysql_fetch_array($data))
        {        
            echo $row[category];

        ?>
        </td>
        <td width=75>
        <? echo $row[sellingunits]; ?>
        </td>
        <td width=75>
        <? echo $row[grouping]; ?>
        </td>
        <td width=75>
        <? if($row[sellingunits]=="CS"){echo $row[casesperpallet];} else {echo $row[shrinksperpallet];} ?>
        </td>
        <td width=75>
        <? if($line1qty > 0){ ?> 
        <input type=text name=line1qty id=line1qty size=3 value=<? echo $line1qty; ?> style="   color: red;text-align: center" onChange="autoSubmit();>
        <? } else { ?> 
        <input type=text name=line1qty id=line1qty size=3 style="color: red;text-align: center"> 
        <? } ?>
        </td>
        <td width=75>
        <input type=text name=line1points id=line1points size=3 disabled>
        </td>

    </tr>

        <?
            }}
        ?>

Еще раз спасибо, благодарю за помощь, которую предоставляет этот форум.

Хорошего дня, Райан

1 Ответ

1 голос
/ 15 декабря 2011

В этих строках:

<form name="theForm" method="get">
<? $line1qty=$_POST[line1qty]; ?>

Вы используете "$ _POST", но ваш метод формы - $ _GET, поэтому используйте $_GET["line1qty"].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...