ccc

Arrays asociativos: Crear un array asociativo a partir de los datos de una BD

<?php
function recorrer($array, $arrCombo) {
    foreach ($array as $i=>$valor) {
$output = '';
switch ($array[$i]["tipo"]) {
case "text":
$output .= $array[$i]["caption"];
$output .= '<input class="formu" type="text" id="'.$i.'" name="'.$i.'"><br/>';
break;
case "hidden":
$output .= '<input type="hidden" value="'.$array[$i]["valor"].'" id="'.$i.'" name="'.$i.'">';
break;
case "combo":
$output .= $array[$i]["caption"];
$output .= '<select id="'.$i.'" name="'.$i.'">';

foreach ($arrCombo as $k=>$item) {
if ($k == $i) {
$registro = $item["registro"];
for ($p=0; $p < count($registro); $p++) {
    $output .= '<option value="'.$registro[$p][$item["id"]].'">'.$registro[$p][$item["texto"]].' </option>';
}
break;

}
}
$output .= '</select><br>';
}
echo $output;
} // foreach
}

 $arrReg = array(
"nombre" => array("caption" => "Nombre", "tipo" => "text"),
"provincia" => array("caption" => "Provincia", "tipo" => "combo"),
"formas_pago" => array("caption" => "Formas de pago", "tipo" => "combo"),
"campo_oculto" => array("caption" => "", "tipo" => "hidden", "valor" => "123"),
 );

  $sql_aux = 'select id, nom_provincia from provincias order by nom_provincia';
  $reg_prov = $bd->getRegistro($sql_aux);
  $sql_aux = 'select id, forma_pago from formas_pago';
  $reg_pago = $bd->getRegistro($sql_aux);
   
 $arrCombo = array(
     "provincia" => array("registro" => $reg_prov, "id" => "id", "texto" => "nom_provincia"),
     "formas_pago" => array("registro" => $reg_pago, "id" => "id", "texto" => "forma_pago"),
  );
 
  recorrer($arrReg, $arrCombo);
?>

No hay comentarios:

Publicar un comentario