<?php
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM Users where ID = ?";
$q = $pdo->prepare($sql);
$q->execute(array($id));
$data = $q->fetch(PDO::FETCH_ASSOC);
Database::disconnect();
$Columnas = array
(
array("User"),
array("Password"),
);
foreach ($Columnas as $value)
{
echo "<div class='control-group'>";
echo " <label class='control-label'>$value[0]</label>";
echo " <div class='controls'>";
echo " <label class='checkbox'>";
echo " <?php echo $data['" . $value[0] . "'];?>"; ---------->ACA NO FUNCIONA
echo " </label>";
echo " </div>";
echo "</div>";
}
?>
Mi lógica es hacer que que tome las columnas para hacer un html y que a su vez tome el valor correspondiente desde
$data, pero me muestra un mensaje de error:
"Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)"
Alguno tiene alguna idea de como hacer funcionar éso? en realidad no son 2 campos boludos, son como 10 y con esa lógica no tengo que andar metiendo mucho html.
También probé así:
echo " <label class='checkbox'>";
echo " $data['$value[0]']";
echo " </label>";
Hola,
Cuando quieres imprimir un array, usa comillas dobles " para la cadena y usa {} para englobar la variable que es un array.
echo "<label class='checkbox'>{$data[$value[0]]}</label>";
Saludos!
Cita de: xiruko en 2 Febrero 2017, 16:59 PM
Hola,
Cuando quieres imprimir un array, usa comillas dobles " para la cadena y usa {} para englobar la variable que es un array.
echo "<label class='checkbox'>{$data[$value[0]]}</label>";
Saludos!
JOJO esa solución es mágica, funciona perfectamente, inclusive alterando el orden los campos!
Muchísimas gracias!! voy a buscar información sobre éso.