Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: maxwellnewage en 20 Junio 2010, 23:15 pm



Título: problema pagina en blanco que busca y genera consulta (php y mysql)
Publicado por: maxwellnewage en 20 Junio 2010, 23:15 pm
miren este code:
Código:
<?php
include("conexion.php");
include("globals.php");
if(isset($_POST['buscar'])) {
$b_empleado = $_POST['b_empleado'];
$consulta = mysql_query("SELECT * FROM personas WHERE usuario='$b_empleado'");
if(empty($_POST['b_empleado'])) { echo "$error001"; }
else {
if(mysql_fetch_row($consulta) == 0) {
echo "$busqueda_sin_exito";
} else {
while($row = mysql_fetch_array($consulta)) {
?>
<table width="200" border="1" align="center">
  <tr>
    <td>Empleado</td>
    <td>Sueldo</td>
    <td>Horas</td>
    <td>Puesto</td>
  </tr>
  <tr>
    <td><?php echo $row['usuario']; ?></td>
    <td><?php echo $row['sueldo']; ?></td>
    <td><?php echo $row['horas']; ?></td>
    <td><?php echo $row['puesto']; ?></td>
  </tr> 
  <?php }}}}?>
</table>

tira pagina en blanco, y no es por la consulta ya q la probe en limpio y miren!
Código:
<?php
include("conexion.php");
include("globals.php");
$consulta = mysql_query("SELECT * FROM personas WHERE usuario='maxwell'");
while($row = mysql_fetch_array($consulta)) {
?>
<table width="200" border="1" align="center">
  <tr>
    <td>Empleado</td>
    <td>Sueldo</td>
    <td>Horas</td>
    <td>Puesto</td>
  </tr>
  <tr>
    <td><?php echo $row['usuario']; ?></td>
    <td><?php echo $row['sueldo']; ?></td>
    <td><?php echo $row['horas']; ?></td>
    <td><?php echo $row['puesto']; ?></td>
  </tr> 
  <?php }?>
</table>
funciona perfectamente!...pero el problema esta en el otro code....


Título: Re: problema pagina en blanco que busca y genera consulta (php y mysql)
Publicado por: maxwellnewage en 20 Junio 2010, 23:25 pm
necesito una solucion antes de q pierda la cabeza!! ¬¬


Título: Re: problema pagina en blanco que busca y genera consulta (php y mysql)
Publicado por: MinusFour en 20 Junio 2010, 23:37 pm
Porque tanto abrir y cerrar las tags de php xD

Código
  1. <?php
  2. include("conexion.php");
  3. include("globals.php");
  4. if(isset($_POST['buscar'])) {
  5. $b_empleado = $_POST['b_empleado'];
  6. $consulta = mysql_query("SELECT * FROM personas WHERE usuario='$b_empleado'");
  7. if(empty($_POST['b_empleado'])) { echo "$error001"; }
  8. else {
  9. if(mysql_fetch_row($consulta) == 0) {
  10. echo "$busqueda_sin_exito";
  11. } else {
  12. while($row = mysql_fetch_array($consulta)) {
  13. echo "<table width=\"200\" border=\"1\" align=\"center\">
  14.  <tr>
  15.    <td>Empleado</td>
  16.    <td>Sueldo</td>
  17.    <td>Horas</td>
  18.    <td>Puesto</td>
  19.  </tr>
  20.  <tr>
  21.    <td>$row['usuario']</td>
  22.    <td>$row['sueldo']</td>
  23.    <td>$row['horas']</td>
  24.    <td> $row['puesto']</td>
  25.  </tr></table>";
  26. }
  27. }
  28. }
  29. }
  30.  
  31. ?>

Prueba así, a ver que pasa...

Y también deberias estar checando las variables de control para ver por donde se va el programa...


Título: Re: problema pagina en blanco que busca y genera consulta (php y mysql)
Publicado por: maxwellnewage en 20 Junio 2010, 23:42 pm
justo encontre una solucion :D
Código:
<?php
include("conexion.php");
include("globals.php");
if(isset($_POST['buscar'])) {
$b_empleado = $_POST['b_empleado'];
$consulta = mysql_query("SELECT * FROM personas WHERE usuario='$b_empleado'");
if(empty($_POST['b_empleado'])) { echo "$error001"; }
else {
if(mysql_fetch_row($consulta) == 0) {
echo "$busqueda_sin_exito";
} else {
?>
<table width="200" border="1" align="center">
  <tr>
    <td>Empleado</td>
    <td>Sueldo</td>
    <td>Horas</td>
    <td>Puesto</td>
  </tr>
  <?php while($row = mysql_fetch_array($consulta)) { ?>
  <tr>
    <td><?php echo $row['usuario']; ?></td>
    <td><?php echo $row['sueldo']; ?></td>
    <td><?php echo $row['horas']; ?></td>
    <td><?php echo $row['puesto']; ?></td>
  </tr>
    <?php }}}}?>
</table>
era porq puse el tag mal...pero ahora tengo un problema: este buscador q hice muestra un registro, pero yo hice 2 registros con el mismo nombre justamente para que se vean los dos...porq no puede mostrar mas de uno?


