Parse Error Subvariable como index

Iniciado por Miseryk, 2 Febrero 2017, 16:47 PM

0 Miembros y 1 Visitante están viendo este tema.

Miseryk

Código (php) [Seleccionar]

<?php
$pdo Database::connect();

$pdo->setAttribute(PDO::ATTR_ERRMODEPDO::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í:

Código (php) [Seleccionar]

echo " <label class='checkbox'>";
echo " $data['$value[0]']";
echo " </label>";
Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It's never too late to change our luck
So, don't let them steal your light
Don't let them break your stride
There is light on the other side
And you'll see all the raindrops falling behind
Make it out tonight
it's a revolution

CL!!!

xiruko

Hola,

Cuando quieres imprimir un array, usa comillas dobles " para la cadena y usa {} para englobar la variable que es un array.

Código (php) [Seleccionar]
echo "<label class='checkbox'>{$data[$value[0]]}</label>";

Saludos!

Miseryk

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.

Código (php) [Seleccionar]
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.
Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It's never too late to change our luck
So, don't let them steal your light
Don't let them break your stride
There is light on the other side
And you'll see all the raindrops falling behind
Make it out tonight
it's a revolution

CL!!!