有没有办法为数组添加某种参数(还有未知变量)?正如你在这里看到的,我不提前知道userID(在获取mysql之前),所以我无法正确地形成一个导致编辑页面的链接。
<?php
$box = array ('1'=>"<a href='edit.php?id=/PROBLEM??/'>edit</a>",'2'=>'Cannot edit');
while ($row = mysql_fetch_array($something)) {
?>
<tr>
<td><?php echo $row["Name"]; ?></td>
<td><?php echo $box[$row["editable"]]; ?></td>
</tr>
<?php
}
?>
$ row [“editable”]返回1或2,取决于数据库记录 如果用户可编辑,则返回。
答案 0 :(得分:4)
您可以使用sprintf()
:
$box = array ('1'=>"<a href='edit.php?id=%d'>edit</a>",'2'=>'Cannot edit');
echo sprintf($box[$row["editable"]], ID_HERE)
答案 1 :(得分:1)
这样做......
<?php while ($row = mysql_fetch_array($something)) : ?>
<tr>
<td><?php echo $row["Name"]; ?></td>
<?php if( $row["editable"] === 1 ) : ?>
<td><a href='edit.php?id=<?php echo $row["Id"]; ?>'>edit</a></td>
<?php else : ?>
<td>Cannot edit</td>
<?php endif; ?>
</tr>
<?php endif; ?>
答案 2 :(得分:1)
$box = array ('1'=>"<a href='edit.php?id=%ID%'>edit</a>",'2'=>'Cannot edit');
$link = str_replace('%ID%', $row["id"], $box[$row["editable"]]);