Foros del Web » Programando para Internet » PHP »

Imprimir una consultas segun condicio???

Estas en el tema de Imprimir una consultas segun condicio??? en el foro de PHP en Foros del Web. Hola amigos, primera vez que estoy en esta categoria dentro de forosdelweb, estoy aprendiendo un poco de php, ya que manejo bastante bien asp. La ...
  #1 (permalink)  
Antiguo 01/11/2004, 06:26
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Imprimir una consultas segun condicio???

Hola amigos, primera vez que estoy en esta categoria dentro de forosdelweb, estoy aprendiendo un poco de php, ya que manejo bastante bien asp.

La pregunta es la siguiente realize un formulario de busqueda en html el cual envia una variable a una pagina de php que realiza una busqueda en Mysql el funciona a la mil maravilla, pero lo unico incoveniente es que cuando el no consigue el dato me IMPRIME LA CABECERA DE LA TABLA, trate de colocar un IF pero no me da resultado y lo que quiero es que SI NO ENCUENTRA UN RESULTADO ME DFIGA QUE NO EXISTE EL REGISTRO Y SI EXISTE QUE ME IMPRIMA LOS RESULTADOS CON SU TABLA. Le dejo el codigo de la busqueda en php:

<?
include("conex_bd.php");
?>
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<BODY bgcolor="#90B4E0" topmargin="30" leftmargin="0">
<?

$Cedula = addslashes($_POST["cedula"]);
$sel = mysql_query("SELECT Cedula,Nombres,Apellidos,Marca,Modelo,Color,Ano,Pl aca,Precio FROM moto_pedido WHERE Cedula=$Cedula ");
echo "<table align=center border=2>";
echo "<td><CENTER><B>Cedula</B></CENTER></td>";
echo "<td><CENTER><B>Nombres</B></CENTER></td>";
echo "<td><CENTER><B>Apellidos</B></CENTER></td>";
echo "<td><CENTER><B>Marca</B></CENTER></td>";
echo "<td><CENTER><B>Modelo</B></CENTER></td>";
echo "<td><CENTER><B>Color</B></CENTER></td>";
echo "<td><CENTER><B>Ano</B></CENTER></td>";
echo "<td><CENTER><B>Placa</B></CENTER></td>";
echo "<td><CENTER><B>Precio</B></CENTER></td>";
while($registro = mysql_fetch_row($sel)){
# insertamos un salto de línea en la tabla HTML

echo "<tr>";

foreach($registro as $clave){
echo "<td>",$clave,"</td>";
}
}
echo "</table>";
# cerramos la conexion

mysql_close();
?>

</body>
</html>
Espero me den una idea, lo necesito mucho
__________________
Miguel Padrón :cool:
  #2 (permalink)  
Antiguo 01/11/2004, 06:39
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 14 años, 3 meses
Puntos: 4
Puedes poner justo debajo del mysql_query:
Código PHP:
$filas=mysql_affected_rows($sel);//coge el nº de filas afectadas por la operacion anterior 
Y despues haces un IF, que si $filas>0 pues que muestre tu tabla y lo que quieras, y sino que muestre un mensaje de erro que tu quieras: echo "Erroor etc, etc!;

Espero haberte ayudado.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #3 (permalink)  
Antiguo 01/11/2004, 08:22
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
realize lo que me pediste y me sale este error:
Parse error: parse error, unexpected T_VARIABLE, expecting '(' in c:\archivos de programa\easyphp1-7\www\mari-php\busqueda.php on line 16

El codigo completo es:

<?
include("conex_bd.php");
?>
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<BODY bgcolor="#90B4E0" topmargin="30" leftmargin="0">
<?

$Cedula = addslashes($_POST["cedula"]);
$sel = mysql_query("SELECT Cedula,Nombres,Apellidos,Marca,Modelo,Color,Ano,Pl aca,Precio FROM moto_pedido WHERE Cedula=$Cedula ");
Linea #16- $filas=mysql_affected_rows($sel);//coge el nº de filas afectadas por la operacion
IF $filas>0{
echo "<table align=center border=2>";
echo "<td><CENTER><B>Cedula</B></CENTER></td>";
echo "<td><CENTER><B>Nombres</B></CENTER></td>";
echo "<td><CENTER><B>Apellidos</B></CENTER></td>";
echo "<td><CENTER><B>Marca</B></CENTER></td>";
echo "<td><CENTER><B>Modelo</B></CENTER></td>";
echo "<td><CENTER><B>Color</B></CENTER></td>";
echo "<td><CENTER><B>Ano</B></CENTER></td>";
echo "<td><CENTER><B>Placa</B></CENTER></td>";
echo "<td><CENTER><B>Precio</B></CENTER></td>";
while($registro = mysql_fetch_row($sel)){
# insertamos un salto de línea en la tabla HTML

echo "<tr>";

foreach($registro as $clave){
echo "<td>",$clave,"</td>";
}
}
echo "</table>";
# cerramos la conexion

mysql_close();
}
else{
echo "No hay registro"}
?>

</body>
</html>
Sera que no te entiendo,,, me podrian ayudar
__________________
Miguel Padrón :cool:
  #4 (permalink)  
Antiguo 01/11/2004, 10:12
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 14 años, 3 meses
Puntos: 4
Prueba a poner a sustituir:
$filas=mysql_affected_rows($sel);
por
$filas=mysql_affected_rows();

Ese error creo que me ocurrio a mi alguna vez y era por eso, no pasarle ningun argumento a la funcion.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #5 (permalink)  
Antiguo 01/11/2004, 12:25
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Sigo teniendo problema en esa linea, no hay otra forma de hacer esto????
__________________
Miguel Padrón :cool:
  #6 (permalink)  
Antiguo 01/11/2004, 13:17
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Gracias amigo ya lo resolvi, lo que hice fue:
if(mysql_num_rows($sel) == 0) {
echo "<CENTER><H2>No se encontraron resultados en la búsqueda.</H2></CENTER>" ;
}
else {
despues de la sentencia sql
__________________
Miguel Padrón :cool:
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




La zona horaria es GMT -6. Ahora son las 14:23.