PHP - ayuda sigo sin obtener el resultado de numero de comentarios de un articulo

   
Vista:
Imágen de perfil de vicente

ayuda sigo sin obtener el resultado de numero de comentarios de un articulo

Publicado por vicente (78 intervenciones) el 13/10/2016 09:59:36
Hola buenos dias llevo casi un mes intentando obtener el numero de comentarios que tiene un articulo, y lo he probado todo y aun no he conseguido que me lo visualice ,la consulta esta bien , pero no me lo visualiza , aver si alguien me puede echar una mano , es lo unico que me falta para terminar este dichoso blog.......
siento decirlo pero me he quedado atascado en ese punto......
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
<?php error_reporting(E_ALL &~E_NOTICE);?>
<!DOCTYPE html>
<html lang="es">
<head>
<title>DW Comentarios</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <!--Con esto garantizamos que se vea bien en dispositivos móviles-->
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="css/Dw.css" rel="stylesheet" type="text/css">
<!--[if lt IE 9]><script src="js/html5.js"></script><![endif]-->
</head>
 
<body>
<?php
include_once('includes/header.inc.php');
?>
<div class="container">
	<h1 class="text-center text-danger">Blog</h1>
  <hr>
  <section class="col-lg-3 col-lg-push-1">
    <h2 class="text-left">
    	<span class="text-danger">Categorias</span>
    	<span class="text-muted">Blog</span>
    </h2>
 </section>
	<section class="filtrar col-lg-3 col-lg-push-3 text-muted">
    	<b>Filtrar por Categorias:</b>
	</section>
<!--Visualizamos categorias desde la Base de datos Tabla categorias -->
<div class="holder-categorias">
		<?php
			//Incluimos conexion
			require_once('includes/conexion_blog.inc.php');
			//Consulta SQL
			$sql = "SELECT * FROM categorias WHERE id_categoria > 8 Order By id_categoria DESC";
			$query = mysqli_query($ConDB, $sql);
			// Comprobamos existencias
			if(mysqli_num_rows($query) > 0 )
			{
			echo'<nav class="filter_cat col-lg-12 col-lg-pull-3">';
				echo '<ul class="list-inline1 col-lg-10 col-lg-push-4 col-sm-12 col-xs-11 col-xs-push-5">';
					echo '<li class="navbar-nav navbar-category"><a href="blog.php">Todas categorias</a></li>';
					while($row = mysqli_fetch_assoc($query))
						{
						$id_categoria = $row['id_categoria'];
					echo '<li class="navbar-nav navbar-category divider">';
					echo '<a href="categorias.php?id='.$row['id_categoria'].'">'.$row['categoria'].'</a>';
					echo '</li>';
						} //fin while
			}// fin if
				echo '</ul>';
			echo'</nav>';
?>
</div>
<!-- Fin Categorias -->
<div class="comentarios_categoria col-lg-6">
<?php
			require_once('includes/conexion_blog.inc.php');
			$sql = "SELECT * FROM articulos Where id_articulo='{$_GET['id']}'";
			$query = mysqli_query($ConDB, $sql);
			while($row = mysqli_fetch_assoc($query))
						{
						$id_categoria = $row['id_categoria'];
						echo'<h2 class="text-center text-danger">Comentarios Categoria <span class="text-muted">' . $row['categoria']; 																		                        echo'</span></h2>';
						}
?>
</div>
    <hr class="blog">
    <div class="row">
		<div class="col-xs-6 col-xs-offset-6 col-sm-6 col-sm-offset-6 col-md-6 col-md-offset-6 col-lg-3  pull-left tweeter">
          <h2 class="text-center text-danger">Twitter</h2>
          <hr>
            <a class="twitter-timeline text-warning"  href="https://twitter.com/search?q=%40WebDisseny" data-widget-id="772866713243246597">Tweets sobre @WebDisseny</a>
            <script>
				!function(d,s,id)
					{
						var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';
							if(!d.getElementById(id))
								{
									js=d.createElement(s);
									js.id=id;
									js.src=p+"://platform.twitter.com/widgets.js";
									fjs.parentNode.insertBefore(js,fjs);
								}
					}
					(document,"script","twitter-wjs");
            </script>
 
