Foros del Web » Programando para Internet » PHP »

Ayuda mostrando datos con query select

Estas en el tema de Ayuda mostrando datos con query select en el foro de PHP en Foros del Web. Buenas, tengo el siguiente codigo que ronruby me hizo favor de practicamente hacer entero con la finalidad de generar un sistema de comentarios con sistema ...
  #1 (permalink)  
Antiguo 14/08/2008, 15:50
 
Fecha de Ingreso: agosto-2008
Mensajes: 48
Antigüedad: 15 años, 8 meses
Puntos: 0
Ayuda mostrando datos con query select

Buenas, tengo el siguiente codigo que ronruby me hizo favor de practicamente hacer entero con la finalidad de generar un sistema de comentarios con sistema de aprobarlos o rechazarlos desde un panel de administracion "Administrando_comments.php" y despues mostrarlos en otro lugar sea pues por ejemplo "Mostrar_comments.php" pero tengo un problema al momento de mostrar los datos de la base de datos valga la redundancia ya que por ejemplo tenemos que el formulario escribe los siguientes datos en la base de datos


<form action="2.php" method="POST">
Nombre: <input type="text" name="nombre">
Telefono: <input type="text" name="telefono">&nbsp;
<input type="submit" value="Enviar" name="B1">



Hasta ahi todo bien, escribe los datos de forma correcta haciendo uso del codigo de "2.php" pero a la hora de pasarme al area "Administrando_comments.php" me doy cuenta que los datos de la base de datos no se muestran ahi...pero en la tabla del mysql si estan escritos, ok pero permitanme terminar de explicar esto a detalle...el problema no radica ahi, el problema es que cuando haces una entrada por segunda ocasion en el formulario, pues ya aparece en "Aprobar_comments.php" y luego, cuando le das "aprobar comentario" se tendria que ir a la parte de "Mostrar_comentarios.php" pero esto no sucede...es decir no los muestra, pero otra vez se repite el error, haces una tercera llamada a "Aprobar comentario" y entonces ya se muestran los datos...es un error algo raro y no se si me explique bien, en resumen el codigo funciona sin problemas, hace lo que deberia hacer, pero tiene ese pequeño detalle o inconveniente o error, lo que sea, QUE SE SALTA LA PRIMERA ENTRADA QUE UNO INGRESA o_O

Sea pues que pones por ejemplo

Nombre: pepe
Telefono: 333333

Enviar

y nos devuelve, ENVIADO CORRECTAMENTE !! ( y en efecto se escriben los datos en la tabla en el mysql)


te vas a "aprobar_comentarios.php" y no aparecen los datos...

Entonces te regresas a la pagina de "Comentarios.html" vuelves a meter

Nombre: pepe_numero2
Telefono: 4444444

y nos devuelve, ENVIADO CORRECTAMENTE !! ( y en efecto se escriben los datos en la tabla en el mysql)

te vas a "aprobar_comentarios.php" y ya aparecen los datos o_o


Osea se salto la primer linea de los datos en la tabla de la base de datos y empezo a mostrarme los datos a partir de la segunda linea con los datos de la tabla, esto esta muy raro, es normal ? xD no creo pero esque no se donde este mi error.... pego aqui el codigo que estoy utilizando en "Aprobar_comments.php" pues ese es el que se encarga de mostrar los datos de la tabla en la base de datos y puede que ahi este mi error...

======= Aprobar_comments.php =========


<?php
//conexion a la base de datos

require_once('conexion.php');

//Creamos una consulta para filtrar los datos y un bucle para mostrarlos todos:
$select = "SELECT * FROM tabla WHERE Aprobado = '0'";
$query = mysql_query($select) or die(mysql_error());
$row = mysql_fetch_assoc($query);

while ($row = mysql_fetch_assoc($query)) {
echo $row['Nombre']."<br>";
echo $row['Telefono']."<br>";
echo '<a href="aprobar.php?ID='.$row['ID'].'">Aprobar</a><br>';
echo '<a href="rechazar.php?ID='.$row['ID'].'">Rechazar</a><br><br>';
}
?>





y este es el codigo del archivo "2.php" que se encarga de escribir los datos en la tabla


<?php

include('conexion.php');

//Conexion a la base de datos
require_once('conexion.php');

//Insertamos los datos:
$insert = "INSERT INTO tabla (Nombre, Telefono, Aprobado) VALUES ('".mysql_real_escape_string($_POST['nombre'])."', '".mysql_real_escape_string($_POST['telefono'])."', '0')";
$result = mysql_query($insert) or die(mysql_error());

if(!$result)
{
echo "Los datos no pudieron ser insertados";
}
else {
//Datos insertados correctamente, si quieres puedes mostrar un mensaje o redireccionar con Header
header("Location: sistema.html");
}
?>



Ojala ustedes puedan ayudarme a encontrar el porque pasa esto y como solucionarlo, para ya no estar molestando tanto a ronruby que tan amable se ah portado ya, gracias !
  #2 (permalink)  
Antiguo 14/08/2008, 17:55
Avatar de Taldreakan  
Fecha de Ingreso: julio-2008
Mensajes: 128
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Ayuda mostrando datos con query select

Si mal no te entiendo, lo que dices es que se salta el primer registro de la tabla.

Me parece que es en este codigo:
Código PHP:
<?php 
//conexion a la base de datos

require_once('conexion.php'); 

//Creamos una consulta para filtrar los datos y un bucle para mostrarlos todos: 
$select "SELECT * FROM tabla WHERE Aprobado = '0'"
$query mysql_query($select) or die(mysql_error()); 
$row mysql_fetch_assoc($query); 

while (
$row mysql_fetch_assoc($query)) { 
echo 
$row['Nombre']."<br>"
echo 
$row['Telefono']."<br>"
echo 
'<a href="aprobar.php?ID='.$row['ID'].'">Aprobar</a><br>'
echo 
'<a href="rechazar.php?ID='.$row['ID'].'">Rechazar</a><br><br>'

?>
Especificamente en estas dos lineas:

Código PHP:
$row mysql_fetch_assoc($query); 

while (
$row mysql_fetch_assoc($query)) { 
En la primera ya cargo el primer registro en el arreglo $row y tambien mueve el apuntador de la consulta al segundo registro.

Cuando entra al while enpieza a mostrar desde el segundo registro.

Solo elimina la priner linea, esta:
Código PHP:
$row mysql_fetch_assoc($query); 
  #3 (permalink)  
Antiguo 14/08/2008, 23:07
 
Fecha de Ingreso: agosto-2008
Mensajes: 48
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ayuda mostrando datos con query select

hola que tal !, muchas gracias por el aporte...eh borrado la linea que me indicaste, pero sigue saltandose el primer valor de la tabla y no me lo muestra hasta que inserto el segundo o_O

LO TENGO ASI:



<?php
//conexion a la base de datos

require_once('conexion.php');

//Creamos una consulta para filtrar los datos y un bucle para mostrarlos todos:
$select = "SELECT * FROM tabla WHERE Aprobado = '0'";
$query = mysql_query($select) or die(mysql_error());

while ($row = mysql_fetch_assoc($query)) {
echo $row['Nombre']."<br>";
echo $row['Telefono']."<br>";
echo '<a href="aprobar.php?ID='.$row['ID'].'">Aprobar</a><br>';
echo '<a href="rechazar.php?ID='.$row['ID'].'">Rechazar</a><br><br>';
}
?>



lo eh hecho mal???

Última edición por cerd0; 14/08/2008 a las 23:18
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 01:42.