2014-02-07 44 views
0

不知道我怎么可能措辞。基本上我试图做到这一点,以便当我添加另一个$directory时,我所要做的就是更新它,$results并添加另一个与$directory['databaseName']同名的MySQL列。我的困难在于我的管理小组;为了检查描述条目(通过MySQL数据库)作业类型的所有框,我将不得不使用复杂的for循环,并在其中包含if语句。也许你可以弄清楚我正在尝试做什么并帮助我。这一点,如果我能得到的$directory[$i]['databaseName']值,并将其插入到if声明,看看是否$results与价值都将工作,因为它的主要等于1我可以使用变量的值作为if语句中的键插入吗?

$directory= 
     array(
      array(
       'linkName' => 'Screen Room', 
       'path' => 'sr', 
       'databaseName' => 'ScreenRoom', 
      ), 
      array(
       'linkName' => 'Glass Window', 
       'path' => 'gw', 
       'databaseName' => 'GlassWindow', 
      ), 
      array(
       'linkName' => 'Roof-Under-Deck', 
       'path' => 'rd', 
       'databaseName' => 'RoofUnderDeck', 
      ), 
     ); 
$results = array(
       'ID' => '', 
       'Invoice' => '', 
       'FirstName' => '', 
       'LastName' => '', 
       'ImagesBefore' => '', 
       'ImagesAfter' => '', 
       'Description' => '', 
       'Testimonial' => '', 
       'Date' => '', 
       'GlassWindow' => '0', 
       'ScreenRoom' => '0'); 
for ($i=0; $i < count($directory); $i++) { 
    if ($results["$directory[$i]['databaseName']"] === 1) { 
     echo '<input type="checkbox" checked> ' . $directory[$i]['linkName']; 
    } 
    else 
     echo '<input type="checkbox"> ' . $directory[$i]['linkName']; 
    } 
} 

回答

2

为什么不将其分配给一个变量& 使用它保持它的简单。还可以使用isset沿,以确保它真的存在,

$key = $directory[$i]['databaseName']; 
if (isset($results[$key]) && $results[$key] == 1) { 
    echo '<input type="checkbox" checked> ' . $directory[$i]['linkName']; 
} 
else{ 
    echo '<input type="checkbox"> ' . $directory[$i]['linkName']; 
} 

DEMO

+0

这似乎是我回答自己的同样的事情,但更多的结构和组织。由于您在自己使用的更有组织的布局,因此我会将您标记为我自己的正确答案。 – Clucky

0

它实际上是一个相当简单的修复,我初步认为是行不通的。我想这就是为什么你永远不要第一次尝试你的第一想法时再次猜测自己。对于未来可能遇到同样问题的人,这里是我使用的解决方案。我只是删除了"环绕声$directory[$i]['databaseName']并将===更改为仅==

for ($i=0; $i < count($directory); $i++) { 
    if ($results[$directory[$i]['databaseName']] == 1) { 
     echo '<input type="checkbox" checked>' . $directory[$i]['linkName']; 
    } 
    else { 
     echo '<input type="checkbox">' . $directory[$i]['linkName']; 
    } 
} 
相关问题