Foros del Web » Programando para Internet » PHP »

Mostrar mensaje para cuando no se reciban consultas en la db

Estas en el tema de Mostrar mensaje para cuando no se reciban consultas en la db en el foro de PHP en Foros del Web. Hola, bueno tengo un archivo php llamado articulos.php que es el archivo que muestra las "noticias" de mi blog, lo que quiero es que cuándo ...
  #1 (permalink)  
Antiguo 13/10/2013, 11:41
 
Fecha de Ingreso: julio-2013
Mensajes: 39
Antigüedad: 10 años, 9 meses
Puntos: 0
Mostrar mensaje para cuando no se reciban consultas en la db

Hola, bueno tengo un archivo php llamado articulos.php que es el archivo que muestra las "noticias" de mi blog, lo que quiero es que cuándo no hayan articulos subidos en la DB muestre un mensaje como NO HAY ARTICULOS AUN.
Si alguien puede ayudarme, aquí dejo mi archivo PHP.

Código:
<?php
include("config.php");

if(isset($_GET['articulo'])) {
  if(!empty($_GET['articulo'])) {
	$id_articulo = (int) mysql_real_escape_string($_GET['articulo']);
	$query_articulos = mysql_query("SELECT * FROM ".$db_table." WHERE id = '".$id_articulo."' LIMIT 1");
	if(mysql_num_rows($query_articulos) > 0)
	{
		while($columna = mysql_fetch_assoc($query_articulos)) {
		  echo '
			<title>'.$columna['titulo'].' - LetsUp</title>
			
	  <table width="100%" border="0" cellpadding="0" cellspacing="0">
		<tr>
		  <td id="titulo_articulo">
			<div class="titulo_articulo">'.$columna['titulo'].'</div>
		  </td>
		</tr>
		<tr>
		  <td id="extras_articulo">
			<span id="autor_articulo">&nbsp;&nbsp;&nbsp;</span>
			<span class="autor_articulo">'.$columna['autor'].'</span>
			<span id="fecha_articulo">&nbsp;&nbsp;&nbsp;&nbsp;</span>
			<span class="fecha_articulo">'.$columna['fecha'].'</span>
		  </td>
		</tr>
		<tr>
		  <td id="articulo">
			<center><img src="'.$columna['imagen'].'" class="imagen_articulo_interior"></center>
			<div class="texto_articulo">'.$columna['texto'].'</div>
		  </td>
		</tr>
		<tr>
		  <td id="botones_articulo">
			<input type="button" value="Atr&aacute;s" onClick="window.location = \'javascript:window.history.back()\';" class="boton_atras">
		  </td>
		</tr>
	  </table>';
			}
	}
	else {
	  echo 'El post que solicitas, no existe.';
	}
	}
	else {
	  echo 'Debes seleccionar un post.';
	}
}
else {
	$query_articulos = mysql_query("SELECT * FROM ".$db_table." order by id DESC LIMIT 9999999");
	$limite = 800;	  // Caracteres máximos a mostrar en el índice
	while($columna = mysql_fetch_assoc($query_articulos))

	$noRegistros = 5; // Número de noticias por página
	$pagina = 1;	  // Página con la que iniciara
	if($_GET["pagina"])
	$pagina = $_GET["pagina"];

	//Utilizo el comando LIMIT para seleccionar registros
	$sSQL = "SELECT * FROM ".$db_table." order by id DESC LIMIT ".($pagina-1)*$noRegistros.",$noRegistros";
	$result = mysql_query($sSQL) or die(mysql_error());
	while($row = mysql_fetch_array($result)) {
	$html_permitidos = '<b><a><i><s><br><hr>';
	$noimagen = strip_tags($row['texto'], $html_permitidos);
	echo"
	<title>LetsUp</title>
	
	  <table width='100%' border='0' cellpadding='0' cellspacing='0'>
		<tr>
		  <td id='titulo_articulo'>
			<a href='?articulo=".($row['id'])."' class='titulo_articulo'>".($row['titulo'])."</a>
		  </td>
		</tr>
		<tr>
		  <td id='extras_articulo'>
			<span id='autor_articulo'>&nbsp;&nbsp;&nbsp;</span>
			<span class='autor_articulo'>".($row['autor'])."</span>
			<span id='fecha_articulo'>&nbsp;&nbsp;&nbsp;&nbsp;</span>
			<span class='fecha_articulo'>".($row['fecha'])."</span>
		  </td>
		</tr>
		<tr>
		  <td id='articulo'>
			<img src='".($row['imagen'])."' class='imagen_articulo'>
			<span class='texto_limit'>".substr($noimagen, 0, $limite)."</span>
		  </td>
		</tr>
		<tr>
		  <td id='botones_articulo'>
			<input type='button' value='Leer' onClick='window.location = \"?articulo=".($row['id'])."\";' class='boton_leer'>
		  </td>
		</tr>
	  </table>";
}

	echo"<table border='0' align='right' cellpadding='0' cellspacing='0' class='paginacion_articulos'><tr><td>";
	//Imprimiendo páginas
	$sSQL = "SELECT count(*) FROM ".$db_table."";
	$result = mysql_query($sSQL);
	$row = mysql_fetch_array($result);
	$totalRegistros = $row["count(*)"];
	$noPaginas = $totalRegistros/$noRegistros;
	for($i=1; $i<$noPaginas+1; $i++) {
	if($i == $pagina)
	echo "<span class='pagina_seleccionada'>$i</span> ";
	else
	echo "<a href=\"?pagina=".$i."\" class='paginas'>".$i."</a>";
	}
	echo"</td></tr></table><br>";
}

