Foros del Web » Programando para Internet » PHP »

Consulta de usuarios con furmulario

Estas en el tema de Consulta de usuarios con furmulario en el foro de PHP en Foros del Web. Buenas tardes a todos. Estoy intentando hacer una consulta a la bd pero me genera el siguiente error: Warning: mysql_fetch_array() expects parameter 1 to be ...
  #1 (permalink)  
Antiguo 22/06/2011, 16:08
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Consulta de usuarios con furmulario

Buenas tardes a todos.

Estoy intentando hacer una consulta a la bd pero me genera el siguiente error: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\agenda\consultar_usuario.php on line 14.

Estoy manejando esto con tres archivos .php. El primero es el de conexión de la base de datos (conectarmysql.php), el segundo archivo es el del formulario donde ingreso el nombre a buscar (formulario_consultar_usuario.php) y el tercero es el de la consulta (consultar_usuario.php)

Llevo días trabajando y aún no encuentro el error, cualquier ayuda o sugerencia les agradezco. Les dejo los códigos de los tres archivos.

conectarmysql.php

<?php
//Conexion a la base de datos
$direccion = "localhost";
$usuario = "root";
$password = "hotmail";
$db = mysql_connect ($direccion, $usuario, $password) or die ("Error al conectar");

//Seleccion de la base de datos
mysql_select_db("agenda", $db) or die (mysql_error());
?>

formulario_consultar_usuario.php

<HTML>
<HEAD>
<TITLE>Agenda del Dr. Forero</TITLE>
</HEAD>
<BODY>
<H1 ALIGN = "center">Bienvenido Dr. Daniel Forero</H1>
<HR ALIGN = "center" SIZE = "5" WIDTH = "100%">
<H3 ALING = "left"><U>Esta es su agenda electronica digital</U></H3>
<HR ALING = "center" SIZE = "5" WIDTH = "100%">
<BR>
<TABLE WIDTH = "100%" BORDER = "3" CELLSPACING = "1" CELLPADDING = "5">
<TR>
<TD><P ALIGN = "center"><B><A HREF = "home.html" TARGER = "_self">Home</A></B></P></TD>
<TD><P ALIGN = "center"><B><A HREF = "formulario_consultar_usuario.php" TARGET = "_self">Consultar</A></B></P></TD>
<TD><P ALIGN = "center"><B><A HREF = "formulario_registrar_usuario.php" TARGET = "_self" >Registrar</A></B></P></TD>
<TD><P ALIGN = "center"><B><A HREF = "formulario_eliminar_usuario.php" TARGET = "_self">Eliminar</A></B></P></TD>
</TR>
</TABLE>
<BR><BR>
<DIV ALIGN = "center">
<H3>Consultar un registro</H3>
<BR>
<FORM ACTION = "consultar_usuario.php" METHOD = "post">
<STRONG>Digite nombre:</STRONG>
<INPUT TYPE = "text" NAME = "buscar" SIZE = "40"><BR><BR>
<INPUT TYPE = "submit" VALUE = "Consultar" NAME = "buscar">
</FORM>
</BODY>
</HTML>

consultar_usuario.php

<html>
<body>
<?php
$buscar = $_POST['buscar'];
if (!isset($buscar)){
echo "<p>Debe especificar una cadena a buscar</p>";
echo "<p><a href= formulario_consultar_usuario.php>Volver</p>";
echo "</html></body>";
exit;
}
include('conectarmysql.php');
$sql = "SELECT * FROM agenda WHERE nombre LIKE %".$buscar."%' ORDER BY nombre";
$result = mysql_query($sql, $db);
if ($row = mysql_fetch_array($result)){
echo "<table style='border: 4px red dotted;' border = 1>";
//Mostramos los nombres de las tablas
mysql_field_seek($result,0);
while ($field = mysql_fetch_field($result)){
echo "<td><b>".$field->name."</b></td>";
}
echo "</tr>";
do {
echo "<tr>";
echo "<td>".$row['id']."</td>";
echo "<td>".$row['nombre']."</td>";
echo "<td>".$row['direccion']."</td>";
echo "<td>".$row['telefono']."</td>";
echo "</tr>";
} while( $row = mysql_fetch_array($result) );
echo "<p><a href='buscador_bd.htm'>Volver</p>";
echo "</table>";
} else {
echo "<p>¡No se ha encontrado ningún registro!</p>";
echo "<p><a href='formulario_consultar_usuario.php'>Volver</p>";
}
?>
</body>
</html>
  #2 (permalink)  
