Question

J'ai une fonction foreach qui regroupe un éventail de produits, en tableaux séparés en fonction du «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);
?>

Maintenant, j'ai besoin de prendre des producteurs fractionnés [] et de comparer chaque groupe de "DSID" à une autre table avec les e-mails de navire:

"select email from " . TABLE_DROP_SHIPPERS . " where id = splitproductsarray[]"

Comment puis-je attribuer un e-mail spécifique à un groupe individuel de produits avec le même DSID? Toute aide est appréciée!

Était-ce utile?

La solution

Beau foreach;)

Essaye ça:

foreach($splitproductsarray as $dsid => $values) {
    $sql = "select email from " . TABLE_DROP_SHIPPERS . " where id = " . $dsid . " LIMIT 1";
    // do your query
}

Autres conseils

Je pense que tu veux

$all_ids=implode(',', $splitproductsarray);

"select email from " . TABLE_DROP_SHIPPERS . " where id IN =($all_ids)"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top