Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Else if

Estas en el tema de Else if en el foro de PHP en Foros del Web. Hola, muy buenas. Dispongo de esto: Y me da el siguiente error: (No me deja poner el else if). Código: Parse error: syntax error, unexpected ...
  #1 (permalink)  
Antiguo 08/12/2013, 04:28
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 5 años, 10 meses
Puntos: 9
Else if

Hola, muy buenas.

Dispongo de esto:

Y me da el siguiente error: (No me deja poner el else if).

Código:
Parse error: syntax error, unexpected end of file in C:\myxampp\htdocs\ee\index.php on line 244
Código PHP:
Ver original
  1. <?php
  2.  
  3.      $pg = ((isset($_GET['page']) && !empty($_GET['page'])) ? (int) $_GET['page'] : 1);
  4. $cantidad = 10;
  5. $inicio = ($pg-1) * $cantidad;
  6.  
  7. $registros = mysqli_query($conexion, "SELECT count(*) as Total FROM mensajes") or die(mysqli_error($conexion));
  8. $regs = mysqli_fetch_assoc($registros);
  9.  
  10. $paginas = floor($regs['Total'] / $cantidad);
  11.  
  12. if ($pg <= ($paginas+1) && $pg > 0 && !((isset($_GET['page']) && $_GET['page'] == 0))) {
  13.         $few3 =  mysqli_query($conexion, "SELECT rango FROM ses WHERE id = '".$_SESSION['id']."'")or die(mysqli_error());
  14.         $row3 = mysqli_fetch_assoc($few3);
  15.         if($row3['rango'] == '0'){
  16.         $sql111 = mysqli_query($conexion, "SELECT * FROM mensajes WHERE para='".$_SESSION['usuario']."' ORDER BY id DESC LIMIT 40")or die(mysqli_error());
  17.             while($cose = mysqli_fetch_assoc($sql111)){
  18.         echo "<div class='msg1'></div>  <div class='msg2'> <div class='msg4'><a href='http://localhost/sendse/?id=".$cose['ID']."&secret=".$cose['secret']."'>".$cose['asunto']."</a></div><div class='msg5'><a href='http://localhost/perfil/".$cose['de']."'>".$cose['de']."</div><div class='msg6'>".$cose['fecha']."</div> </div>  <div class='msg3'></div><div class='pasoespacio'></div>";
  19.         }
  20.         else if($row3['rango'] == '1'){
  21.         $sql111 = mysqli_query($conexion, "SELECT * FROM mensajes WHERE para='".$_SESSION['usuario']."' ORDER BY id DESC LIMIT 100")or die(mysqli_error());
  22.             while($cose = mysqli_fetch_assoc($sql111)){
  23.         echo "<div class='msg1'></div>  <div class='msg2'> <div class='msg4'><a href='http://localhost/ee/?id=".$cose['ID']."&secret=".$cose['secret']."'>".$cose['asunto']."</a></div><div class='msg5'><a href='http://localhost/perfil/".$cose['de']."'>".$cose['de']."</div><div class='msg6'>".$cose['fecha']."</div> </div>  <div class='msg3'></div><div class='pasoespacio'></div>";
  24.         }
  25.     }
  26.      
  27.     if($pg > 1) {
  28.         $ant = $pg - 1;
  29.         echo "<div class='yacentercontent'><a href=\"{$_SERVER["PHP_SELF"]}?page=1\">Primera</a></div>";
  30.         echo "<div class='yacentercontent'> <a href=\"{$_SERVER["PHP_SELF"]}?page=$ant\">Anterior</a></div>";
  31.     }
  32.    
  33.     if($pg <= $paginas) {
  34.         $sig = $pg + 1;
  35.         echo " <div class='yacentercontent'><a href=\"{$_SERVER["PHP_SELF"]}?page=$sig\">Siguiente</a></div>";
  36.         $ult = $paginas + 1;
  37.         echo " <div class='yacentercontent'><a href=\"{$_SERVER["PHP_SELF"]}?page=$ult\">Última</a></div> ";
  38.     }
  39.  
  40. } else {
  41.     echo 'La pagina solicitada no existe';
  42. }
  43.  
  44. ?>

Un cordial saludo.
  #2 (permalink)  
Antiguo 08/12/2013, 07:31
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 6 años, 11 meses
Puntos: 83
Respuesta: Else if

Te falta un } antes de la linea 20:else if($row3...

Indenta bien el codigo, de esa forma verás las llaves que faltan y que sobran; en este caso te falta cerrar la llave del if anterior, pero como está mal indentado la } que tienes en la linea 19 es la que cierra el while pero parece que sea la del if

Saludos
vosk
  #3 (permalink)  
Antiguo 08/12/2013, 07:37
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 5 años, 10 meses
Puntos: 9
Respuesta: Else if

Gracias, era eso.

Por cierto, ¿sabrías decirme cómo puedo hacer para cuándo llegue al limite de motrar resultados... salga un mensaje?.

Saludos.
  #4 (permalink)  
Antiguo 08/12/2013, 07:54
Avatar de gustavopino  
Fecha de Ingreso: septiembre-2011
Ubicación: venezuela
Mensajes: 152
Antigüedad: 7 años, 10 meses
Puntos: 29
Respuesta: Else if

crea una condición dentro del while
__________________
Visita a Publiventa donde compras y vendes de todo
  #5 (permalink)  
Antiguo 08/12/2013, 08:04
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 5 años, 10 meses
Puntos: 9
Respuesta: Else if

Hasta hay llego, xd

Pero no se que consulta hacerle.

Por que la consulta tiene un LIMIT 10

Y quiero que cuando llegue a mostrar 10... salga un mensajes.

Pero no se hacerlo para que haga referencia al limit 10
  #6 (permalink)  
Antiguo 08/12/2013, 08:55
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 6 años, 11 meses
Puntos: 83
Respuesta: Else if

Eso mismo que te comenta @gustavopino, un if cuando llega a 10 pones lo que quieras. De todas formas creo no entiendo la pregunta: si limitas la consulta a 10, entonces solo mostraras el mensaje cuando la longitud de la llista de resultados sea 10, y ademas sabras que el nº10 es el ultimo

Código PHP:
Ver original
  1. $limit = 10;
  2. $datos= mysqli_query(...) or die;
  3. if($datos->num_rows == $limit) {
  4.     //el ultimo de la lista será el 10
  5.     //despues del ultimo muestras el mensaje
  6. }
  7. else {
  8.     //no hubo datos disponibles para llegar a 10 elementos
  9.     //no muestras el mensaje
  10. }

Saludos
vosk

Etiquetas: fecha, mysql, registro, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:49.