多个foreach循环用于不同的变量?

时间:2016-07-06 16:49:15

标签: php mysql foreach

foreach ($textAr as $BachelorsDegrees)
{
foreach ($textArCert as $Certifications)
{
foreach ($textArDip as $Diplomas)
{
foreach ($textArAD as $AssociateDegrees)
{
foreach ($textArMD as $MastersDegrees)
{
foreach ($textArDD as $DoctorateDegrees)
{
foreach ($textArSD as $SpecialDegreePrograms)
{

使上述代码工作的最佳方法是什么(它只是整个代码的片段)?每个变量,例如$ BachelorsDegrees,都是HTML表单中的textarea框。我试图将每个textarea框中的值插入到各个行的数据库中。我让它适用于一个textarea盒子,但如何让它适用于多个textarea盒子?

正在考虑做一个if else语句和一个INSERT和UPDATE sql语句,这样当一个foreach循环工作时,它会将数据插入到数据库中,然后循环就会停止,然后一个else语句将用于下一个foreach循环和UPDATE查询将更新同一产品的下一列而不是插入。如果我做了多个INSERT查询,我会为每个变量创建更多行,这是我不想要的。每个变量的值更多行,但不是实际变量的行。每个变量代表一列。

例如,

当来自BachelorsDegrees textarea的值插入其列时,下一个循环将运行(Certifications)到下一列。所以我认为UPDATE查询会有效。这样我就不会在每一栏都有NULLS。

1 个答案:

答案 0 :(得分:0)

如果所有字段(Bachelorsdegree,认证等)的输入数量相等,那么您可以将一个输入字段计数到equation.e.g

$totalinputs=count($textAr);
for($i=0;$i<$totalinputs;$i++){
   $bachelordegree=$textAr[$i];
   $certificate=$textArCert[$i];
   $diploma=$textArDip[$i];
    .....
    .....
    //use above stored variables to insert/update into      your  respective table.

}