Jump to content

unable to retrieve selected array values [php]


shamxx

Recommended Posts

To generate the stockroom drop down list
 

    function einv_generateStockrmSelectDropdown($Stockrm,$field,$dropdown) {
    //connect to database
base_connectDatabase();
echo "<select id=\"stockrm\" name=\"".$field."[]\" multiple=\"multiple\" style=\"align:left\" class=\"form-control\">";
 
if (isset($Stockrm) && ($Stockrm != "")) {
$stockrmname = einv_getStockrmDetail($Stockrm);
echo "<option value=\"". $Stockrm ."\">". $stockrmname['einv_stockrm_name'] ."</option>";
} else {
$Stockrm = 0;
}
$getStockrmSQL = base_executeSQL("SELECT * FROM einv_stockroom WHERE einv_stockrm_id<>" . $Stockrm . " ORDER BY einv_stockrm_name");
while ($Stockrmdata_row = base_fetch_array($getStockrmSQL)) {
if (base_num_rows($getStockrmSQL)!= 0) {
 echo "<option value=\"".$Stockrmdata_row['einv_stockrm_id']."\">".$Stockrmdata_row['einv_stockrm_name']."</option>";
}
}
    echo "</select>";
echo "<script src=\"../terms_base/js/jquery.multiple.select.js\"></script>";
 
//Input some codes to split the dropdown and make it into the setSelects. By default, the first time = AutoSelectAll
if(isset($dropdown) && ($dropdown != "")) { //dropdown = 1;2;3
$SDDArrays = explode(";", $dropdown);
$countTrap0 = count($SDDArrays);
$drop = "$('#stockrm').multipleSelect(\"setSelects\", [";
$counting = 1;
foreach ($SDDArrays as &$value) {
if ($countTrap0 != $counting) {
$drop .= "'". $value . "',";
} else {
$drop .= "'". $value . "'";
}
$counting++;
}
$drop .= "]);\n";
} elseif (isset($dropdown)) { //dropdown=
$drop = "$('#stockrm').multipleSelect(\"uncheckAll\")";
} else { //
$drop = "$('#stockrm').multipleSelect(\"checkAll\")";
}
 
echo "<script>\n";
echo "$(function() {\n";
echo "".$drop."";
echo "});\n";
echo "$(\"#stockrm\").multipleSelect({ onClose: function() {
                document.getElementById('search').click();
            }});\n";
echo "$(\"#stockrm\").multipleSelect();\n";
echo "</script>";
 
    //close the database
    base_closeDatabase();
    }

 add stockroom function
 

    //This function is use to add new stock room
    //code = stock room code
    //name = stock room name
    //desc = stock room description
    //remark = stock room remark
    //cat = stock room category
 

 
    function einv_addStockrm($code,$name,$desc,$remark,$cat)
    {
    //connect to database
    base_connectDatabase();
    $User = base_getUserDetail($_SESSION['uID']);
 
base_executeSQL("INSERT INTO einv_stockroom (einv_stockrm_code, einv_stockrm_name, einv_stockrm_desc, einv_stockrm_remark, einv_stockrm_cat)
VALUES ('" . $code . "', '" . $name . "', '" . $desc . "', '" . $remark . "', '" . $cat . "')");
 
base_addTransactionLog('Manage Stock Room', 'Add',
"
Stock Room Code = " . $code . " ||
Stock Room Name = " . $name . " ||
Stock Room Description = " . $desc . " ||
Stock Room Remark = " . $remark . " ||
Stock Room Category = " . $cat . "
");
//go to stock room page
echo '<script type="text/javascript">' . "\n";
echo 'window.location="../einventory/stockrm_list.php";';
echo '</script>';
    //close the database
    base_closeDatabase();
    }

 
 
Edit stockroom
 

    function einv_editStockrm($srid,$code,$name,$desc,$remark,$cat)
    {
    //connect to database
    base_connectDatabase();
   
    $User = base_getUserDetail($_SESSION['uID']);
    $Stockroom = einv_getStockrmDetail($srid);
    base_executeSQL("UPDATE einv_stockroom
    SET einv_stockrm_code='" . $code . "',
    einv_stockrm_name='" . $name . "',
    einv_stockrm_desc='" . $desc . "',
    einv_stockrm_remark='" . $remark . "',
    einv_stockrm_cat = '" . $cat . "'
    WHERE einv_stockrm_id=" . $srid . "");
   
    base_addTransactionLog('Manage Stock Room', 'Edit',
    "
    Stock Room Code = " . $code . " ||
    Stock Room Name = " . $name . " ||
    Stock Room Description = " . $desc . " ||
    Stock Room Remark = " . $remark . " ||
    Stock Room Category = " . $cat . "
    ");
    //go to stock room page
    echo '<script type="text/javascript">' . "\n";
    echo 'window.location="../einventory/view_stockrm.php?id='. $srid .'";';
    echo '</script>';
   
   
   
    //close the database
    base_closeDatabase();
    }

 
 

 

 
I have a dropdown list named **Stockroom** where it displays an array of values.
 
Example:
 
**Stockroom**
 
 1. [A]
 2.
 3. [C]
 
When user clicks on [A], it will display relevant data fields that [A] possess (appears below stockroom ddl). 
 
And as user clicks on , there is an onchange function that will then show data fields (fields in A is deleted and replaced with B).
 
I am able to add the initial values however, as i want to edit and change the stockroom from [A] to which will result in a whole new data to be stored, i am unable to do so. 
 
Any ideas?
 
I believe i have to amend my edit stockroom function where i require a set of coding such as
 
If the array is selected, i have to delete existing data and add new data in accordance to the selected ID.

Edited by mac_gyver
code tags around posted code please
Link to comment
Share on other sites

Any ideas?

 

 

nope. your description of what the problem is, isn't clear. is the problem when you are trying to edit/update an existing record or when you are trying to create/insert a new record? does your form even have a way of entering the data for a new record?

 

just posting the code snippets of three functions doesn't tell us what your main code is, how it is using those functions, or how it is using the submitted data from the form.

 


 

btw - your functions are poorly written. they look like you took your main code and wrapped function definitions around parts of it.

 

you should not be making/closing a database connection inside each function that needs to use the database. your main code should be making the database connection, which you pass as a call time parameter into any function that needs it. and because your base_connectDatabase() function isn't returning any sort of connection variable, your functions that actually use that connection are probably using the global keyword to access the database connection.

 

your functions should each only do what their name implies -

 

the drop down function should only generate the drop down (the multi-select javascript in that function shouldn't be part of that function and it should be written using a class selector, not an id selector, so that you can use it for multiple drop downs on the page.)

 

you should not be redirecting in the add/edit functions. it's your main code that should control what happens on the page.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.