Autor Tema: PHP Parse error: syntax error, unexpected 'if' (T_IF), expecting ',' or ';' in  (Leído 5785 veces)

RAM47

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 14
    • Ver Perfil
Necesito crear un código en php que muestre un grupo de imágenes y que aplique un vínculo condionado según la imagen:

Código: [Seleccionar]
<!DOCTYPE HTML>
<html lang="">
<head>
    <meta charset="UTF-8">
    <title>galeria</title>
</head>
<body>

<?php//defino un directorio    $pathA = "images/";     //creo un array    $ArrayA=Array();//abro función glob para incluir imágenes en array    foreach(glob($pathA . '*.jpg') as $imageA) {$ArrayA[]=$imageA;}//inicio buclefor($n = 1; $n <= count($ArrayA); $n++):    //href dada una imagen se va a la misma//sino se va a la imagen anterior   echo '<a href= "'if ($miArray[$i] == $miArray[5]) { echo $miArray[5] } else if ($miArray[$i] == $miArray[$n-1]) { echo $miArray[$i-1] }'">' .    //etiqueta img src dentro de etiqueta href para mostrar imágenes  '<img src= "' . $miArray[$i] . '">' . '</a>' .    '</a>';     endfor;    ?>

</body>
</html>

como es href dentro de php se enreda todo. El código me indica el siguiente error:
Parse error: syntax error, unexpected 'if' (T_IF), expecting ',' or ';' in C:...php on line 26

la línes 26 es
Código: [Seleccionar]
echo '<a href= "'if ($miArray[$i] == $miArray[5]) { echo $miArray[5] } else if ($miArray[$i] == $miArray[$n-1]) { echo $miArray[$i-1] }'">' .

Agredezco cualquier ayuda.
« Última modificación: 20 de Noviembre 2016, 20:26 por Ogramar »

Lorenzo31

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 381
    • Ver Perfil
Re:problemas con href condicional en php
« Respuesta #1 en: 12 de Noviembre 2016, 00:20 »
Madre mia que lio tienes ahi montado jjjjj

Voy a suponer que tu lógica es correcta para no ponerme a mirarla, eso de array es = a array[5]... tu sabras el motivo :)

Código PHP
Código: [Seleccionar]
<?php//defino un directorio    $pathA = "images/";     //creo un array    $ArrayA=Array();//abro función glob para incluir imágenes en array    foreach(glob($pathA . '*.jpg') as $imageA) {$ArrayA[]=$imageA;}$imagenesHtml = '';//inicio buclefor($n = 1; $n <= count($ArrayA); $n++){$imagenesHtml .= ($miArray[$i] == $miArray[5]) ? '<a href= "'.$miArray[5].'">'.'</a>' :                               ($miArray[$i] == $miArray[$n-1] ? '<a href="'.$miArray[$i-1].'">'.'<img src= "' . $miArray[$i] . '">' . '</a>' : '' ); }?>


Codigo HTML

Código: [Seleccionar]
<!DOCTYPE HTML>
<html lang="">
<head>
    <meta charset="UTF-8">
    <title>galeria</title>
</head>
<body>
<?= $imagenesHtml  ?>
</body>
</html>

No tengo ni idea de porque usas $i como indice porque no lo has declarado antes, creo que deberias pensar hacer el curso de la web de PHP, te irá bien. Saludos
https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".