来自数据库中数组的数组中的字符串

时间:2014-09-18 18:19:27

标签: php arrays multidimensional-array

好的,首先,我通过www搜索了这个问题,我发现了一些与数组有关的问题但不完全是我的问题。

好的,您可能知道,paypal只允许一个自定义变量为$ POST但我需要收集产品ID和购买商品的数量。所以为了做到这一点,我把我的自定义变量变成了一个像(25-1,12-3,13-4)这样的帖子,这意味着,用户购买了3个项目(用逗号分隔),其中第一个数字是产品ID(然后是分隔符' - '进来),第二个是数量。 (所以他们都在同一行和列中)

现在我的问题是从数据库中显示它。我需要获取产品名称和详细信息,这就是为什么我需要将每个数组中的数字作为字符串分开,并从数据库中获取数据以获取产品信息。 (无论如何,我使用旧版本的PHP,5.2,我猜。)现在的问题是:

1。)它返回单词' Array' (字面意思)所以它会说像ArrayArrayArray

2.。)我如何分解/分离这些数据,以便我可以得到它,因为我需要产品ID来获取其他一些数据...我尝试将其爆炸成阵列,然后再次爆炸,但不是工作(很可能是我的代码错了?)

这是我的代码:(我已经连接到数据库)

$data = mysql_query("SELECT * from transactions") or die(mysql_error()); 
/* My table tag and headers goes here */
while($info = mysql_fetch_array( $data )) {
    echo "<tr>";
    echo '<td>' . $info['id'] . '</td>';
    echo "<td>";
    $array = $info['product_id_array'];
    $explode_array = explode(",", $array);
    foreach($explode_array as $explode_more){
        $explode_more = explode("-", $explode_array);
        $prod_id = $explode_more[0];
        $quantity = $explode_more[1];
        print_r($prod_id); //should echo the 25 in the array (25-1), right?
        print_r($quantity);
    }

    echo"</td>";
    echo"<tr>";
}

如果只有paypal允许多个自定义变量T_T谢谢大家。请原谅我,如果我不能很好地表达我的问题,或者我的语言不好,因为英语不是我的第一语言:),美好的一天!

2 个答案:

答案 0 :(得分:0)

您的变量名称混淆了。在foreach循环中,你应该做这样的事情

foreach($explode_array as $explode_more){
    $explode_even_more = explode("-", $explode_more);
    $prod_id = $explode_even_more[0];
    $quantity = $explode_even_more[1];
    print_r($prod_id); //should echo the 25 in the array (25-1), right?
    print_r($quantity);
}

请注意,$explode_more在循环内使用,$explore_array保持不变。

答案 1 :(得分:0)

在多个表中分隔它,绝不将非原子值存储在1列中。 当然不是当他们与另一张桌子有关系时。

假设您想知道某个时期某某产品的销售情况。