Antiguo 22/06/2011, 16:17
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Consulta de usuarios con furmulario

Mi estimado, tu like en la sentencia sql esta incorrecto (Debe estar entre comillas)....

Cambia:
$sql = "SELECT * FROM agenda WHERE nombre LIKE %".$buscar."%' ORDER BY nombre";
Por:
$sql = "SELECT * FROM agenda WHERE nombre LIKE '%$buscar%' ORDER BY nombre";

P.D. Recuerda que no es necesario abrir y cerrar comillas para poner variables php si se tratan de comillas dobles.

Suerte
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #3 (permalink)  
Antiguo 22/06/2011, 16:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consulta de usuarios con furmulario

El primer error que recibes es porque seguramente la consulta esta mal redactada.

Para averiguarlo solo basta con depurar todas tus consultas:
Código PHP:
$result mysql_query($sql$db) or die(mysql_error()); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 22/06/2011, 16:27
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Consulta de usuarios con furmulario

pateketrueke, he realizado lo que me has dicho. Y ahora me genera un error que es: Table 'agenda.agenda' doesn't exist. Yo en mi phpMyAdmin sí tengo una base de datos llamada agenda.
  #5 (permalink)  
Antiguo 22/06/2011, 16:30
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Consulta de usuarios con furmulario

Y el codigo que yo postie
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #6 (permalink)  
Antiguo 22/06/2011, 17:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consulta de usuarios con furmulario

Si, la base de datos existe pero... ¿también existe una tabla con el mismo nombre?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 23/06/2011, 07:07
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Consulta de usuarios con furmulario

pateketrueke, no, no tengo una tabla con el mismo nombre. Mi tabla se llama registrar, ¿qué podría ser?
  #8 (permalink)  
Antiguo 23/06/2011, 07:45
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Consulta de usuarios con furmulario

Hola a todos, ya he corregido el error que decía: Table 'agenda.agenda' doesn't exist.. Ahora, resulta que me dice que ¡No se ha encontrado ningún registro!, pero si tengo registros creados. ¿Cuál es el error? :(
  #9 (permalink)  
Antiguo 23/06/2011, 08:05
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Consulta de usuarios con furmulario

Saludos

Imprime la consulta y ejecútala en un cliente mysql o phpmyadmin.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #10 (permalink)  
Antiguo 23/06/2011, 09:35
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Consulta de usuarios con furmulario

Cita:
Iniciado por masterojitos Ver Mensaje
Mi estimado, tu like en la sentencia sql esta incorrecto (Debe estar entre comillas)....

Cambia:
$sql = "SELECT * FROM agenda WHERE nombre LIKE %".$buscar."%' ORDER BY nombre";
Por:
$sql = "SELECT * FROM agenda WHERE nombre LIKE '%$buscar%' ORDER BY nombre";

P.D. Recuerda que no es necesario abrir y cerrar comillas para poner variables php si se tratan de comillas dobles.

Suerte
Es de mala educacion, no contestar.... si probaste mi codigo o no..... trate de ayudarte pero veo que te da igual......
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #11 (permalink)  
Antiguo 23/06/2011, 13:34
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Consulta de usuarios con furmulario

masterojitos, que pena contigo, discúlpame por favor. Sí lo probé y lo modifique, pero me sigue generando el error ¡No se ha encontrado ningún registro!.

