Using Variable in MySQL query

Hi everone.

Having a problem with getting the values from a database.

What im trying to do is:
I use variable ‘varname’ from packaging_items table (values are coressponding to the names of columns in packaging table … pack01, pack02 … and so on).
But in query result1 instead of getting the value of (pack01, pack02 …) i get the names of columns (pack01, pack02 …)
Here is my short code: (ofcourse there is more to it, but this bit is most important)

$result = mysql_query("SELECT * FROM packaging_items") or die(mysql_error());
while($row = mysql_fetch_array($result)) {
	$data1 = $row['varname'];
	$name = $row['name'];
	$price = $row['price'];

$result1=mysql_query("SELECT `$data1` FROM packaging WHERE orderno='$orderno' LIMIT 1") or die(mysql_error());
while($row1 = mysql_fetch_array( $result1 )) {
	if ( $data1 == '' ) {} else {
	echo" <tr><td>$name</td><td>$data1</td><td>£$price</td><tr>"; }
}
}

Im stuck here, tried some other options … and only get worst…

What do i wrong … if someone can help will be nice.

Thank you in advance!

for example when i hardcode the query, results are ok and that is what i want to achive here

$result1=mysql_query(“SELECT pack01 FROM packaging WHERE orderno=‘$orderno’ LIMIT 1”) or die(mysql_error());
while($row1 = mysql_fetch_array( $result1 )) {
$pack01 = $row1[‘pack01’];
echo “$pack01”;
}

You really should normalize your database IMO.

To see what the problem in your query is, do an echo of
“SELECT $data1 FROM packaging WHERE orderno=‘$orderno’ LIMIT 1”

got it fixed …

    $result1=mysql_query("SELECT ".$data1." as data1 FROM packaging WHERE orderno='$orderno' LIMIT 1") or die(mysql_error());
while($row1 = mysql_fetch_array( $result1 )) {
	$data =  $row1['data1'];
if ( $data == '' ) {} else { echo" <tr><td>$name</td><td>$data</td><td>£$price</td><tr>"; }

}