Título: Re: problema pagina en blanco que busca y genera consulta (php y mysql)
Publicado por: MinusFour en 20 Junio 2010, 23:51 pm
Estás seguro que la consulta devuelve 2 registros? Justo debajo de $consulta = mysql_query(...);
Pon:
Código
  1. echo "<h2>Número de Registros: " . mysql_num_rows($consulta) . "</h2><br />";
  2.  


Título: Re: problema pagina en blanco que busca y genera consulta (php y mysql)
Publicado por: maxwellnewage en 20 Junio 2010, 23:56 pm
q *****, ahora ta peor....
lo q hice fue borrar todos los registros y poner uno nuevo...ahora directamente no toma ninguno ¬¬


Título: Re: problema pagina en blanco que busca y genera consulta (php y mysql)
Publicado por: MinusFour en 21 Junio 2010, 00:00 am
Usa el código para verificar cuantos registros tienes... Si algo no concuerda, entonces revisa tu consulta...


Título: Re: problema pagina en blanco que busca y genera consulta (php y mysql)
Publicado por: maxwellnewage en 21 Junio 2010, 00:03 am
mira, hice un archivo q toma a todos los empleados...
Código:
<?php
include("conexion.php");
include("globals.php");
if(isset($_POST['todos'])) {
$consulta = mysql_query("SELECT * FROM personas");
if(mysql_fetch_row($consulta) == 0) { echo "$error005"; } else {
$cant = mysql_num_rows($consulta);
echo "$cant";
?>
<table width="200" border="1" align="center">
  <tr>
    <td>Empleado</td>
    <td>Sueldo</td>
    <td>Horas</td>
    <td>Puesto</td>
  </tr>
  <?php while($row = mysql_fetch_array($consulta)) { ?>
  <tr>
    <td><?php echo $row['usuario']; ?></td>
    <td><?php echo $row['sueldo']; ?></td>
    <td><?php echo $row['horas']; ?></td>
    <td><?php echo $row['puesto']; ?></td>
  </tr>
    <?php }}}?>
</table>
La cantidad da 1, asi q deberia reconocer el registro...


Título: Re: problema pagina en blanco que busca y genera consulta (php y mysql)
Publicado por: MinusFour en 21 Junio 2010, 00:09 am
Bueno, algunos detalles... que creo que se ajustan más a lo que quieres.

Código
  1. <?php
  2. include("conexion.php");
  3. include("globals.php");
  4. if(isset($_POST['todos'])) {
  5. $consulta = mysql_query("SELECT * FROM personas");
  6. $cant = mysql_num_rows($consulta);
  7. echo "$cant";
  8. if(cant == 0) { echo "$error005"; } else {
  9. echo "
  10. <table width=\"200\" border=\"1\" align=\"center\">
  11.  <tr>
  12.    <td>Empleado</td>
  13.    <td>Sueldo</td>
  14.    <td>Horas</td>
  15.    <td>Puesto</td>
  16.  </tr>";
  17. while($row = mysql_fetch_array($consulta)) {
  18.  echo "
  19.  <tr>
  20.    <td>$row['usuario']</td>
  21.    <td>$row['sueldo']</td>
  22.    <td>$row['horas']</td>
  23.    <td>$row['puesto']</td>
  24.  </tr> ";
  25.     }
  26. echo "</table>";
  27. }}?>

Prueba así..


Título: Re: problema pagina en blanco que busca y genera consulta (php y mysql)
Publicado por: maxwellnewage en 21 Junio 2010, 00:12 am
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\wamp\www\Gestion de empleados\todos.php on line 18

q se refiere a
<td>$row['usuario']</td>
por eso no metia todo en code PHP, por el kilombo de las comillas...


Título: Re: problema pagina en blanco que busca y genera consulta (php y mysql)
Publicado por: maxwellnewage en 21 Junio 2010, 00:17 am
bueno, lo solucione usando la funcion q me diste, mysql_num_rows :D
dejo el code final ^^
Código
  1. <?php
  2. include("conexion.php");
  3. include("globals.php");
  4. if(isset($_POST['todos'])) {
  5. $consulta = mysql_query("SELECT * FROM personas");
  6. $cant = mysql_num_rows($consulta);
  7. if($cant == 0) { echo "$error005"; } else {
  8. ?>
  9. <table width="200" border="1" align="center">
  10.  <tr>
  11.    <td>Empleado</td>
  12.    <td>Sueldo</td>
  13.    <td>Horas</td>
  14.    <td>Puesto</td>
  15.  </tr>
  16.  <?php while($row = mysql_fetch_array($consulta)) { ?>
  17.   <tr>
  18.    <td><?php echo $row['usuario']; ?></td>
  19.    <td><?php echo $row['sueldo']; ?></td>
  20.    <td><?php echo $row['horas']; ?></td>
  21.    <td><?php echo $row['puesto']; ?></td>
  22.  </tr>
  23.    <?php }}}?>
  24. </table>