Comunidad de diseño web y desarrollo en internet online

Problema con buscador PHP que muestra resultados en tabla

Citar            
MensajeEscrito el 06 Nov 2011 08:41 pm
Hola
No soy programador PHP como tal, por ende solo puedo hacer o comprender algunos cambios en PHP. Adapté un buscador simple para que me muestre los resultados en una table. Mi problema es que fila por fila en de cada respuesta me repite los campos de cabecera y solo deseo dichos campos en la parte superior de la tabla y no en cada registro mostrado. Cómo por favor podría solucionarlo? podría alguien sugerir un reacomodo del código por favor?
Muchas gracias de antemano
Qualito


<html>
<head>
<title>Buscador simple en PHP</title>
</head>
<body>
<form action="buscartfa.php" method="post">
Buscar: <input name="palabra">
<input type="submit" name="buscador" value="Buscar">
</form>
<?
if ($_POST['buscador'])
{
// Tomamos el valor ingresado
$buscar = $_POST['palabra'];

// Si está vacío, lo informamos, sino realizamos la búsqueda
if(empty($buscar))
{
echo "No se ha ingresado una cadena a buscar";
}else{
// Conexión a la base de datos y seleccion de registros
$con=mysql_connect("localhost","luisen_buscartfa", "password");
$sql = "SELECT * FROM tabla WHERE (USUARIO like '%$buscar%'
or CARGO like '%$buscar%' or
AREA like '%$buscar%' or
PLANTA like '%$buscar%' or
CLARO like '%$buscar%' or
MOVISTAR like '%$buscar%' or
RPM like '%$buscar%' or
NEXTEL like '%$buscar%' or
ANEXO like '%$buscar%' )";

mysql_select_db("luisen_buscartfa", $con);

$result = mysql_query($sql, $con);

// Tomamos el total de los resultados
$total = mysql_num_rows($result);

// Imprimimos los resultados
if ($row = mysql_fetch_array($result)){
echo "Resultados para: <b>$buscar</b>";
do {
?>
<table width="960" border=1>
<tr>
<th width="150">Usuario</th><th width="120">Cargo</th><th width="200">Área</th><th width="120">Proyecto</th><th width="80">Claro</th>
<th width="80">Movistar</th><th width="80">RPM</th><th width="80">Nextel</th><th width="50">Anexo</th>
</tr>

<tr>
<td>
<p><b><?=$row['USUARIO'];?></b></p>
</td>
<td>
<p><b><?=$row['CARGO'];?></b></p>
</td>
<td>
<p><b><?=$row['AREA'];?></b></p>
</td>
<td>
<p><b><?=$row['PLANTA'];?></b></p>
</td>
<td>
<p><b><?=$row['CLARO'];?></b></p>
</td>
<td>
<p><b><?=$row['MOVISTAR'];?></b></p>
</td>
<td>
<p><b><?=$row['RPM'];?></b></p>
</td>
<td>
<p><b><?=$row['NEXTEL'];?></b></p>
</td>
<td>
<p><b><?=$row['ANEXO'];?></b></p>
</td>

</tr>
</table>
<?
} while ($row = mysql_fetch_array($result));
echo "<p>Resultados: $total</p>";
} else {
// En caso de no encontrar resultados
echo "No se encontraron resultados para: <b>$buscar</b>";
}
}
}
?>
</body>
</html>

Por Qualito

4 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 07 Nov 2011 10:10 am
Debes sacar del bucle (do-while) el encabezado de la tabla y dejar solo el <tr> que muestra el resultado.

Código :

<html>
<head>
<title>Buscador simple en PHP</title>
</head>
<body>
<form action="buscartfa.php" method="post">
Buscar: <input name="palabra">
<input type="submit" name="buscador" value="Buscar">
</form>
<?
if ($_POST['buscador'])
{ 
// Tomamos el valor ingresado
$buscar = $_POST['palabra'];

// Si está vacío, lo informamos, sino realizamos la búsqueda
if(empty($buscar))
{
echo "No se ha ingresado una cadena a buscar";
}else{
// Conexión a la base de datos y seleccion de registros
$con=mysql_connect("localhost","luisen_buscartfa", "password");
$sql = "SELECT * FROM tabla WHERE (USUARIO like '%$buscar%' 
or CARGO like '%$buscar%' or 
AREA like '%$buscar%' or 
PLANTA like '%$buscar%' or 
CLARO like '%$buscar%' or 
MOVISTAR like '%$buscar%' or 
RPM like '%$buscar%' or 
NEXTEL like '%$buscar%' or 
ANEXO like '%$buscar%' )";

mysql_select_db("luisen_buscartfa", $con); 

$result = mysql_query($sql, $con); 

// Tomamos el total de los resultados
$total = mysql_num_rows($result);

// Imprimimos los resultados
if ($row = mysql_fetch_array($result)){ 
echo "Resultados para: <b>$buscar</b>";
?>
<table width="960" border=1>
<tr>
<th width="150">Usuario</th><th width="120">Cargo</th><th width="200">Área</th><th width="120">Proyecto</th><th width="80">Claro</th>
<th width="80">Movistar</th><th width="80">RPM</th><th width="80">Nextel</th><th width="50">Anexo</th>
</tr>
<?php
do { 
?>


<tr>
<td>
<p><b><?=$row['USUARIO'];?></b></p>
</td>
<td>
<p><b><?=$row['CARGO'];?></b></p>
</td>
<td>
<p><b><?=$row['AREA'];?></b></p>
</td>
<td>
<p><b><?=$row['PLANTA'];?></b></p>
</td>
<td>
<p><b><?=$row['CLARO'];?></b></p>
</td>
<td>
<p><b><?=$row['MOVISTAR'];?></b></p>
</td>
<td>
<p><b><?=$row['RPM'];?></b></p>
</td>
<td>
<p><b><?=$row['NEXTEL'];?></b></p>
</td>
<td>
<p><b><?=$row['ANEXO'];?></b></p>
</td>

</tr>

<?
} while ($row = mysql_fetch_array($result)); 
?>
</table>
<?php
echo "<p>Resultados: $total</p>";
} else { 
// En caso de no encontrar resultados
echo "No se encontraron resultados para: <b>$buscar</b>"; 
}
}
}
?>
</body>
</html>

Por One

Claber

1488 de clabLevel

5 tutoriales

Genero:Masculino  

Programador Web

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.