- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
由于数据库的组织方式,我无法将正确的结果集放入 1 行。我使用以下 SQL:
SELECT ord.ID, ord.post_date, ord.post_status, ord.post_type,
meta.meta_value, term.term_id, term.name,
SUBSTRING(meta.meta_value,LOCATE('\"id\";i:', meta.meta_value)+7,3) AS prodID,
user.user_email
FROM wp_posts ord
INNER JOIN wp_postmeta meta ON meta.post_id = ord.ID
INNER JOIN wp_term_relationships rel ON ord.ID = rel.object_id
INNER JOIN wp_terms term on term.term_id = rel.term_taxonomy_id
LEFT JOIN wp_users user ON user.ID = meta.meta_value
WHERE ord.post_type = 'shop_order'
AND (meta.meta_key = '_customer_user' OR meta.meta_key = '_order_items')
AND ord.post_date >= DATE_SUB(NOW(), INTERVAL 2 HOUR)
AND ord.post_status <> 'trash'
AND term.term_id = 34
ORDER BY `ord`.`ID` DESC
结果是:
ID Descending post_date post_status post_type meta_value term_id name prodID user_email
451 2013-02-02 10:24:00 publish shop_order 2 34 processing sales@proxyplayer.co.uk
451 2013-02-02 10:24:00 publish shop_order a:1:{i:0;a:10:{s:2:"id";s:3:"339";s:12:"variation_... 34 processing 338 NULL
理想情况下,我想将 meta.meta_value 恢复为一行,因此,元值 2 将与 a:1:{i:0;a:10:{s:2:"id";i:338;s:12:"variation_id";...
但是,我认为在这种情况下我不能这样做,因为 meta_value 在元表中有 2 个单独的行。
所以,我想我可以在 PHP 中控制它并得到值 2 和值 338。但是我怎样才能在 while 循环中执行此操作?
while ($squid = mysql_fetch_array($result, MYSQL_ASSOC)) {
//1st row
//2nd row
//processing code
}
我是否要在其中放置一个额外的 while 循环以跳过数据库中每 2 行数据?我应该将它加载到数组中并循环遍历数组中的 2 行吗?
最佳答案
您需要在 PHP 中执行此操作是正确的:MySQL 不理解 PHP 的序列化数据格式。
但是,您不需要像您说的那样跳过行。在将存储 $ID -> meta_data 关系的循环外创建一个数组。我不完全知道你想如何连接它们,但看看这个例子。
$squArr = array();
while($squid = mysql_fetch_assoc...) // I'm using fetch assoc so I can use the row names as array indices
{
$rowID = $squid['ID'];
$rowMeta = $squid['meta_value'];
$squArr[$rowID][] = $rowMeta;
}
在这里,这将为每个 ID 创建一个元数据数组。不过,您可以将 while 循环最后一行中的操作替换为不同的操作。
关于PHP,2行合1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14662067/
我以前使用过像 Netbeans 和 eclipse 这样的 IDE。 我在 friend 的电脑上下载了“Visual Studio Express 2013 for windows desktop
我正在尝试弄清楚如何在 GBA 大小的 EZ Flash 3 合 1 卡中对 PSRAM 进行编程。基本上重复 GBA Exploader 和其他程序所做的事情。 如果我选择一个 block 并对其进
Filter1=re.findall(r'',PageSource) Filter2=re.findall(r'',PageSource) Filter3=re.findall(r'(.*?).*?'
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为
我是一名优秀的程序员,十分优秀!