problema pagina en blanco que busca y genera consulta (php y mysql)

Iniciado por maxwellnewage, 20 Junio 2010, 23:15 PM

0 Miembros y 1 Visitante están viendo este tema.

maxwellnewage

miren este code:
<?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!
<?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....

maxwellnewage

necesito una solucion antes de q pierda la cabeza!! ¬¬

MinusFour

Porque tanto abrir y cerrar las tags de php xD

Código (php) [Seleccionar]

<?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)) {
echo 
"<table width=\"200\" border=\"1\" align=\"center\">
  <tr>
    <td>Empleado</td>
    <td>Sueldo</td>
    <td>Horas</td>
    <td>Puesto</td>
  </tr>
  <tr>
    <td>
$row['usuario']</td>
    <td>
$row['sueldo']</td>
    <td>
$row['horas']</td>
    <td> 
$row['puesto']</td>
  </tr></table>"
;
}
}
}
}

?>


Prueba así, a ver que pasa...

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

maxwellnewage

justo encontre una solucion :D
<?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?

MinusFour

Estás seguro que la consulta devuelve 2 registros? Justo debajo de $consulta = mysql_query(...);
Pon:
Código (php) [Seleccionar]

echo "<h2>Número de Registros: " . mysql_num_rows($consulta) . "</h2><br />";

maxwellnewage

q *****, ahora ta peor....
lo q hice fue borrar todos los registros y poner uno nuevo...ahora directamente no toma ninguno ¬¬

MinusFour

Usa el código para verificar cuantos registros tienes... Si algo no concuerda, entonces revisa tu consulta...

maxwellnewage

mira, hice un archivo q toma a todos los empleados...
<?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...

MinusFour

Bueno, algunos detalles... que creo que se ajustan más a lo que quieres.

Código (php) [Seleccionar]
<?php
include("conexion.php");
include(
"globals.php");
if(isset(
$_POST['todos'])) {
$consulta mysql_query("SELECT * FROM personas");
$cant mysql_num_rows($consulta);
echo 
"$cant"
if(
cant == 0) { echo "$error005"; } else {
echo 
"
<table width=\"200\" border=\"1\" align=\"center\">
  <tr>
    <td>Empleado</td>
    <td>Sueldo</td>
    <td>Horas</td>
    <td>Puesto</td>
  </tr>"
;
while(
$row mysql_fetch_array($consulta)) {
  echo 
"
  <tr>
    <td>
$row['usuario']</td>
    <td>
$row['sueldo']</td>
    <td>
$row['horas']</td>
    <td>
$row['puesto']</td>
  </tr> "
;
     }
echo 
"</table>";
}}
?>


Prueba así..

maxwellnewage

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...