Ik heb een array die er het volgende gegevens


Array ( [winkelmandje] => Array ( [0] => 17 [1] => 2 [2] => 2 [3] => 3 )


Dit zijn id's van producten

nu wil ik met de volgende query de producten tonen op de website

"SELECT * FROM producten WHERE product_id=????";


Hoe krijg ik nu uit die array al die id's een voor een in die query..
[code]
$selection = '';
foreach ( $arr['winkelmandje'] as $ids ) {
$selection .= ( $selection == '' ) ? sprintf ( "%u, ", $ids ) : sprintf ( ",%u", $ids );
}

$q = sprintf ( "SELECT * FROM producten WHERE product_id IN (%s)",
$ids );
De query opnemen in een foreach loop?
<?php
$winkelmandje = array(17, 2, 2, 3);

foreach($winkelmandje as $product)
{
$sql = "SELECT * FROM producten WHERE product_id = ".$product;
// Query natuurlijk nog wel even uitvoeren...
}
?>

ps. Oplossing van Sebas is nog iets beter aangezien je de query dan maar 1x uitvoert...
<?php
$winkelmandje = array(17, 2, 2, 3);
$sql = "SELECT * FROM producten WHERE product_id IN (".implode(', ', $winkelmandje.")";
?>

verbeterd
die geeft een error :P $product kent ie niet :)


	$winkelmandje = array(17, 2, 2, 3);
			$sql = "SELECT merk, naam FROM product WHERE product_id IN ('.implode(', ', $winkelmandje.')";
				
				print $sql;
				
				$result= mysql_query($sql);
				
				while($output = mysql_fetch_array($result)){
	
				echo "<td>$output[merk]</td>
					  <td>$output[naam]</td>
				"
				;
				
				}				
			





Is nu mijn code, en geeft nog steeds 0 resultaat

print query geeft dit weer



SELECT merk, naam FROM product WHERE product_id IN ('.implode(', ', Array.')
verander $sql in
$sql = "SELECT merk, naam FROM product WHERE product_id IN (".implode(', ', $winkelmandje.")";

Reageren