【问题标题】:Dynamic links for different pages不同页面的动态链接
【发布时间】:2015-07-31 09:40:24
【问题描述】:

我想使用for 循环生成项目列表。项目列表将出现在下拉菜单中的标题元素下方。

这是我的代码:

<div class="container div_scroll">
<?php if($data->results()){

?>
<div class="row">
<div class="panel panel-default">
<div class="panel-heading ">
<h4 class="panel"> <?php echo $state_decode . ' : ' . count($data -> results()); ?>
</h4>
</div>

<table class="table table table-striped table-bordered table-hover">
<thead>
<tr>
<th class="col-md-1">S.N.</th>
<th class="col-md-1">ENQ No</th>
<th class="col-md-1">ENQ Date</th>
<th class="col-md-3">ENQ Descr</th>
<th class="col-md-1">Tender Ref</th>
<th class="col-md-2">Cust Name</th>
<th class="col-md-2">Project Name </th>
<th class="col-md-1">Action</th>

</tr>
</thead>
<tbody>
<?php
switch($state) {
	case "draft" :
		$heading = 'Edit';
		$url = array('new_eis_form1.php','http://google.com');
		$menu = array('Modify','Attach Files','Add Equipment');
		$param = '';
		$btn = array('btn btn-info','btn btn-info','btn btn-info');
		$id_name = 'enq';
		break;
	case "submit" :
		$url = 'http://google.com';
		$action = 'View';
		$param = '';

		break;
		break;
	case "recvd" :
		$url = 'new_eis_form1.php';
		$action = 'Edit';
		$param = '';
		break;

	case "not_recvd" :
		$url = 'new_eis_form1.php';
		$action = 'Edit';
		$param = '';
		break;
	case "hold" :
		$url = 'new_eis_form1.php';
		$action = 'Edit';
		$param = '';
		break;

	case "wo1_pend" :
		$url = 'new_eis_form1.php';
		$action = 'Edit';
		$param = '';
		break;
	case "cancel" :
		$url = 'new_eis_form1.php';
		$action = 'Edit';
		$param = '';
		break;
}

foreach ($data -> results() as $test) {
	$param = $test -> ENQ_NO;
	echo "<tr>
<td class=\"col-md-1\">" . ++$slno . "</td>
<td class=\"col-md-1\">" . $test -> ENQ_NO . "</td>
<td class=\"col-md-1\">" . $test -> ENQ_DATE . "</td>
<td class=\"col-md-3\">" . $test -> ENQ_DESR . "</td>
<td class=\"col-md-1\">" . $test -> TENDER_REF_NO . "</td>
<td class=\"col-md-2\">" . $test -> CUST_NAME . "</td>
<td class=\"col-md-2\">" . $test -> PROJ_NAME . "</td>
<td class=\"col-md-1\"><div class=\"dropdown\">
								<button class=\"btn btn-primary dropdown-toggle\" type=\"button\" data-toggle=\"dropdown\">".$heading."
									<span class=\"glyphicon glyphicon-th-list\"></span>
								<span class=\"caret\"></span></button>
								<ul class=\"dropdown-menu pull-right\">".
								
								for($i=0;$i<count($menu);$i++){echo "<li><a href=\".$url[$i]."?".$id_name."=".$param.\">".oper($menu[$i],$btn[$i])."</a></li>";
								}
								
								"</ul>
								</div></td>
<td class=\"col-md-2\"></td>

</tr>";
	/* oper() function is in coomon.php; uses two inputs one is btn display label and oter is btn style class */
}

// }
?>
</tbody>
</table>
</div>
</div>

<?php }else{ ?>
<div class="row">
<div class="panel panel-primary">
<div class="panel-heading ">
<h4 class="panel">Alert</h4>
</div>
<div class="panel panel-body">
<h4 class="body panel">There is no enquiry; If you want to add enquiry details please <a href="eis_form_eqp.php"><span class="glyphicon glyphicon-link "><u>click here</u></span> </a>.</h4>
</div>
</div>
</div>
<?php } ?>
</div>

但是,问题是:

  1. 我无法将此处的 for-loop 与 PHP 中的字符串连接起来。
  2. 我在 PHP 中使用 HTML 而不是在 HTML 中使用 PHP,因为它破坏了引导元素的功能。

&lt;td class=\"col-md-1\"&gt;&lt;div class=\"dropdown\"&gt; &lt;button class=\"btn btn-primary dropdown-toggle\" type=\"button\" data-toggle=\"dropdown\"&gt;".$heading." &lt;span class=\"glyphicon glyphicon-th-list\"&gt;&lt;/span&gt; &lt;span class=\"caret\"&gt;&lt;/span&gt;&lt;/button&gt; &lt;ul class=\"dropdown-menu pull-right\"&gt;". for($i=0;$i&lt;count($menu);$i++){echo "&lt;li&gt;&lt;a href=\".$url[$i]."?".$id_name."=".$param.\"&gt;".oper($menu[$i],$btn[$i])."&lt;/a&gt;&lt;/li&gt;"; } "&lt;/ul&gt; &lt;/div&gt;&lt;/td&gt;

【问题讨论】:

  • 请发布您的包含 php 代码的 for 循环
  • 请格式化您的问题
  • 我已经粘贴了页面的完整代码。
  • 重新排序段落和拼写检查。

标签: php loops for-loop concatenation


【解决方案1】:

类似的东西?

$str = '';
for ($i = 0; $i < count($menu); $i++) {
    $str .= '<li>
               <a href="' . $url[$i] . '?'.$id_name.'='.$param.'">'. oper($menu[$i],$btn[$i]).'</a>
            </li>';
}

$html = '<td class="col-md-1">
            <div class="dropdown">
                <button class="btn btn-primary dropdown-toggle"
                        type="button" data-toggle="dropdown">'.$heading.'<span class="glyphicon glyphicon-th-list"></span>
                    <span class="caret"></span>
                </button>
                <ul class="dropdown-menu pull-right">
                    ' . $str . '
                </ul>
            </div>
        </td>';

【讨论】:

  • 感谢您的回答,您拯救了我的一天
  • 我的代码相同,我得到“未定义的偏移量:E:\Internet\Intra\eq_info\ooplr\eis_enq_status.php 第 191 行中的 2”
  • 这是什么意思,我该如何摆脱这段代码
  • 偏移量是数组()中的索引。所以尝试调试。你能在 185 到 195 之间发表你的行吗?
  • 数组中的偏移量 - 因为所有数组的大小不同
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-25
  • 1970-01-01
  • 2019-02-07
  • 2016-09-08
  • 1970-01-01
  • 1970-01-01
  • 2011-08-30
相关资源
最近更新 更多