2014-09-18 4 views
0

Хорошо, прежде всего, я искал через www для этого вопроса, и я нашел некоторый вопрос, связанный с массивами, но не точно для моего.Строка из массива из массива из базы данных

Хорошо, так как вы знаете, PayPal разрешает только одну настраиваемую переменную $ POST, но мне нужно собрать идентификатор продукта и количество купленного предмета. Поэтому для этого я сделал свою пользовательскую переменную во что-то, что получало бы сообщение вроде (25-1,12-3,13-4), это означает, что пользователь купил 3 элемента (разделенных запятыми), где первое число id продукта (тогда входит разделитель «-»), а второй - это количество. (так что все они в одной строке и столбце)

Теперь моя проблема отображается в базе данных. Мне нужно получить имя и детали продукта, поэтому мне нужно отделить числа от каждого массива в виде строки и получить данные из базы данных для получения информации о продукте. (Я использую старую версию PHP в любом случае, 5.2, я думаю.) Теперь проблема:

1.) возвращает слово «Массив» (в буквальном смысле), так что бы сказать, как ArrayArrayArray

2.) Как взорвать/отделить эти данные, чтобы я мог получить его, потому что мне нужен идентификатор продукта для получения некоторых других данных ... Я попытался взломать его в массив, а затем снова взломать его, но не работает (скорее всего, код неправильно)

Вот мой код: (я уже подключен к базе данных)

$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 Спасибо, ребята. Простите меня, если я не могу выразить свой вопрос очень хорошо или мой язык не хорош, так как английский не мой первый язык :), Добрый день!

+0

если вы печатаете_r (массив $), прежде чем взорвать его, как это выглядит? –

+0

Он отображает правильный вывод, например, 25-1,13-1, – Jeremy23

ответ

0

Ваши имена переменных смешаны. Внутри Еогеасп петли, вы должны сделать что-то вроде этого

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 остается как есть.

+0

Ничего себе! Думаю, я неправильно понял имена foreach. Мистер, спасибо. Я был рядом, или нет? Хе-хе, в любом случае, я действительно благодарю вас, я счастлив. – Jeremy23

0

Отделите это в нескольких таблицах, никогда не храните неатомные значения в 1 столбце. Конечно, нет, когда они имеют отношение к другой таблице.

Предположим, что вы хотите узнать о продажах определенного продукта за определенный период.

Смежные вопросы