Nano_ ¿cómo vas? no entiendo muy bien tus instrucciones, soy nuevo en esto, mil gracias por tu colaboración.
  #12 (permalink)  
Antiguo 23/06/2011, 13:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consulta de usuarios con furmulario

A ver, si la tabla se llama registrar, ¿porque haces una SELECT * FROM agenda?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 23/06/2011, 14:23
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Consulta de usuarios con furmulario

pateketrueke, tienes toda la razón, es SELECT * FROM registrar (lo había escrito mal arriba). Genera el mismo error: ¡No se ha encontrado ningún registro!.
  #14 (permalink)  
Antiguo 23/06/2011, 14:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consulta de usuarios con furmulario

Pero es que no entiendo por que le dices error, simplemente esta mostrando lo que programaste en caso de que no hubieran registros.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #15 (permalink)  
Antiguo 23/06/2011, 15:21
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Consulta de usuarios con furmulario

pateketrueke, gracias. Oye sí es error, porque en el campo del formulario yo le escribo consultar un apellido que le he acabado de insertar y no me muestra nada. Yo tengo varios registros y a ninguno lo llama, siempre me dice que no se ha encontrado ningún registro.
  #16 (permalink)  
Antiguo 23/06/2011, 15:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consulta de usuarios con furmulario

Muestra tu código actual a ver si haces algo diferente.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 23/06/2011, 15:31
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Consulta de usuarios con furmulario

Ante todo mil gracias a todos.

Acá esta pateketrueke.

conectarmysql.php
<?php
//Conexion a la base de datos
$direccion = "localhost";
$usuario = "root";
$password = "hotmail";
$db = mysql_connect ($direccion, $usuario, $password) or die ("Error al conectar");

//Seleccion de la base de datos
mysql_select_db("agenda", $db) or die (mysql_error());
?>

formulario_consultar_usuario.php
<HTML>
<HEAD>
<TITLE>Agenda del Dr. Forero</TITLE>
</HEAD>
<BODY>
<H1 ALIGN = "center">Bienvenido Dr. Daniel Forero</H1>
<HR ALIGN = "center" SIZE = "5" WIDTH = "100%">
<H3 ALING = "left"><U>Esta es su agenda electronica digital</U></H3>
<HR ALING = "center" SIZE = "5" WIDTH = "100%">
<BR>
<TABLE WIDTH = "100%" BORDER = "3" CELLSPACING = "1" CELLPADDING = "5">
<TR>
<TD><P ALIGN = "center"><B><A HREF = "home.html" TARGER = "_self">Home</A></B></P></TD>
<TD><P ALIGN = "center"><B><A HREF = "formulario_consultar_usuario.php" TARGET = "_self">Consultar</A></B></P></TD>
<TD><P ALIGN = "center"><B><A HREF = "formulario_registrar_usuario.php" TARGET = "_self" >Registrar</A></B></P></TD>
<TD><P ALIGN = "center"><B><A HREF = "formulario_eliminar_usuario.php" TARGET = "_self">Eliminar</A></B></P></TD>
</TR>
</TABLE>
<BR><BR>
<DIV ALIGN = "center">
<H3>Consultar un registro</H3>
<BR>
<FORM ACTION = "consultar_usuario.php" METHOD = "post">
<STRONG>Digite nombre:</STRONG>
<INPUT TYPE = "text" NAME = "buscar" SIZE = "40"><BR><BR>
<INPUT TYPE = "submit" VALUE = "Consultar" NAME = "buscar">
</FORM>
</BODY>
</HTML>

