...

View Full Version : Unable to select option in dropdownlist.



airy
08-03-2012, 11:56 PM
Why couldnt i select the options in drop down list?
anyone knows how?


:confused:
add.php

<?php
if (!defined('WEB_ROOT')) {
exit;
}

$catId = (isset($_GET['catId']) && $_GET['catId'] > 0) ? $_GET['catId'] : 0;

$categoryList = buildCategoryOptions($catId);
?>
<p>&nbsp;</p>
<form action="processProduct.php?action=addProduct" method="post" enctype="multipart/form-data" name="frmAddProduct" id="frmAddProduct">
<table width="100%" border="0" align="center" cellpadding="5" cellspacing="1" class="entryTable">
<tr><td colspan="2" id="entryTableHeader">Add Product</td></tr>
<tr>
<td width="150" class="label">Category</td>
<td class="content"> <select name="cboCategory" id="cboCategory" class="box">
<option value="" selected>-- Choose Category --</option>
<?php
echo $categoryList;
?>
</select></td>
</tr>
<tr>
<td width="150" class="label">Product Name</td>
<td class="content"> <input name="txtName" type="text" class="box" id="txtName" size="50" maxlength="100"></td>
</tr>
<tr>
<td width="150" class="label">Description</td>
<td class="content"> <textarea name="mtxDescription" cols="70" rows="10" class="box" id="mtxDescription"></textarea></td>
</tr>
<tr>
<td width="150" class="label">Price</td>
<td class="content"><input name="txtPrice" type="text" id="txtPrice" size="10" maxlength="7" class="box" onKeyUp="checkNumber(this);"> </td>
</tr>
<tr>
<td width="150" class="label">Qty In Stock</td>
<td class="content"><input name="txtQty" type="text" id="txtQty" size="10" maxlength="10" class="box" onKeyUp="checkNumber(this);"> </td>
</tr>
<tr>
<td width="150" class="label">Image</td>
<td class="content"> <input name="fleImage" type="file" id="fleImage" class="box">
</td>
</tr>
</table>
<p align="center">
<input name="btnAddProduct" type="button" id="btnAddProduct" value="Add Product" onClick="checkAddProductForm();" class="box">
&nbsp;&nbsp;<input name="btnCancel" type="button" id="btnCancel" value="Cancel" onClick="window.location.href='index.php';" class="box">
</p>
</form>




functions.php

function buildCategoryOptions($catId = 0)
{
$sql = "SELECT cat_id, cat_parent_id, cat_name
FROM tbl_category
ORDER BY cat_id";
$result = dbQuery($sql) or die('Cannot get Product. ' . mysql_error());

$categories = array();
while($row = dbFetchArray($result)) {
list($id, $parentId, $name) = $row;

if ($parentId == 0) {
// we create a new array for each top level categories
$categories[$id] = array('name' => $name, 'children' => array());
} else {
// the child categories are put int the parent category's array
$categories[$parentId]['children'][] = array('id' => $id, 'name' => $name);
}
}

// build combo box options
$list = '';
foreach ($categories as $key => $value) {
$name = $value['name'];
$children = $value['children'];

$list .= "<optgroup label=\"$name\">";

foreach ($children as $child) {
$list .= "<option value=\"{$child['id']}\"";
if ($child['id'] == $catId) {
$list.= " selected";
}

$list .= ">{$child['name']}</option>\r\n";
}

$list .= "</optgroup>";
}

return $list;
}

Len Whistler
08-04-2012, 12:01 AM
A good way to be-bug PHP is to look at the browser source code, in Firefox its View Page Source. Then you can pinpoint the error in the HTML code and fix the PHP code.

airy
08-04-2012, 12:07 AM
A good way to be-bug PHP is to look at the browser source code, in Firefox its View Page Source. Then you can pinpoint the error in the HTML code and fix the PHP code.

Firefox? I will try it (: thankyou!! (:

airy
08-04-2012, 12:15 AM
hmmm, i'm not sure how to use it. can anyone help ?

DrDOS
08-04-2012, 12:17 AM
Your select box doesn't even have a tag, it also needs a name and a value. Without a value it will just send the index and you will have to fetch the value out of an array.

Len Whistler
08-04-2012, 12:21 AM
hmmm, i'm not sure how to use it. can anyone help ?

Right click the webpage and the dialog box should come up, then go to View Page Source.

airy
08-04-2012, 12:34 AM
hmmm... im still unsure of what to do. do you mind tell me which part to change?
and i think there's value retrieving from database? Sorry, im new to php, really dont know what to do about it

Len Whistler
08-04-2012, 12:42 AM
hmmm... im still unsure of what to do. do you mind tell me which part to change?
and i think there's value retrieving from database? Sorry, im new to php, really dont know what to do about it

Your problem appears to be an HTML issue. By viewing the browser source code of the webpage you can see what is missing and fix the PHP to output the proper HTML for the drop down menu.

Can you post the HTML that is outputted by the PHP?

airy
08-04-2012, 10:42 AM
<td class="label" width="150">Category</td>
<td class="content">
<select id="cboCategory" class="box" name="cboCategory">
<option selected="" value="">-- Choose Category --</option>
<optgroup label="Tops"></optgroup>
<optgroup label="Dress"></optgroup>
<optgroup label="Sweater"></optgroup>
</select>
</td>

AndrewGSW
08-04-2012, 09:46 PM
There are no values in the drop-down for you to select. Either the SQL statement doesn't retrieve any data, or the code that follows it doesn't successfully construct the options for the drop-down.

Test your SQL statement in phpMyAdmin:


SELECT cat_id, cat_parent_id, cat_name
FROM tbl_category
ORDER BY cat_id

I didn't notice a submit button anywhere..?



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum