جميل foreach ؛)
جرب هذا:
foreach($splitproductsarray as $dsid => $values) {
$sql = "select email from " . TABLE_DROP_SHIPPERS . " where id = " . $dsid . " LIMIT 1";
// do your query
}
سؤال
لدي وظيفة foreach التي تجمع مجموعة من المنتجات ، إلى صفائف منفصلة اعتمادًا على "dsid":
$products_array = array();
$products_query = tep_db_query("select products_id, products_name, drop_ship_id from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$orders['orders_id'] . "' order by products_name");
while ($products = tep_db_fetch_array($products_query)) {
$products_array[] = array('id' => $products['products_id'],
'text' => $products['products_name'],
'dsid' => $products['drop_ship_id'],);
}
<?php
$products = array();
foreach($products_array as $current) {
$dsid = $current['dsid'];
$products[$dsid][] = $current;
}
$splitproductsarray = array_values($products);
?>
الآن أحتاج إلى أخذ SplitproductSarray [] ومقارنة كل مجموعة من "DSID" بجدول آخر مع رسائل البريد الإلكتروني للسفن:
"select email from " . TABLE_DROP_SHIPPERS . " where id = splitproductsarray[]"
كيف يمكنني تعيين بريد إلكتروني محدد لمجموعة فردية من المنتجات مع نفس DSID؟ أي مساعدة موضع تقدير!
المحلول
جميل foreach ؛)
جرب هذا:
foreach($splitproductsarray as $dsid => $values) {
$sql = "select email from " . TABLE_DROP_SHIPPERS . " where id = " . $dsid . " LIMIT 1";
// do your query
}
نصائح أخرى
أعتقد أنك تريد
$all_ids=implode(',', $splitproductsarray);
"select email from " . TABLE_DROP_SHIPPERS . " where id IN =($all_ids)"