<br>
<br>
          <h2 class=" text-center text-primary">Facebook</h2>
          <hr>
           <!--Facebook Like Badge START-->
<div style="width: 100%;">
	<div style="background: #3B5998; padding: 5px;">
    	<img src="https://www.facebook.com/images/fb_logo_small.png" alt="Facebook" />
        <img src="https://badge.facebook.com/badge/1060875423958971.1405232352.2041646001.png" width="0" height="0" alt="" />
    </div>
    <div style="background: #EDEFF4;display: block;border-right: 1px solid #D8DFEA;border-bottom: 1px solid #D8DFEA;border-left: 1px solid #D8DFEA;margin: 0px;padding: 0px 0px 5px 0px;">
    <div style="background: #EDEFF4;display: block;padding: 5px;">
    <table cellspacing="0" cellpadding="0" border="0">
    	<tr>
        <td valign="top"><img src="https://www.facebook.com/images/icons/fbpage.gif" alt="" /></td>
        <td valign="top"><p style="color: #808080;font-family: verdana;font-size: 11px;margin: 0px 0px 0px 0px;padding: 0px 8px 0px 8px;"><a href="https://www.facebook.com/mayte.g.ribera" title="Mayte Garcia Ribera" style="color: #3B5998;font-family: verdana;font-size: 11px;font-weight: normal;margin: 0px;padding: 0px 0px 0px 0px;text-decoration: none;" target="_TOP">Mayte Garcia Ribera</a> likes </p></td>
        </tr>
    </table>
    </div>
    <div style="background: #FFFFFF;clear: both;display: block;margin: 0px;overflow: hidden;padding: 5px;">
    <table cellspacing="0" cellpadding="0" border="0">
    	<tr>
        	<td valign="middle"><a href="https://www.facebook.com/pages/Disseny-Web-Vicent/1060875423958971" title="Disseny Web Vicent" style="border: 0px;color: #3B5998;font-family: verdana;font-size: 12px;font-weight: bold;margin: 0px;padding: 0px;text-decoration: none;" target="_TOP"><img src="https://scontent-cdg2-1.xx.fbcdn.net/v/t1.0-1/c6.0.50.50/p50x50/13307457_1063670193679494_7684486846081248764_n.png?oh=c8b212e420848f5ce6868cfe3b2ca71a&amp;oe=583F9C46" style="border: 0px;margin: 0px;padding: 0px;" alt="Disseny Web Vicent" /></a></td>
            <td valign="middle" style="padding: 0px 8px 0px 8px;"><a href="https://www.facebook.com/pages/Disseny-Web-Vicent/1060875423958971" title="Disseny Web Vicent" style="border: 0px;color: #3B5998;font-family: verdana;font-size: 12px;font-weight: bold;margin: 0px;padding: 0px;text-decoration: none;" target="_TOP">Disseny Web Vicent</a></td>
      </tr>
   </table>
   </div>
</div>
<div style="display: block;float: right;margin: 0px;padding: 4px 0px 0px 0px;">
<!--<a href="https://www.facebook.com/badges/like.php" title="Create your Like Badge" style="color: #3B5998;font-family: verdana;font-size: 11px;font-weight: none;margin: 0px;padding: 0px;text-decoration: none;" target="_TOP"> Create your Like Badge </a>-->
</div>
   	</div><!--Twitter & Facebook Like Badge END -->
</div>
<section class="comentarios col-xs-6 col-xs-offset-6 col-sm-6 col-sm-offset-6 col-md-6 col-md-offset-6 col-lg-7 col-lg-offset-1">
	<article class="blog_post">
    	<header>
 
 
