$bancoDeDados = array("Red", "Blue", "Green", "Yellow", "Brown"); $valoreGravados = array("Red" => array( "color" => "Red", "qtd" => "2"), "Blue" => array( "qtd" => "Blue"), "Green" => array( "qtd" => "3") ); function in_multi_array($needle, $haystack) { foreach($haystack as $pos => $val) { if (is_array($val)) { if (in_multi_array($needle, $val)) return 1; } else if ($val == $needle) return 1; } } foreach ($bancoDeDados as $teste) { if (in_multi_array($teste, $valoreGravados)) echo "". $valoreGravados[$teste]['qtd'] ."<br>"; else echo "FALSE <br>\n"; }
O que eu preciso:
No meu sistema, eu terei alguns campos do tipo checkbox, para marcar por exemplo os produtos, porém junto dos produtos, eu preciso colocar a quantidade de cada produto. Desta forma, eu terei um campo de input do tipo text para escrever a quantidade e terei o checkbox para marcar se o produto foi vendido ou não.
Bom, somente com os checkbox é tranquilo, basta fazer produto[] como nome e posso unir todos os valores e criar um array comum, porém o que eu preciso é que os que foram selecionados possam ser mostrados como checked caso precise alterar algo depois. Eu queria fazer um array bi-dimensional da seguinte forma:
Nome do produto -> categoria -> quantidade
Por exemplo: O item é o carro Gol, o qual será o nome de um array, e dentro do array gol, terei a categoria que ele se encontra por exemplo vermelho e a quantidade, 2.
Fazer este array manualmente é sem problemas, porém eu não estou conseguindo fazer de forma dinâmica puxando os valores do banco de dados, pois tenho tudo cadastrado, seria apenas mostrar para o usuário selecionar.
Basicamente, como criar este array direto do banco de dados?
$valoreGravados = array("Red" => array( "color" => "Red", "qtd" => "2"), "Blue" => array( "color" => "Blue", "qtd" => "1"), "Green" => array( "color" => "Green", "qtd" => "3") );
Localizei o seguinte código na internet porém não consegui adaptar o mesmo para o que eu preciso:
$sql = mysql_query("SELECT id, nome FROM cliente"); while( $rs = mysql_fetch_assoc($sql) ) { $sql2 = mysql_query("SELECT id_compra, id_cliente, compra FROM compras WHERE id_cliente=" . $rs['id']); $compras = array(); while( $rs2 = mysql_fetch_assoc($sql2) ) { $compras[] = $rs2; } $rs['compras'] = $compras; $result[] = $rs; } print_r($result);
Grato, tenho uma certa urgência, procurei muito sobre criar arrays mas não achei nada como sendo com mais de 1 valor ou array dentro de array, apenas este acima.