2013-12-11 3 views
-2

У меня есть идентификатор продукта изображения в одной таблице базы данных и изображение Источник в другой таблице. Все они приведены в порядок. В одном порядке может быть более одного изображения. Я пытаюсь отправить каждую фотографию в Pwinty.Соберите информацию из двух таблиц в foreaches

Таким образом, для каждого изображения мне нужно сделать это:

$photo = $pwinty->addPhoto($order, "$size", "$source", "$qty", "ShrinkToFit"); 
// I have not got to the size and qty variable yet 

// Because of that I have this instead 
$photo = $pwinty->addPhoto($order, "4x6", "$source", "1", "ShrinkToFit"); 

Прямо сейчас, потому что они находятся в нескольких таблицах У меня есть следующий код:. (Который не возвращается массив фото выше на всех

// Get the customers pictures for this order 
foreach ($db->query("SELECT * FROM order_products WHERE order_id=$order_id") as $row) 
$picture_info[] = $row; 

if (count($picture_info) > 0): 
    foreach ($picture_info as $row): 

     $product_id = $row['product_id']; 

     echo $product_id; 

     foreach ($db->query("SELECT * FROM products WHERE product_id=$product_id") as $row) 
     $picture_source[] = $row; 

      foreach ($picture_source as $row): 

       $source = $row['product_image']; 

       echo $source; 

       // add some photos 
       $photo = $pwinty->addPhoto($order, "4x6", "$source", "1", "ShrinkToFit"); 


      endforeach; 

    endforeach; 

endif; 

Что она возвращается в:

14138646283376c471632817da60f95964cb2d57dc46.png 
Array 
(
[id] => 7776 
[address1] => 2002 E Blain 
[address2] => 
[postalOrZipCode] => 68460 
[country] => United States 
[addressTownOrCity] => Belvidear 
[recipientName] => Joe Dohn 
[textOnReverse] => Photos by AlphaHQ 
[stateOrCounty] => Kansas 
[status] => NotYetSubmitted 
[payment] => 
[paymentUrl] => 
[photos] => Array 
    (
    ) 

[documents] => Array 
    (
    ) 

[stickers] => Array 
    (
    ) 

    ) 

Посмотрите, как массив изображений пуст Что я нужно исправить?

+0

Просто так ясно все понятно. Нехорошо проголосовать за вопрос, не давая повода. Кроме того, каждый был новичком один раз. Спасибо :) – user2948950

+0

Ничего плохого в том, чтобы быть новичком, но это не позволяет вам избегать правил или требований, а также не изменять тот факт, что люди имеют право на свои собственные причины для downvoting. Где хранится ваше изображение? Какую таблицу? Можете ли вы получить данные изображения без всякого сложного foreach и т. Д.? – James

ответ

-1

Оптимизация Примечание. Вам лучше указать, что вы хотите от оператора select, чем SELECT *. SQL будет выполняться быстрее

Можете ли вы показать нам вывод, который вы получаете от всех ваших эхо?

Также, когда вы эхо-вещи проверяете, полезно добавить текст, описывающий то, что вы эхом отдаете, даже если оно установлено в NULL, вы увидите текст, и теперь эта переменная пуста.

Похоже, что сейчас

foreach ($db->query("SELECT * FROM products WHERE product_id=$product_id") as $row) 

ли на самом деле не получает каких-либо строк.

Простой тест вы можете сделать, это

echo "My row is " + $row + "\n"; 

Таким образом, вы можете видеть, какие строки вы фактически получаете.

+0

Если вы не можете комментировать, просто ответьте на вопросы, где это ответ, помогите улучшить вопросы по редактированию, которые вы получите. Каждый должен был это сделать, и это не займет много времени. Невозможно прокомментировать до тех пор, пока не появится 50 репайтов;) – James

+0

ОК спасибо. Думаю, я могу прокомментировать мои собственные сообщения. * редактирование мой ответ * – wiredniko

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