php - 使用单个 PHP 结果集填充 2 列 HTML 表

标签 php html mysql wordpress

请原谅我,因为我是 PHP 初学者。

我正在尝试用库存信息填充 2 个两列表。使用我当前的代码,我有下图: Inventory

我想在这张表中有两个相邻的商店。即Store Number 2和Store Number 7在表的表行,然后Store 10和11在同一行,依此类推。以下是我目前使用的代码:

global $wpdb;

$result = $wpdb->get_results( 
    $wpdb->prepare( "
        SELECT STORE_NAME,REPLACE(STORE_NAME, ' ', '-') as STOREURL, INVENTORY, STORE_NUMBER FROM StoreInventory 
        WHERE SKU = %s", 
        $product_sku 
    ) 
);

if ($result){
    echo '<table class=\'inventory\'>';
    foreach($result as $row) {
        echo '<tr><td><div><a href=\'https://mystore.com/stores/'. $row->STOREURL . '\' target=\'_parent\'>Store Number: ' . $row->STORE_NUMBER . '</a><br/>' .$row->INVENTORY. ' on hand. </div></td></tr>';
    }
    echo '</table>';
} else {
    echo '<table class=\'nostock\'><td>This item is out of stock, check back later for updated information!</td></table>';
}

我遇到的问题是我逐行遍历记录集,并将数据添加到每一行。我试图在一个循环中有一个循环,这不会给我正确的结果。

是否可以将结果集拆分为两个多维数组并分别循环每个数组然后将它们添加到表中?我可以在循环中调用带有计数器的特定行吗?

任何建议或指示都会有很大帮助。

最佳答案

一种相对简单的方法是创建一个虚拟变量来存储该列。例如:

$column_number = 0;
echo '<table class=\'inventory\'><tr>';
foreach($result as $row) {
    echo '<td><div><a href=\'https://mystore.com/stores/'. $row->STOREURL . '\' target=\'_parent\'>Store Number: ' . $row->STORE_NUMBER . '</a><br/>' .$row->INVENTORY. ' on hand. </div></td>';
    $column_number += 1;
    if ($column_number == 2) {
        echo '</tr><tr>';
        $column_number = 0;
    }
}
echo '</tr></table>';

关于php - 使用单个 PHP 结果集填充 2 列 HTML 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56466068/

相关文章:

javascript - 为什么我的窗口滚动事件根本不触发。其他答案没解决

mysql - SQL 查询中的 Join + 日期条件

php - 从订单表中查找新买家和回头客

php - PHP 中的正则表达式命名捕获组

PHP date() 仅适用于 1970 - 2038

php - 函数 edit() 的语法文件夹存储库

php - 防止 html/php 表单超时

html - 允许页面特定部分的响应式 iframe - 怎么样?

javascript - div 上的 keyup for backspace 不提醒键码

mysql - 如何优化每个用户的自定义搜索结果