<!-- Resultado Blog -->
<section class="col-lg-12 pull-right entradas">
	<?php //Visualizar articulo segun su id
	     //Incluimos conexion
			require_once('includes/conexion_blog.inc.php');
		//Consulta SQl
			$_sql = "SELECT * FROM articulos WHERE id_articulo='{$_GET['id']}'";
			$resultado = mysqli_query($ConDB, $sql);
	  //Comprobamos existencia
	  		if(mysqli_num_rows($resultado) > 0 ){
				//Salida de datos
				while($row = mysqli_fetch_assoc($resultado)){
	?> <div class="holder-blog">
    <div class="titulo">
    	<hr>
    	<h4 class="titulo text-danger text-center"><?php echo $row['titulo']; ?></h4>
    </div>
    <div class="inline_posic">
    	<h6 class="text-warning">Autor: <span class="text-muted"><?php echo $row['autor']; ?></span><span class="punto_sep">&nbsp;&bull;&nbsp;</span></h6>
    </div>
    <div class="inline_posic">
    	<img src="img//icons/calendario.png" alt="calendario.png">
    </div>
    <div class="inline_posic">
    	<h6 class="text-muted"><?php echo $row['fecha']; ?></h6>
    </div>
    <div class="admin_avatar">
    	<img src="img/icons/avatar/admin.png" width="40px" height="40px" alt="" class="userpic">
    </div>
    <div class="holder-contenido-blog">
        <hr>
    	<p class="text-muted"><?php echo $row['contenido']; ?></p>
    </div>
 
    <div class="inline">
    	<h6 class="text-warning">Categoria: <a class="text-muted" href="categorias.php?id=<?php echo $row['id_categoria']; ?>"><?php echo $row['categoria']; ?><span class="punto_sep">&nbsp;&bull;&nbsp;</span></a></h6>
    </div>
    <?php
		require_once('includes/conexion_blog.inc.php');
		$sql = "SELECT COUNT(id_comentario) FROM comentarios WHERE id_articulo='id_articulo' GROUP BY id_articulo";
		$num = mysqli_query($ConDB, $sql);
	 // Introduzco en select directamente en phpmyadmin y me da el resultado , lo meto aqui pero como si no hiciera la consulta 
   ?>
    <div class="inline">
    	<h6 class="text-warning">Comentarios: <a class="text-muted" href="blog.php"><?php $num ;?><span class="punto_sep"></span></a></h6>
    </div>
  </div>
    <?php
				}//Fin while
 
			} //Fin if
	?>
    <hr>
    <?php //Visualizar comentario segun su articulo
	     //Incluimos conexion
			require_once('includes/conexion_blog.inc.php');
		//Consulta SQl
			$_sql = "SELECT COUNT(id_comentario) as Total FROM comentarios WHERE id_articulo='{$_GET['id']}'";
			$resultado = mysqli_query($ConDB, $sql);
	  //Comprobamos existencia
	  		if(mysqli_num_rows($resultado) > 0 ){
				//Salida de datos
				while($row = mysqli_fetch_assoc($resultado)){
	?>
    <h2 class="text-danger text-center"><span class="text-muted">2 </span>Comentarios<h2>
    <?php
				}//Fin while
 
			} //Fin if
 
		//igual en este 
	?>
    <hr>
    <?php //Visualizar comentario segun su articulo
	     //Incluimos conexion
			require_once('includes/conexion_blog.inc.php');
		//Consulta SQl
			$_sql = "SELECT * FROM comentarios Where id_articulo='{$_GET['id']}' ORDER BY fecha";
			$resultado = mysqli_query($ConDB, $sql);
	  //Comprobamos existencia
	  		if(mysqli_num_rows($resultado) > 0 ){
				//Salida de datos
				while($row = mysqli_fetch_assoc($resultado)){
	?>
    <div class="holder-bg-comentario">
    <div class="admin_avatar">
    	<img src="img/icons/avatar/admin.png" width="40px" height="40px" alt="" class="userpic">
    </div>
    <div class="inline_posic">
    	<h6 class="text-warning">Usuario: <span class="text-muted"><?php echo $row['usuario']; ?></span></h6>
    </div>
    <div class="holder-comentario">
        <hr>
    	<p class="text-muted"><?php echo $row['comentario']; ?></p>
    </div>
    <div class="inline_posic">
    	<h6 class="text-muted"><span class="text-warning">Publicado el:</span><?php echo $row['fecha']; ?><span class="punto_sep">&nbsp;&bull;&nbsp;</span></h6>
    </div>
    <div class="inline">
    	<h6 class="text-warning">Categoria: <span="text-muted"><?php echo $row['categoria']; ?></span><span class="punto_sep">&nbsp;&bull;&nbsp;</span></h6>
    </div>
    <div class="inline_posic">
    	<h6 class="text-muted"><span class="text-warning">Id Comentario: #</span><?php echo $row['id_comentario']; ?></h6>
    </div>
    <?php
		require_once('includes/conexion_blog.inc.php');
		$sql = "SELECT COUNT(id_comentario) FROM comentarios WHERE id_articulo='id_articulo' GROUP BY id_articulo";
		$num = mysqli_query($ConDB, $sql);
   ?>
    <div class="inline">
    	<h6 class="text-warning"> Id Comentario: <a class="text-muted" href="blog.php">#<?php $row['id_comentario'] ;?><span class="punto_sep"></span></a></h6>
    </div>
  </div>
    <?php
				}//Fin while
 
			} //Fin if
 
			//he igual en este no me muestra los comentarios
	?>
    <a name="comentario"><!-- Vinculo interno comentario publicado -->
</section>
		</header>
	</article>
</section>
<hr class="form">
    <section class="formulario_comentarios">
        <!-- Formulario insertar  nuevo comentario  de usuario a la Tabla comentarios -->
            <form class="form-control_comentarios col-lg-12" method="POST" action="comentarios.php" name="formulario">
                <fieldset>
                    <legend class="comentar text-center text-danger">Comentar</legend>
                    <p class=" usuario text-warning">Usuario:</p> <input class="usuario_text input-lg" type="text" name="usuario" placeholder="Usuario*"/><br />
                    <p class=" avatar text-warning">Avatar:<p><?php
																$formatos_imagen = array('.png', '.gif');
																$extension_archivo = substr($nombre_archivo, strrpos($nombre_archivo, '.'));
																$directorio = 'img/icons/avatar/';
																$dir = opendir("$directorio") ;
																echo '<select id="selImagenes" class="seleccion_avatar" name="avatar_usuario" onChange="showimage(this.value)">';
																echo '<option class="opcion" value=$directorio/Anonimo.png selected>- Sin imagen -</option>';
 
																while ($file = readdir($dir))
																	{
																	if ($file != "." && $file != "..")
																		{
													echo '<option class="opcion" value="'.$file.'">'.$file.'</option>';
																		}
																	}
																echo '<option class="opcion">Personalizar</option>';
																echo" </select>";
																?>
<img class="image_avatar" id="imagen" src="<?php echo $directorio.$file ?>" alt="" name="avatar_usuario" onload="recargar()" width="108px" height="auto">
                            								<?php
																	closedir($dir);
															?>
 
                        <br/><br/>
                    <p class="text-center comment text-warning">Comentario:</p><br />
                    <textarea class="comentario_text input-lg" name="comentario" placeholder="Inserte aqui su comentario*"></textarea>
                    <br />
                    <p class="date text-warning">Fecha:</p> <input class="fecha_text" type="text" name="fecha" value="<?php date_default_timezone_set("Europe/Madrid"); echo date("d-m-Y H:i:s");?>">
                    <br />
                    <br />
                    <input class="comentar" id="comentar" type="submit" name="insertar_comentario" value="Comentar!"/>
                </fieldset>
            </form>
            <br />
            <a class="regresar" href="blog.php" title="Regresar al Blog"><img src="img/icons/return2.png" alt=""width="32px" height="auto"></a><br />
    </section>
<?php
include_once('includes/footer_pegajoso.inc.php');
?>
    </div>
<!-- /container -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>
Gracias y saludos
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
Imágen de perfil de Víctor

ayuda sigo sin obtener el resultado de numero de comentarios de un articulo

Publicado por Víctor (189 intervenciones) el 13/10/2016 10:20:04
Hola:

Podrías concretar un poco más?

Saludos de Víctor.-
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
Imágen de perfil de vicente

ayuda sigo sin obtener el resultado de numero de comentarios de un articulo

Publicado por vicente (78 intervenciones) el 13/10/2016 22:11:54
saludos aver estoy creando un blog, ya tengo en funcionamiento la pagina , principal y la de categorias...
en la principal se me ven todas las publicaciones......

en la principal tengo un menu donde selecciono la categoria de las publicaciones cuando selecciono todas las categorias la pagina que se ve realmente es la principal del blog , cuando le doy a una categoria concreta la pagina que se ve realmente es la de categorias, pues bien tanto en una como en la otra debajo de cada publicacion tengo categoria: y el nombre de la categoria que obtengo de la base de datos..... por medio de consulta sql........

tambien tengo comentarios: aqui me deberia de decir los comentarios que tiene cada articulo o publicacion......
eso es lo que no consigo.......

la consulta sql esta bien, la ejecuto en el phpmyadmin y me da el resultado deseado....... pero cuando la pongo en la pagina y la ejecuto desde la pagina haciea el navegador atraves del server localhost no me da el resultado......
espero haberte aclarado las dudas que tuvieras....

saludos y 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
Imágen de perfil de xve

ayuda sigo sin obtener el resultado de numero de comentarios de un articulo

Publicado por xve (6035 intervenciones) el 14/10/2016 13:01:28
Hola Vicente, prueba así:
1
$sql = "SELECT COUNT(*) as Total FROM comentarios WHERE id_articulo='{$_GET['id']}' GROUP BY id_articulo";

Coméntanos, ok?

NOTA: Ten en cuenta que este tipo de consultas son susceptibles de SQL Inyection!!!
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
Imágen de perfil de Víctor

ayuda sigo sin obtener el resultado de numero de comentarios de un articulo

Publicado por Víctor (189 intervenciones) el 15/10/2016 09:31:35
Hola:

Gracias por las aclaraciones.

Creo que el problema está entre la linea167 y la 171. En la primera haces una consulta que te devuelve un recurso (resource) que luego utilizas directamente en la linea 171. Necesitas extraer cada una de las filas de la respuestas con mysqli_fetch_array (http://php.net/manual/es/mysqli-result.fetch-array.php) o con msqli_fetch_assoc (http://php.net/manual/es/mysqli-result.fetch-assoc.php) como haces en la linea 209. Esto hay que hacerlo aunque la respuesta de labase de datos tenga una sola fila.

En phpmyadmin esto se hace automáticamente.

Tu código se sigue realmente mal, yo te aconsejaría tres cosas: lineas más cortas, utilizar addecuadamente el tabulador y no saltar de PHP a HTML tantas veces.

Suerte!

Saludos de Víctor.
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
Imágen de perfil de vicente

ayuda sigo sin obtener el resultado de numero de comentarios de un articulo

Publicado por vicente (78 intervenciones) el 17/10/2016 17:30:06
Gracias victor por tu respuesta.......

pero no esta ahi el error eso ya lo habia probado antes de postear este post.......... y el resultado es peor que el anterior......

mira te subo el codigo y una captura de como se ve ahora.........
mira entre la linea 145 y 163 de codigo que te he posteado........ y mira bien la captura que te he mandado.......y te comento mas abajo......

1
 

ahora se ve asi.............
vista-blog

bien como ves no solo me escribe 3 veces "comentarios:" , si no que ahi deberian de salir 3 entradas o articulos y cuando le meto este script las entradas o articulos como que se limitan a uno/a, es como si ese script parase la ejecucion del anterior, por si fuera pòco me escribe 3 veces la palabra "comentarios:" , alo que yo le di solucion eliminado esto:

1
2
3
4
//Comprobamos existencia
if(mysqli_num_rows($resultado) > 0 ){
	//Salida de datos
	while($row = mysqli_fetch_array($resultado)){

pero continua sin arrojarme el resultado o sea el numero de comentarios por entrada o articulo.....

si pudieras ayudarme a dar con este problema te lo agradeceria..............

perdona si las lineas son demasiado largas o si paso mucho de html a php pero no encontre otra forma mejor de hacer lo que queria hacer,
puede que aqui no se vean bien las lineas larga , pero ten en cuenta , que no estamos utilizando un 100% del ancho de la pantalla, en mi pc las lineas larga se ven todas de un tiron , pero es pq el sublime-text me da un escritorio de codigo del 100% de la pantalla....
en cuanto al tabulado de lineas el codigo lo tengo todo bien tabulado, si lo ves en un ancho del 100% de la pantalla, claro........

saludos Vicente y gracias por tu ayuda
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
Imágen de perfil de Víctor

ayuda sigo sin obtener el resultado de numero de comentarios de un articulo

Publicado por Víctor (189 intervenciones) el 20/10/2016 09:12:44
Hola:

Estoy intentando enterarme del listado que mandas, pero tengo poco tiempo. Te iré preguntando cosas:

¿Qué contiene el fichero "includes/header.inc.php" que aparece en la linea 13?

Saludos de Víctor.-
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