?>
  #2 (permalink)  
Antiguo 13/10/2013, 13:38
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Mostrar mensaje para cuando no se reciban consultas en la db

Código PHP:
Ver original
  1. if(mysql_num_rows($query_articulos) > 0)
  2.     {
  3.         //todo tu codigo
  4. }else{
  5. //no se encontraron resultados
  6. }
mas o menos algo asi puede ser
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #3 (permalink)  
Antiguo 13/10/2013, 14:19
 
Fecha de Ingreso: julio-2013
Mensajes: 39
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Mostrar mensaje para cuando no se reciban consultas en la db

Gracias SkAr88, pero exactamente como lo agrego, porque lo agregue y me sigue sin aparecer el mensaje de que no hay articulos:

Código:
<?php
include("config.php");

if(isset($_GET['articulo'])) {
  if(!empty($_GET['articulo'])) {
	$id_articulo = (int) mysql_real_escape_string($_GET['articulo']);
	$query_articulos = mysql_query("SELECT * FROM ".$db_table." WHERE id = '".$id_articulo."' LIMIT 1");
	if(mysql_num_rows($query_articulos) > 0)
	{
		while($columna = mysql_fetch_assoc($query_articulos)) {
		  echo '
			<title>'.$columna['titulo'].' - LetsUp</title>
			
	  <table width="100%" border="0" cellpadding="0" cellspacing="0">
		<tr>
		  <td id="titulo_articulo">
			<div class="titulo_articulo">'.$columna['titulo'].'</div>
		  </td>
		</tr>
		<tr>
		  <td id="extras_articulo">
			<span id="autor_articulo">&nbsp;&nbsp;&nbsp;</span>
			<span class="autor_articulo">'.$columna['autor'].'</span>
			<span id="fecha_articulo">&nbsp;&nbsp;&nbsp;&nbsp;</span>
			<span class="fecha_articulo">'.$columna['fecha'].'</span>
		  </td>
		</tr>
		<tr>
		  <td id="articulo">
			<center><img src="'.$columna['imagen'].'" class="imagen_articulo_interior"></center>
			<div class="texto_articulo">'.$columna['texto'].'</div>
		  </td>
		</tr>
		<tr>
		  <td id="botones_articulo">
			<input type="button" value="Atr&aacute;s" onClick="window.location = \'javascript:window.history.back()\';" class="boton_atras">
		  </td>
		</tr>
	  </table>';
			}
	}
	else {
	  echo 'El post que solicitas, no existe.';
	}
	}
	else {
	  echo 'Debes seleccionar un post.';
	}
}
else {
	$query_articulos = mysql_query("SELECT * FROM ".$db_table." order by id DESC LIMIT 9999999");
	$limite = 800;	  // Caracteres máximos a mostrar en el índice
	while($columna = mysql_fetch_assoc($query_articulos))

	$noRegistros = 5; // Número de noticias por página
	$pagina = 1;	  // Página con la que iniciara
	if($_GET["pagina"])
	$pagina = $_GET["pagina"];

	//Utilizo el comando LIMIT para seleccionar registros
	$sSQL = "SELECT * FROM ".$db_table." order by id DESC LIMIT ".($pagina-1)*$noRegistros.",$noRegistros";
	$result = mysql_query($sSQL) or die(mysql_error());
	while($row = mysql_fetch_array($result)) {
	$html_permitidos = '<b><a><i><s><br><hr>';
	$noimagen = strip_tags($row['texto'], $html_permitidos);

	if(mysql_num_rows($query_articulos) > 0) {
	echo"
	<title>LetsUp</title>
	
	  <table width='100%' border='0' cellpadding='0' cellspacing='0'>
		<tr>
		  <td id='titulo_articulo'>
			<a href='?articulo=".($row['id'])."' class='titulo_articulo'>".($row['titulo'])."</a>
		  </td>
		</tr>
		<tr>
		  <td id='extras_articulo'>
			<span id='autor_articulo'>&nbsp;&nbsp;&nbsp;</span>
			<span class='autor_articulo'>".($row['autor'])."</span>
			<span id='fecha_articulo'>&nbsp;&nbsp;&nbsp;&nbsp;</span>
			<span class='fecha_articulo'>".($row['fecha'])."</span>
		  </td>
		</tr>
		<tr>
		  <td id='articulo'>
			<img src='".($row['imagen'])."' class='imagen_articulo'>
			<span class='texto_limit'>".substr($noimagen, 0, $limite)."</span>
		  </td>
		</tr>
		<tr>
		  <td id='botones_articulo'>
			<input type='button' value='Leer' onClick='window.location = \"?articulo=".($row['id'])."\";' class='boton_leer'>
		  </td>
		</tr>
	  </table>";
}else{
echo"NO HAY ARTICULOS";
}
}

	echo"<table border='0' align='right' cellpadding='0' cellspacing='0' class='paginacion_articulos'><tr><td>";
	//Imprimiendo páginas
	$sSQL = "SELECT count(*) FROM ".$db_table."";
	$result = mysql_query($sSQL);
	$row = mysql_fetch_array($result);
	$totalRegistros = $row["count(*)"];
	$noPaginas = $totalRegistros/$noRegistros;
	for($i=1; $i<$noPaginas+1; $i++) {
	if($i == $pagina)
	echo "<span class='pagina_seleccionada'>$i</span> ";
	else
	echo "<a href=\"?pagina=".$i."\" class='paginas'>".$i."</a>";
	}
	echo"</td></tr></table><br>";
}

?>

Última edición por DiegoAlonso; 13/10/2013 a las 14:30
  #4 (permalink)  
Antiguo 13/10/2013, 15:06
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Mostrar mensaje para cuando no se reciban consultas en la db

si programaste tu el codigo, deberias saber donde va.
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #5 (permalink)  
Antiguo 15/10/2013, 20:45
 
Fecha de Ingreso: julio-2013
Mensajes: 39
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Mostrar mensaje para cuando no se reciban consultas en la db

El caso es que como lo ponga me sale esto:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Etiquetas: database
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




La zona horaria es GMT -6. Ahora son las 23:17.