gulluman1
06-01-2010, 11:46 PM
Hi,
I am trying to store multiple values of a listbox into a single column in MySQL using implode() which I am able to do. But I am having difficulty in retrieving the value and get the listbox with selected items using explode(). Really need some help in this please. Right now when the values gets retrieved the multiple list items don't remain selected due to Undefined Index error. How can I avoid this and fix? Below is the code. Thanks a lot in advance.
<form id="comparison" name="comparison_group" method="post" action="comparison.php?cid=1">
<?php
if (isset($_POST['q_2_2_1_1']))
{
$values = implode(",",$_POST["q_2_2_1_1"]);
$sql1="SELECT * FROM comparison ORDER BY case_id ASC";
$res1=connect($sql1);
$row1 =mysql_fetch_array($res1);
if ($row1['case_id']!=$cid)
{
$query = "INSERT INTO comparison (q_2_1, case_id) VALUES('$values', '$cid')";
connect($query);
}
else
{
$query = "UPDATE comparison SET q_2_1='$values' WHERE case_id='$cid'";
connect($query);
}
$qry="SELECT * FROM comparison WHERE case_id='$cid'";
connect($qry);
$doquery = connect($qry);
$res=mysql_fetch_array($doquery);
$mys = ($res['q_2_1']);
foreach(explode(',', $res['q_2_1']) as $t)
{
//echo $t."<br />";
unset ($_SESSION['S_1']);
unset ($_SESSION['S_2']);
unset ($_SESSION['S_3']);
unset ($_SESSION['S_4']);
unset ($_SESSION['S_5']);
unset ($_SESSION['S_6']);
unset ($_SESSION['S_7']);
$_SESSION['S_'.$t] = $t;
}
echo "<select id='qs_2_2_1_1' name='q_2_2_1_1[]' size='7' multiple >";
if (!empty($_SESSION['S_1']))
{
echo "<option selected='selected' value='1'>Random</option>";
}
elseif(empty($_SESSION['S_1']))
{
echo "<option value='1'>Random</option>";
}
if (!empty($_SESSION['S_2']))
{
echo "
<option selected='selected' value='2'>Convenience</option>";
}
elseif (empty($_SESSION['S_2']))
{
echo "
<option value='2'>Convenience</option>";
}
if (!empty($_SESSION['S_3']))
{
echo "
<option selected='selected' value='3'>Quota</option>";
}
elseif (empty($_SESSION['S_3']))
{
echo "
<option value='3'>Quota</option>";
}
echo "
</select>";
}
else
{
echo "
<select id='qs_2_2_1_1' name='q_2_2_1_1[]' size='7' multiple >
<option value='0'>Random</option>
<option value='1'>Convenience</option>
<option value='2'>Purposive</option>
<option value='3'>Quota</option>
<option value='4'>Subsample from other study</option>
<option value='5'>Other</option>
<option value='8'>Unclear</option>
</select>";
}
?>
<input style='width:200px; font-size:14px; ' type='submit' id ='save' name ='savep_2' value='Save Data' />
</form>
I am trying to store multiple values of a listbox into a single column in MySQL using implode() which I am able to do. But I am having difficulty in retrieving the value and get the listbox with selected items using explode(). Really need some help in this please. Right now when the values gets retrieved the multiple list items don't remain selected due to Undefined Index error. How can I avoid this and fix? Below is the code. Thanks a lot in advance.
<form id="comparison" name="comparison_group" method="post" action="comparison.php?cid=1">
<?php
if (isset($_POST['q_2_2_1_1']))
{
$values = implode(",",$_POST["q_2_2_1_1"]);
$sql1="SELECT * FROM comparison ORDER BY case_id ASC";
$res1=connect($sql1);
$row1 =mysql_fetch_array($res1);
if ($row1['case_id']!=$cid)
{
$query = "INSERT INTO comparison (q_2_1, case_id) VALUES('$values', '$cid')";
connect($query);
}
else
{
$query = "UPDATE comparison SET q_2_1='$values' WHERE case_id='$cid'";
connect($query);
}
$qry="SELECT * FROM comparison WHERE case_id='$cid'";
connect($qry);
$doquery = connect($qry);
$res=mysql_fetch_array($doquery);
$mys = ($res['q_2_1']);
foreach(explode(',', $res['q_2_1']) as $t)
{
//echo $t."<br />";
unset ($_SESSION['S_1']);
unset ($_SESSION['S_2']);
unset ($_SESSION['S_3']);
unset ($_SESSION['S_4']);
unset ($_SESSION['S_5']);
unset ($_SESSION['S_6']);
unset ($_SESSION['S_7']);
$_SESSION['S_'.$t] = $t;
}
echo "<select id='qs_2_2_1_1' name='q_2_2_1_1[]' size='7' multiple >";
if (!empty($_SESSION['S_1']))
{
echo "<option selected='selected' value='1'>Random</option>";
}
elseif(empty($_SESSION['S_1']))
{
echo "<option value='1'>Random</option>";
}
if (!empty($_SESSION['S_2']))
{
echo "
<option selected='selected' value='2'>Convenience</option>";
}
elseif (empty($_SESSION['S_2']))
{
echo "
<option value='2'>Convenience</option>";
}
if (!empty($_SESSION['S_3']))
{
echo "
<option selected='selected' value='3'>Quota</option>";
}
elseif (empty($_SESSION['S_3']))
{
echo "
<option value='3'>Quota</option>";
}
echo "
</select>";
}
else
{
echo "
<select id='qs_2_2_1_1' name='q_2_2_1_1[]' size='7' multiple >
<option value='0'>Random</option>
<option value='1'>Convenience</option>
<option value='2'>Purposive</option>
<option value='3'>Quota</option>
<option value='4'>Subsample from other study</option>
<option value='5'>Other</option>
<option value='8'>Unclear</option>
</select>";
}
?>
<input style='width:200px; font-size:14px; ' type='submit' id ='save' name ='savep_2' value='Save Data' />
</form>