Autor Tema: PHP Parse error: syntax error, unexpected 'if' (T_IF), expecting ',' or ';' in  (Leído 4552 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 bucle
for($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 bucle
for($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".