consultar_usuario.php
<html>
<body>
<?php
$buscar = $_POST['buscar'];
if (!isset($buscar)){
echo "<p>Debe especificar una cadena a buscar</p>";
echo "<p><a href= formulario_consultar_usuario.php>Volver</p>";
echo "</html></body>";
exit;
}
include('conectarmysql.php');
$sql = "SELECT * FROM registrar WHERE nombre LIKE '%$buscar%' ORDER BY nombre";
$result = mysql_query($sql, $db) or die(mysql_error());
if ($row = mysql_fetch_array($result)){
echo "<table style='border: 4px red dotted;' border = 1>";
//Mostramos los nombres de las tablas
mysql_field_seek($result,0);
while ($field = mysql_fetch_field($result)){
echo "<td><b>".$field->name."</b></td>";
}
echo "</tr>";
do {
echo "<tr>";
echo "<td>".$row['id']."</td>";
echo "<td>".$row['nombre']."</td>";
echo "<td>".$row['direccion']."</td>";
echo "<td>".$row['telefono']."</td>";
echo "</tr>";
} while( $row = mysql_fetch_array($result) );
echo "<p><a href='buscador_bd.htm'>Volver</p>";
echo "</table>";
} else {
echo "<p>¡No se ha encontrado ningún registro!</p>";
echo "<p><a href='formulario_consultar_usuario.php'>Volver</p>";
}
?>
</body>
</html>

Mil y mil gracias.
  #18 (permalink)  
Antiguo 23/06/2011, 15:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consulta de usuarios con furmulario

Cuando recibas tu formulario imprime el valor de la consulta que vas a ejecutar.

¿Esta bien formada?

¿Si la ejecutas directamente da resultados?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #19 (permalink)  
Antiguo 23/06/2011, 15:44
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Consulta de usuarios con furmulario

pateketrueke, no te entiendo
  #20 (permalink)  
Antiguo 23/06/2011, 15:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consulta de usuarios con furmulario

Esta es la consulta a ejecutar:
Código PHP:
$sql "SELECT * FROM registrar WHERE nombre LIKE '%$buscar%' ORDER BY nombre"
Y así la imprimes...
Código PHP:
echo $sql
¿Que muestra?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #21 (permalink)  
Antiguo 23/06/2011, 15:48
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Consulta de usuarios con furmulario

pateketrueke, ¿dónde y cómo ejecuto esa sentencia?

Última edición por sdforero_22; 23/06/2011 a las 15:56
  #22 (permalink)  
Antiguo 24/06/2011, 08:57
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Consulta de usuarios con furmulario

