这是我的代码。它显示了完美的输出,但是显示了一个php错误,它是 这是我的代码。它显示了完美的输出,但是显示了一个php错误
type InferableMappedSelector<S> = <T extends any[]>(...values: T) => MappedSelector<S, T>
function createInferredSelector<S>(): InferableMappedSelector<S> {...}
const inferredSelectorCreator = createInferredSelector<string>()
const fooSelector: Selector<string, number> = s => s.length;
const barSelector: Selector<string, string> = s => s.trim();
const selectors: [Selector<string, string>, Selector<string, number>] = [barSelector, fooSelector]
const baz = inferredSelectorCreator(selectors)
baz // is Selector<string, [never]>, not Selector<string, [number, string]>
未定义变量:id。
答案 0 :(得分:2)
您尝试连接$id
变量,但尚未在任何位置进行设置,因此未定义。您只需在while循环之前定义它即可,
<tbody>
<?
$id = "";
while ($row = mysqli_fetch_array($result)) {
$sum+= $row["Price"];
$id .= $row["id"] . ",";
echo "<tr><td>" . "#" . $row["id"] . "</td><td>" . $row["Name"] . "</td><td>Rs " . $row["Price"] . "</td><td><a href='cart-remove.php?id={$row['id']}' class='remove_item_link'> Remove</a></td></tr>";
}
$id = rtrim($id, ", ");
echo "<tr><td></td><td>Total</td><td>Rs " . $sum . "</td><td><a href='success.php?itemsid=" . $id . "' class='btn btn-primary'>Confirm Order</a></td></tr>";
?>
</tbody>
这将解决您的问题,但请检查@devpro答案。他正在使用一种更优雅的解决方案和更好的方法。
答案 1 :(得分:2)
您还可以通过以下方式获得所需的结果:
示例:
$idArray = array(); // initialize array
while () { // your while loop
$idArray[] = $row["id"]; // save id into an array
}
$id = implode(',', $idArray); // now you can use this variable as you need.
在这里,我正在将$id
保存到一个数组中。那么您只需要使用implode()
方法即可。
使用此方法,您无需使用trim()
方法来删除最后一个逗号(,)
侧面说明:这只是使用array
和implode()
的示例。