无法从php中的while循环中获取值

as you see in this code i made a table by selecting models from table in my database.. however i posted the return of the select query to be like the primary column for this table and put it into the while loop so it keeps generating rows till the models which came with the select query be finished now i got a a problem when i'm trying to get this models in a $_Post[''] supergloble it keeps send me only the last value it gets from the loop my question is how to get each and every value from the this loop to use it in a single insert query in my DB?

and sorry for the bad English :S !!

<form class="form-signin" action="<?php $_SERVER['PHP_SELF'];?>" method="Post">
<?php
$models = mysql_query("SELECT `Model_Name` FROM `models` WHERE `Brand` = 20");
while($row = mysql_fetch_array($models))
    {
    echo '
    <tr>
    <td><input type="text" name="mode[]" value="'.$row['Model_Name'].'"></td>
    <td><input type="text" name="sellout[]" value=""></td>
    <td><input type="text" name="shelfshare[]" value=""></td>
    <td><input type="text" name="price[]" value=""></td>
    <td><input type="text" name="Shortage[]" value=""></td>
    <td><input type="text" name="Inventory[]" value=""></td>
     </tr>

    ';
    }

    ?>

</form>

the inserting script

$date = date("Y-m-d");
foreach($_POST['mode'] as $key => $mode){
$sellout = $_POST['sellout'][$key];
$shelfshare = $_POST['shelfshare'][$key];
$price = $_POST['price'][$key];
$shortage = $_POST['shortage'][$key];
$inventory = $_POST['inventory'][$key];
mysql_query("INSERT INTO `smartdailyreport`(`SFO_Code`, `Model`, `Sell_Out`, `Shelf_Share`, `Price`, `Shortage`, `Inventory`, `Date`) VALUES ('".mysql_real_escape_string($_SESSION['idd'])."','".mysql_real_escape_string($mode)."','".mysql_real_escape_string($sellout)."','".mysql_real_escape_string($shelfshare)."','".mysql_real_escape_string($price)."','".mysql_real_escape_string($shortage)."','".mysql_real_escape_string($inventory)."','".mysql_real_escape_string($date)."')") or die(mysql_error());
}

Make the name of those inputs an array :

 <tr>
<td><div class="col3" align="center"><input type="text" name="mode[]" class="form-control" value="'.$row['Model_Name'].'"></div></td>
<td><div class="col3" align="center"><input type="text" name="sellout[]" class="form-control" value=""></div></td>
<td><div class="col3" align="center"><input type="text" name="shelfshare[]" class="form-control" value=""></div></td>
<td><div class="col3" align="center"><input type="text" name="price[]" class="form-control" value=""></div></td>
<td><div class="col3" align="center"><input type="text" name="Shortage[]" class="form-control" value=""></div></td>
<td><div class="col3" align="center"><input type="text" name="Inventory[]" class="form-control" value=""></div></td>
 </tr>

Then when you process the form:

foreach($_POST['mode'] as $key=>$mode){
    $thisIsOne = $_POST['mode'][$key];
    $alsoThisOne = $_POST['sellout'][$key];
    etc...
}

I'll put my comments into an answer for you...

You've got $POST as your $mode value, fix that up. (or remove it, $mode is already defined from the foreach)

Put your query inside your foreach loop, otherwise you just overwrite those variables each time you iterate, then insert the last one at the end

Put mysql_error into the die callback of mysql_query to show you an error if there is one (if you want to)

$date = date("Y-m-d");
foreach($_POST['mode'] as $key => $mode){
    $sellout = $_POST['sellout'][$key];
    $shelfshare = $_POST['shelfshare'][$key];
    $price = $_POST['price'][$key];
    $shortage = $_POST['shortage'][$key];
    $inventory = $_POST['inventory'][$key];
    mysql_query("INSERT INTO `smartdailyreport`(`SFO_Code`, `Model`, `Sell_Out`, `Shelf_Share`, `Price`, `Shortage`, `Inventory`, `Date`) VALUES ('".mysql_real_escape_string($_SESSION['idd'])."','".mysql_real_escape_string($mode)."','".mysql_real_escape_string($sellout)."','".mysql_real_escape_string($shelfshare)."','".mysql_real_escape_string($price)."','".mysql_real_escape_string($shortage)."','".mysql_real_escape_string($inventory)."','".mysql_real_escape_string($date)."')") or die(mysql_error());
}

Lastly, use mysqli_* instead of mysql as mysql has been deprecated for some time now. And also, use mysqli_real_escape_string or similar to escape your POST variables and save you from SQL Injection