【问题标题】:multiple foreach loops for different variables?不同变量的多个foreach循环?
【发布时间】:2016-07-06 16:49:14
【问题描述】:
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)
{

使上述代码工作的最佳方法是什么(它只是整个代码的 sn-p)?每个变量,例如 $BachelorsDegrees,都是 HTML 表单中的一个文本区域框。我正在尝试将每个文本区域框中的值以单独的行插入到数据库中。我让它适用于一个 textarea 框,但如何使它适用于多个 textarea 框?

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

例如,

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

【问题讨论】:

  • 你能添加你的表定义吗?这些文本框是否相互依赖?据我了解,您不需要嵌套循环。只需编写 7 个单独的循环。还是您只是想避免多次编写插入代码?这就是上帝创造函数的原因。

标签: php mysql foreach


【解决方案1】:

如果所有字段(学士学位、证书等)的输入数量相等,则可以将一个输入字段计入方程式。例如

$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.

}

【讨论】:

    猜你喜欢
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 2021-01-25
    • 2011-05-08
    • 2021-12-02
    • 2013-05-27
    • 1970-01-01
    • 2017-08-27
    相关资源
    最近更新 更多