Click to See Complete Forum and Search --> : reusing a mysql_query


Natcon67
05-11-2005, 12:21 PM
This makes sense but it doesn't work!
I have one mysql_query:
$customers = mysql_query("SELECT custID, company FROM customer ORDER BY company") or die(mysql_error());

I want to populate 3 combo boxes with the same data:

<select name="refCompany">
<option value="">Pick one.....</option>
<?php
while ($row1 = mysql_fetch_object($customers)) {
print "<option value=$row1->custID>$row1->company</option>";
}
?>
</select>
<select name="destCompany">
<option value="">Pick one.....</option>
<?php
while ($row1 = mysql_fetch_object($customers)) {
print "<option value=$row1->custID>$row1->company</option>";
}
?>
</select>
<select name="pickUpCompany">
<option value="">Pick one.....</option>
<?php
while ($row1 = mysql_fetch_object($customers)) {
print "<option value=$row1->custID>$row1->company</option>";
}
?>
</select>


When I do this, only the first combo box is populated. The 2 others are empty.


Thanks,

Nate

NogDog
05-11-2005, 01:24 PM
You need to reset the result set back to the first row (numbered 0):

mysql_data_seek($customers, 0);

Natcon67
05-11-2005, 02:56 PM
thanks NogDog!

ShrineDesigns
05-11-2005, 03:36 PM
or you could store the result into an array to do the same thing which will reduce scripts overhead

example:<?php
$data = array();

while($row = mysql_fetch_array($customers, MYSQL_ASSOC))
{
$data[] = $row;
}
@mysql_free_result($customers);
?>
<select name="refCompany">
<option value="">Pick one.....</option>
<?php
while($row = each($data))
{
echo "<option value=\"{$row['custID']}\">{$row['company']}</option>\n";
}
?>
</select>
<select name="destCompany">
<option value="">Pick one.....</option>
<?php
while($row = each($data))
{
echo "<option value=\"{$row['custID']}\">{$row['company']}</option>\n";
}
?>
</select>
<select name="pickUpCompany">
<option value="">Pick one.....</option>
<?php
while($row = each($data))
{
echo "<option value=\"{$row['custID']}\">{$row['company']}</option>\n";
}
?>
</select>