Sorry for the never ending flow of questions, but I have another question, that i was looking for some help for regarding a search stock page that i have been building:
As you can see from the code below, the search query outputs a table. The user first checks a row corresponding to an item they want (the RFQ column) and then one of the columns (called Quantity), in where the user can enter a quantity of the product they want. They then click a button and a request for quotation will be sent to the company (at the moment im just trying to echo out the selections made).
// Check if parts have been selected for quotation already
if (isset($_POST['SendRFQ']))
{
$RFQ = $_POST['RFQ'];
$Quantity=$_POST['Quantity'];
$NumberRFQ = count($RFQ);
// List parts selected for quotation
if ($NumberRFQ>0)
{
echo 'RFQs chosen: '.$NumberRFQ.'<br /><br />';
echo 'You chose the following:<br /<br />';
echo '<table border="1" align="center">';
echo '<tr><th>Part Number</th>';
echo "<th>Quantity?</th></tr>";
for ($i=0; $i<$NumberRFQ; $i++)
{
echo '<tr>';
echo '<td>' . $RFQ[$i] . '</td>';
echo '<td>' . $Quantity[$i] . '</td>';
echo '</tr>';
}
echo "</table>";
echo '<br /><br />';
}
else
{
echo 'No parts have been chosen for quotation<br /><br />';
echo '<a href="/search.php">Click here</a> to go back<br /><br />';
}
}
Which kinda works.
If i select say, the first three rows sequentially, the quantities are displayed correctly.
But say i select rows 1, 3 and 5 (and enter quantities as 1, 3 and 5 respectively), then row 1 shows quantity 1, row 2 shows nothing and row 3 shows quantity 3?!
I understand it is becuase the RFQ[] array only contains the checked part numbers, where as the Quantity[] array contains all the cells contents, so the $i dont match - but i have no idea how to correct this?
Question
Bollard
Sorry for the never ending flow of questions, but I have another question, that i was looking for some help for regarding a search stock page that i have been building:
As you can see from the code below, the search query outputs a table. The user first checks a row corresponding to an item they want (the RFQ column) and then one of the columns (called Quantity), in where the user can enter a quantity of the product they want. They then click a button and a request for quotation will be sent to the company (at the moment im just trying to echo out the selections made).
The query and output:
while ($rows = mysql_fetch_array($query)) { echo '<tr>'; echo '<td><input type="checkbox" value="' . $rows['Part Number'] . '" name="RFQ[]"></td>'; echo '<td>' . $rows['Part Number'] . '</td>'; echo '<td>' . $rows['Manufacturer'] . '</td>'; echo '<td>' . $rows['Stock'] . '</td>'; echo '<td><input type="text" value="' . $_POST['Quantity'] . '" name="Quantity[]" tabindex="' . $tabindex++ .'" /></td>'; echo '<td><select name="Delivery" tabindex="' . $tabindex++ .'"> <option value="Any">Any</option> <option value="Emergency">Emergency</option> <option value="Next Day">Next Day</option> <option value="2-3">2-3 Days</option> <option value="4-6">4-6 Days</option> <option value="7-10">7-10 Days</option> <option value="10+">10+ Days</option> </select></td>'; echo '</tr>'; } echo '</table>'; echo $rows; // Send request for quotation echo '<input type="submit" name ="SendRFQ" value="Request Quotation">'; echo '</form>';Which is then displayed:
// Check if parts have been selected for quotation already if (isset($_POST['SendRFQ'])) { $RFQ = $_POST['RFQ']; $Quantity=$_POST['Quantity']; $NumberRFQ = count($RFQ); // List parts selected for quotation if ($NumberRFQ>0) { echo 'RFQs chosen: '.$NumberRFQ.'<br /><br />'; echo 'You chose the following:<br /<br />'; echo '<table border="1" align="center">'; echo '<tr><th>Part Number</th>'; echo "<th>Quantity?</th></tr>"; for ($i=0; $i<$NumberRFQ; $i++) { echo '<tr>'; echo '<td>' . $RFQ[$i] . '</td>'; echo '<td>' . $Quantity[$i] . '</td>'; echo '</tr>'; } echo "</table>"; echo '<br /><br />'; } else { echo 'No parts have been chosen for quotation<br /><br />'; echo '<a href="/search.php">Click here</a> to go back<br /><br />'; } }Which kinda works.
If i select say, the first three rows sequentially, the quantities are displayed correctly.
But say i select rows 1, 3 and 5 (and enter quantities as 1, 3 and 5 respectively), then row 1 shows quantity 1, row 2 shows nothing and row 3 shows quantity 3?!
I understand it is becuase the RFQ[] array only contains the checked part numbers, where as the Quantity[] array contains all the cells contents, so the $i dont match - but i have no idea how to correct this?
Any ideas?
Cheers
Link to comment
Share on other sites
20 answers to this question
Recommended Posts