2017-08-06 116 views
1

我试图从SQL数据库中打印出条目。有些条目是图片,我想解析这些图片并将其放入适当的HTML标记中。如何从foreach循环的下一次迭代中获取值

数据库实例

id | datatype | typetext 

78 | paragraph | "hello" 
79 | image  | "image.jpg" 
80 | paragraph | "goodbye" 

datatype意味着什么类型的数据被存储在一个给定的行,我要赶时datatype值是“形象”一栏 - 然后跳转到在typetext列之后,为此图像准备适当的标记。

例如,什么我试图做一些伪代码:

if(column is datatype){ 
    if(datatype == 'image'){ 
     echo '<p>' . data inside accompanying typetext column . '</p>'; 
    } 
} 

这里是我当前的代码:

//the array of the blog entry 
foreach($entry as $key => $entryUnit){ 

    //the array of the entry unit 
    foreach($entryUnit as $column => $cell){ 

     if($column == 'datatype'){ 
      if($key == 'image'){ 
       echo '<br/>'; 
       echo '<p style="color: pink;">' $cell . $entryUnit[$column + 1] . '</p>'; 
       echo '<br/>'; 
      } 
     } 

     else if($column == 'typetext'){ 
      echo '<br/>'; 
      echo $cell; 
      echo '<br/>'; 
     } 
    } 
} 

在第一if声明,我尝试跳转至下一栏echo '<p style="color: pink;">' $cell . $entryUnit[$column + 1] . '</p>';,但这不起作用。

我也尝试利用next()功能,如:

echo '<p>' . next($cell) . '</p>';` 

..但是这也是因为我认为这将是行不通的。

回答

3

你不需要嵌套循环foreach,你可以在短短一个简单foreach循环的一切。

foreach($entry as $entryUnit){ 
    if($entryUnit['datatype'] == "image"){ 
     echo '<br/>'; 
     echo '<p style="color: pink;">' . $entryUnit['typetext'] . '</p>'; 
     echo '<br/>'; 
    }elseif($entryUnit['datatype'] == "paragraph"){ 
     echo '<br/>'; 
     echo $entryUnit['typetext']; 
     echo '<br/>'; 
    } 
} 
+0

这样做。感谢您的澄清和帮助。 – rpivovar

2

Somethink像这应该工作:

//the array of the blog entry 
foreach($entry as $key => $entryUnit){ 
$i=0; 
    //the array of the entry unit 
    foreach($entryUnit as $column => $cell){ 

     if($column == 'datatype'){ 
      if($key == 'image'){ 
$i++; 
       echo '<br/>'; 
       echo '<p style="color: pink;">' $cell . $entryUnit[$i] . '</p>'; 
       echo '<br/>'; 
      } 
     } 

     else if($column == 'typetext'){ 
      echo '<br/>'; 
      echo $cell; 
      echo '<br/>'; 
     } 
    } 
} 
+0

我不知道是否在第一个循环内或两个循环外部重置$ i,并检查增量是否仅在$ key =='image'或其他情况下增量。 –

相关问题