PHP - Principiante error unexpected "while" (T_WHILE)

 
Vista:
sin imagen de perfil
Val: 47
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Principiante error unexpected "while" (T_WHILE)

Publicado por Diego (37 intervenciones) el 07/11/2014 00:37:30
Buenas tardes. Hace algunos dias empece a conocer el lenguaje, soy un simple aficionado, pero me interesa aprender y poder utilizarlo para mejorar mi negocio.
Hice un codigo muy sencillo (perdon para los que saben) pero me da un error con una estructura while. Lo unico que pretendo hacer es leer una tabla de una base de datos y mostrar los resultados en una tabla. El tema es que el código es casi calcado de un tutorial que encontré, pero a mi no me funciona. Donde puede estar el error? Utilizo la ultima version de Xammp.

este es el error: Parse error: syntax error, unexpected 'while' (T_WHILE) in http://localhost/sitio_de_pruebas/mostrar.php

Les dejo el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$conexion=mysqli_connect("localhost","root","");
mysqli_select_db($conexion, "hotel");
$resultado=mysqli_query($conexion, "select * from tbldisponible");
 
?>
	<table border="2" bordercolor="blue">
	<td>####</td>
	<td>FECHA</td>
	<td>DISPONIBLE</td>
 
 
	<?php
	$i=0
	while ($fila = mysqli_fetch_array($resultado)){
			$i++;
	?>
	<tr>
	<td><?php echo $i?> </td>
	<td><?php echo $fila['fecha']?></td>
	<td><?php echo $fila['disponible']?> </td>
	</tr>
	<?php
	}
	mysqli_close($conexion);
	?>
	</table>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Principiante error unexpected 'while' (T_WHILE)

Publicado por NepT1 (31 intervenciones) el 07/11/2014 07:20:40
Cambia las ultimas lineas

<?
$i=0
while ($fila = mysqli_fetch_array($resultado)){
$i++;
}
?>

dejaste el while abierto al finalizar el codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Principiante error unexpected 'while' (T_WHILE)

Publicado por Diego (37 intervenciones) el 07/11/2014 13:12:08
Hola NepT1. Te agradezco tu tiempo. Si te fijas mas abajo el while esta cerrado en el próximo bloque php, porque en medio hay html que es el que va dibujando la tabla mientras haya registros en la base de datos.
Igualmente probé como vos me decis pero el error es el mismo. Si funcionara, igual no me dibujaria la tabla.
Lo mas extraño es que exactamente el mismo codigo (cambiando solo nombre de variables) a otra persona le funciona. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Principiante error unexpected 'while' (T_WHILE)

Publicado por NepT1 (31 intervenciones) el 07/11/2014 19:37:32
Vaya, es uno de los típicos fallos tontos, el $i=0 no tiene el ; final, también me fije que te dejaste un </tr> al final de la linea donde aparece el "Disponible"

Aún así yo te recomiendo dejarlo de esta manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?
$conexion=mysqli_connect("localhost","root",""); mysqli_select_db($conexion, "hotel");
$resultado=mysqli_query($conexion, "select * from tbldisponible");
?>
<table border="2" bordercolor="blue"><td>####</td><td>FECHA</td><td>DISPONIBLE</td></tr>
<?
$i=0;
while ($fila = mysqli_fetch_array($resultado)){
 echo "<tr><td>".$i."</td><td>".$fila['fecha']."</td><td>".$fila['disponible']."</td></tr>"; $i++;
}
mysqli_close($conexion);
?>
</table>

Queda mas corto y fácil de entender en una sola linea.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 47
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Principiante error unexpected 'while' (T_WHILE)

Publicado por Diego Leonard (37 intervenciones) el 08/11/2014 00:19:12
Muchas gracias NepT1 por tu tiempo!! Te cuento que corregí lo que me marcaste y sigue sin funcionar...pero lo copié tal cual me lo pasaste vos y ahi si !!!! Funciona perfecto. Evidentemente tengo muuuucho por aprender. Muchas gracias nuevamente por tu tiempo. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Principiante error unexpected 'while' (T_WHILE)

Publicado por NepT1 (31 intervenciones) el 08/11/2014 18:22:02
Me alegro que te funcione, como te recomende anteriormente, intenta hacer las lineas lo mas cortas posibles, mientras mas texto, mas posibles errores, tambien no cortes un while con htm, es decir

1
2
3
4
5
<?
while ($A < $B){
 $A++; echo $A."<br>";
}
?>

en lugar de:

1
2
3
4
5
6
7
8
<?
while ($A < $B){
 $A++; echo $A;
?>
<br>
<?
}
?>

Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Principiante error unexpected "while" (T_WHILE)

Publicado por Pablo (1 intervención) el 01/07/2021 20:37:08
Hola, se que respondo con 7 años de retraso...
El error es debido a que la sentencia de arriba no esta cerrada con punto y coma:
$i=0
while(....
A mi me ha pasado lo mismo y he estado 30 minutos hasta darme cuenta...
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar