Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: bgnumis en 2 Abril 2015, 16:42 pm



Título: Mostrar campos de una tabla me repite valores
Publicado por: bgnumis en 2 Abril 2015, 16:42 pm
Hola a todos,

Estoy intendo mostrar los valores de una tabla en mysql php pero resulta que me saca los datos repetidos del primer valor 3 veces (en la tabla hay 4 registros) donde puedo estar haciéndolo mal?
Código
  1. <?php
  2. $conexion=mysql_connect("localhost","os","@dude1011") or die("Problemas en la conexion");
  3. mysql_select_db("ugtdef",$conexion) or die("Problemas en la selección de la base de datos");  
  4. $consulta=mysql_query("SELECT `fechacom`, `contenido` FROM `comentarioempl` WHERE `MATRICULA`=$clave");
  5. $descripcion2 = mysql_fetch_array( $consulta );
  6.  
  7.  
  8.  
  9. ?>
  10.  
  11.  <?php
  12. echo "<table style=border:solid black 1px   border-collapse:separate border-color=green border-style=inset border-collapse:collapse;  > <tr class=border_bottom ><td>   Fecha</td> <td > Comentario </td></tr>";
  13. while($fila=mysql_fetch_array($consulta)){
  14.  
  15. echo "<tr>";
  16. echo "<td>".$descripcion2['0']."</td>";
  17. echo "<td>".$descripcion2['1']."</td>";
  18.  
  19. }
  20. echo "</tr>";
  21.  
  22.  
  23. echo "</table>";
  24.  
  25. ?>
  26.  
  27.  
  28.  
  29.  

Lo siento aprendo muy lento

Mod: Temas sobre PHP al suboforo de PHP.


Título: Re: Mostrar campos de una tabla me repite valores
Publicado por: engel lex en 2 Abril 2015, 17:22 pm
son 4 valores...

mira $descripcion2 en linea 5
ya ahí pasaste 1

luego de linea 13 a 17
Código
  1. while($fila=mysql_fetch_array($consulta)){
  2. echo "<tr>";
  3. echo "<td>".$descripcion2['0']."</td>";
  4. echo "<td>".$descripcion2['1']."</td>";

el valor donde sacar el fetch array es $fila... pero a quien imprimes?

por cierto... he decirte esto sobre la extensión mysql... copiado de php.net

(http://i.imgur.com/x9IIN7d.png)


Título: Re: Mostrar campos de una tabla me repite valores
Publicado por: Usuario Invitado en 2 Abril 2015, 18:03 pm
Hola,

1) No uses mysql, no usen librerías obsoletas por favor.

De la documentación oficial, puedes conectar mediante mysqli así:

Código
  1. $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
  2.  
  3.    die("Falló la conexión: %s\n", $mysqli->connect_error);
  4. }

Conviertes tu consulta a un array asociativo:

Código
  1. while($row = $result->fecth_array(MYSQLI_ASSOC)) {
  2. echo "<tr>".
  3. "<td>".$row["nombre_columna"]."</td>".
  4. "<td>".$row["nombre_columna"]."</td>".
  5. "<td>".$row["nombre_columna"]."</td>".
  6. "<td>".$row["nombre_columna"]."</td>".
  7. "</tr>";
  8. }


Saludos.