Hola a todos. Les cuento, creo que he dado con el error, pero para variar, me genera otro : He modificado y dejado la siguiente línea: if (!isset($_POST['buscar'])){.

Ahora, me muestra todos los registros que tengo en la BD y, además, me sale un error que dice: Notice: Undefined variable: buscar in C:\xampp\htdocs\agenda\consultar_usuario.php on line 11

Obviamente no quiero que me muestre todos los registros que tengo, sino, únicamente el apellido que digite en el formulario de consulta. Espero me puedan ayudar, muchas gracias a todos.

consultar_usuario.php
<html>
<body>
<?php
if (!isset($_POST['buscar'])){ //Línea que agregué
echo "<p>Debe especificar una cadena a buscar</p>";
echo "<p><a href= formulario_consultar_usuario.php>Volver</p>";
echo "</html></body>";
exit;
}
include("conectarmysql.php");
$sql = "SELECT * FROM registrar WHERE apellido LIKE '%$buscar%' ORDER BY 'apellido'"; //Acá me dice que la variable no está definida
$result = mysql_query($sql, $db) or die(mysql_error());
if ($row = mysql_fetch_array($result)){
echo "<table style='border: 4px red dotted;' border = 1>";
//Mostramos los nombres de las tablas
mysql_field_seek($result,0);
while ($field = mysql_fetch_field($result)){
echo "<td><b>".$field->name."</b></td>";
}
echo "</tr>";
do {
echo "<tr>";
echo "<td>".$row['Nombre']."</td>";
echo "<td>".$row['Apellido']."</td>";
echo "<td>".$row['Celular']."</td>";
echo "<td>".$row['Direccion']."</td>";
echo "</tr>";
} while( $row = mysql_fetch_array($result) );
echo "<p><a href= formulario_consultar_usuario.php>Volver</p>";
echo "</table>";
} else {
echo "<p>¡No se han encontrado registros!</p>";
echo "<p><a href='formulario_consultar_usuario.php'>Volver</p>";
}
?>
</body>
</html>
  #23 (permalink)  
Antiguo 24/06/2011, 09:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consulta de usuarios con furmulario

sdforero_22, te falta definir $buscar
Código PHP:
$buscar $_POST['buscar']; 
¿O esperabas que se definiera mágicamente?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #24 (permalink)  
Antiguo 24/06/2011, 09:25
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Consulta de usuarios con furmulario

Ya lo he hecho, pero si lo hago me sigue diciendo que !No se han encontrado registros . Este es el código que tengo ahora. Muchas gracias pateketrueke

<?php
$buscar = $_POST['buscar'];
if (!isset($_POST['buscar'])){

echo "<p>Debe especificar una cadena a buscar</p>";
echo "<p><a href= formulario_consultar_usuario.php>Volver</p>";
echo "</html></body>";
exit;
}
include("conectarmysql.php");
$sql = "SELECT * FROM registrar WHERE apellido LIKE '%$buscar%' ORDER BY 'apellido'";
$result = mysql_query($sql, $db) or die(mysql_error());
if ($row = mysql_fetch_array($result)){
echo "<table style='border: 4px red dotted;' border = 1>";
//Mostramos los nombres de las tablas
mysql_field_seek($result,0);
while ($field = mysql_fetch_field($result)){
echo "<td><b>".$field->name."</b></td>";
}
echo "</tr>";
do {
echo "<tr>";
echo "<td>".$row['Nombre']."</td>";
echo "<td>".$row['Apellido']."</td>";
echo "<td>".$row['Celular']."</td>";
echo "<td>".$row['Direccion']."</td>";
echo "</tr>";
} while( $row = mysql_fetch_array($result) );
echo "<p><a href= formulario_consultar_usuario.php>Volver</p>";
echo "</table>";
} else {
echo "<p>¡No se han encontrado registros!</p>";
echo "<p><a href='formulario_consultar_usuario.php'>Volver</p>";
}
?>
  #25 (permalink)  
Antiguo 24/06/2011, 09:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consulta de usuarios con furmulario

A ver, prueba esto:
Código PHP:
include("conectarmysql.php");
$buscar = isset($_POST['buscar']) ? $_POST['buscar'] : '';
$sql "SELECT * FROM registrar WHERE apellido LIKE '%$buscar%' ORDER BY 'apellido'";
$result mysql_query($sql$db) or die(mysql_error());
echo 
mysql_num_rows($result);
echo 
"<pre>$sql</pre>"
¿Que resulta?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #26 (permalink)  
Antiguo 24/06/2011, 09:47
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Consulta de usuarios con furmulario

pateketrueke, muchas gracias por tu colaboración.

Si ejecuto el archivo consultar_usuario.php en http://localhost/agenda/consultar_usuario.php, me dice lo siguiente: 3
SELECT * FROM registrar WHERE apellido LIKE '%%' ORDER BY 'apellido'
.

Ahora, si ejecuto toda la aplicación http://localhost/agenda/home.php y doy clic en consultar me sale: 0
SELECT * FROM registrar WHERE apellido LIKE '%Consultar%' ORDER BY 'apellido'
.

Si no escribo nada en el campo de búsqueda me genera: 0
SELECT * FROM registrar WHERE apellido LIKE '%Consultar%' ORDER BY 'apellido'


Qué significa eso?
  #27 (permalink)  
Antiguo 24/06/2011, 09:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consulta de usuarios con furmulario

Eso es porque el submit que tienes en el formulario tiene el mismo name del campo para buscar.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #28 (permalink)  
Antiguo 24/06/2011, 10:12
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Consulta de usuarios con furmulario

Mil gracias pateketrueke, ya he corregido el name del formulario.

<FORM ACTION = "consultar_usuario.php" METHOD = "post">
<STRONG>Digite apellido:</STRONG>
<INPUT TYPE = "text" NAME = "buscar" SIZE = "40"><BR><BR>
<INPUT TYPE = "submit" VALUE = "Consultar" NAME = "consultar">
</FORM>

1. Ahora cuando ejecuto el archivo consultar_usuario.php directamente en el http://localhost/agenda/consultar_usuario.php, me muestra: 3
SELECT * FROM registrar WHERE apellido LIKE '%%' ORDER BY 'apellido'

2. Cuando ejecuto la aplicación http://localhost/agenda/home.php y doy clic en consultar y sin llenar el campo del formulario me sale: 3
SELECT * FROM registrar WHERE apellido LIKE '%%' ORDER BY 'apellido'

3. Cuando ejecuto la aplicación http://localhost/agenda/home.php y doy clic en consultar y escribo un apellido en el campo del formulario me sale: 1


SELECT * FROM registrar WHERE apellido LIKE '%Forero%' ORDER BY 'apellido'

Ahora, 3 es el número de registros que tengo creados.

Entonces, haciendo la modificación en el name del formulario_buscar_usuario.php (como esta arriba) y dejando el código que tenía en consultar_usuario.php

<?php
$buscar = 'buscar';
if (!isset($_POST['buscar'])){
echo "<p>Debe especificar una cadena a buscar</p>";
echo "<p><a href= formulario_consultar_usuario.php>Volver</p>";
echo "</html></body>";
exit;
}
include("conectarmysql.php");
$sql = "SELECT * FROM registrar WHERE apellido LIKE '%$buscar%' ORDER BY 'apellido'";
$result = mysql_query($sql, $db) or die(mysql_error());
if ($row = mysql_fetch_array($result)){
echo "<table style='border: 4px red dotted;' border = 1>";
//Mostramos los nombres de las tablas
mysql_field_seek($result,0);
while ($field = mysql_fetch_field($result)){
echo "<td><b>".$field->name."</b></td>";
}
echo "</tr>";
do {
echo "<tr>";
echo "<td>".$row['Nombre']."</td>";
echo "<td>".$row['Apellido']."</td>";
echo "<td>".$row['Celular']."</td>";
echo "<td>".$row['Direccion']."</td>";
echo "</tr>";
} while( $row = mysql_fetch_array($result) );
echo "<p><a href= formulario_consultar_usuario.php>Volver</p>";
echo "</table>";
} else {
echo "<p>¡No se han encontrado registros!</p>";
echo "<p><a href='formulario_consultar_usuario.php'>Volver</p>";
}
?>

Me sale:

1. Si ejecuto el archivo consultar_usuario.php en http://localhost/agenda/consultar_usuario.php me muestra: 3
SELECT * FROM registrar WHERE apellido LIKE '%%' ORDER BY 'apellido'

2. Si ejecuto la aplicación y doy clic en consultar sin llenar el campo de búsqueda me muestra: ¡No se han encontrado registros!

3. Si ejecuto la aplicación y doy clic en consultar y escribo un apellido en la búsqueda me muestra: ¡No se han encontrado registros!
  #29 (permalink)  
Antiguo 24/06/2011, 10:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consulta de usuarios con furmulario

Bueno, hasta el punto de ejecutar la consulta todo va bien.

Ahora los problemas que tienes son de lógica, pues tienes toda una telaraña que dudo entiendas llena de comparaciones locas, bucles, seeks, etc...

Te invito a buscar algún tema similar en el foro, de verdad te va a ser de gran ayuda leer.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: usuarios
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 18:04.