Foros del Web » Programando para Internet » PHP »

valor de consulta en un text field

Estas en el tema de valor de consulta en un text field en el foro de PHP en Foros del Web. Hola, hago la siguiente consulta: Cita: $txtcedula=$_POST["txtcedula"]; include("conec.php"); $link=Conectarse(); $Sql="select * from empleado where cedula = '%$txtcedula%'"; #echo $Sql; $result=mysql_query($Sql,$link); la conexión estábien, la consulta, ...
  #1 (permalink)  
Antiguo 10/05/2006, 11:28
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 14 años
Puntos: 0
valor de consulta en un text field

Hola, hago la siguiente consulta:
Cita:
$txtcedula=$_POST["txtcedula"];
include("conec.php");
$link=Conectarse();
$Sql="select * from empleado where cedula = '%$txtcedula%'";
#echo $Sql;
$result=mysql_query($Sql,$link);

la conexión estábien, la consulta, al parecer también, ahora, lo que necesito es poner los datos de los diferentes campos de la tabla en "text fields" para que luego estos puedan se rmodificados, cómo hago para obtener esos valores que supongo están en $result ???
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #2 (permalink)  
Antiguo 10/05/2006, 11:40
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
De acuerdo

Necesitas hacer uso de la funcion mysql_fetch_array(), es decir:

Código PHP:
<?php
$txtcedula
=$_POST["txtcedula"];
include(
"conec.php");
$link=Conectarse();
$Sql="select * from empleado where cedula = '%$txtcedula%'";
#echo $Sql;
$result=mysql_query($Sql,$link); 
while(
$row mysql_fetch_array($result))
{
   echo 
"<inpuy type='text' name='nombre' value".$row["nombre"].">";
   echo 
"<inpuy type='text' name='cedula' value".$row["cedula"].">";
   
//Dentro de los corchetes va el nombre de los campos de la tabla
   
.
   . 
   .
}
?>
Saludillos

Última edición por mauled; 10/05/2006 a las 12:33
  #3 (permalink)  
Antiguo 10/05/2006, 11:42
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 11 años, 7 meses
Puntos: 2
Para eso tenes las funciones mysql_fetch_array(), mysql_fetch_row() o mysql_fetch_assoc().
Un ejemplo, si el resultado de la consulta tiene dos campos:
Código PHP:
<?
$result
=mysql_query($Sql,$link);
while (list(
$campo1$campo2) = mysql_fetch_row($resultado)) { //Recorre todo el resultado devolviendo los datos de una fila por vez
echo "Campo 1: $campo1";
echo 
"Campo 2: $campo2";
..
}
?>
Saludos.
  #4 (permalink)  
Antiguo 10/05/2006, 12:14
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 14 años
Puntos: 0
gracias por las respuestas,
mauled, cuando aplico lo que me dices no hace nada.... ni siquiera hace los textfields... (pareciera que ni siquiera entra al While)

Notwen, cuando aplico tu consejo, aparece lo siguiente:

Cita:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\archivos de programa\apache group\apache\htdocs\teleisa\mdificaempleado.php on line 76
la línea 76 es: $result=mysql_query($Sql,$link);
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #5 (permalink)  
Antiguo 10/05/2006, 12:19
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
El error que estas obteniendo es porque o bien la consulta no esta arrojando ningun resultado o bien hubo en error en query. Te sugiero que hagas lo siguiente
Código PHP:
<?
$result
=mysql_query($Sql,$link)or die(mysql_error()); 
//Indicanos que error esta arrojando
?>
Saludillos
  #6 (permalink)  
Antiguo 10/05/2006, 12:22
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 14 años
Puntos: 0
mauled, apliqué otra vez lo que me diste.... y me salió esto

Cita:
Fatal error: Call to undefined function: mysql_fetch_aray() in c:\archivos de programa\apache group\apache\htdocs\teleisa\mdificaempleado.php on line 76
:S
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #7 (permalink)  
Antiguo 10/05/2006, 12:24
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 14 años
Puntos: 0
al aplicar

$result=mysql_query($Sql,$link)or die(mysql_error());

no sale nada, será que la consulta no está funcionando?
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #8 (permalink)  
Antiguo 10/05/2006, 12:24
Avatar de DjFaramir  
Fecha de Ingreso: febrero-2003
Ubicación: La Plata, Buenos Aires, Argentina
Mensajes: 131
Antigüedad: 14 años, 9 meses
Puntos: 0
nada, ya contestaron...

la conexion la realiza?

Cita:
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('che vieja, no conecta: ' . mysql_error());
}
echo 'yeah dude, tamos dentro';
mysql_close($link);
EDIT:
Cita:
Iniciado por v_i_n_i_c_i_o
mauled, apliqué otra vez lo que me diste.... y me salió esto



:S
eso es porque es mysql_fetch_array... no mysql_fetch_aray... has hecho copy and paste y te copiaste un error de escritura :P
__________________
See you... y Tolkien... mucho Tolkien...
  #9 (permalink)  
Antiguo 10/05/2006, 12:29
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 14 años
Puntos: 0
mi conexión es esta
Cita:
<body bgcolor="#FFFFFF" text="#000000">
<?php
function Conectarse()
{
if
(!($link=mysql_connect("localhost","root","")))
{
echo "Error conectando a la base de datos, ";
exit();
}
if (!mysql_select_db("TELEISA",$link))
{
echo "Error seleccionando la base de datos, ";
exit();
}
return $link;
}
Conectarse();
echo "Transacción realizada satisfactoriamente, "
?>
y simpre dice, "Transacción realizada satisfactoriamente, "
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #10 (permalink)  
Antiguo 10/05/2006, 12:32
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 14 años
Puntos: 0
creo que el error se puede deber a que, el campo cédula en la DB es integer... y supongo que puede haber una confusión ya que al venir de un textfield lo puede estar tomando como string...

cómo puedo asegurarme de que reconozca txtcedula como int
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #11 (permalink)  
Antiguo 10/05/2006, 12:51
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 14 años
Puntos: 0
Cita:
Iniciado por DjFaramir
nada, ya contestaron...

la conexion la realiza?



eso es porque es mysql_fetch_array... no mysql_fetch_aray... has hecho copy and paste y te copiaste un error de escritura :P

Si realiza la conexión,

Tienes razón en lo del aray, pero si lo arreglo, lo que pasa es que entonces no sale nada, como indiqué la primera vez...
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #12 (permalink)  
Antiguo 10/05/2006, 12:55
Avatar de DjFaramir  
Fecha de Ingreso: febrero-2003
Ubicación: La Plata, Buenos Aires, Argentina
Mensajes: 131
Antigüedad: 14 años, 9 meses
Puntos: 0
entonces el problema central es el query...

has esto...

Cita:
$result=mysql_query($Sql,$link);
$cant=mysql_num_rows($result);

if ($cant==0){
echo "no hay nada para mostrar";
};
mysql_num_rows deberia devolverte la cantidad de registros obtenidos mediante el query...
__________________
See you... y Tolkien... mucho Tolkien...
  #13 (permalink)  
Antiguo 10/05/2006, 12:59
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 14 años
Puntos: 0
exacto, no encuentra el valor....

si imprimo en pantalla

Cita:
echo $Sql;
sale esto:
Cita:
from empleado where cedula = '%205690181%'
creo que los %% no deberían salir... o me equivoco?
además si tiene ' ' significa que es texto, y yo necesito que sea numérico.
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #14 (permalink)  
Antiguo 10/05/2006, 13:00
Avatar de DjFaramir  
Fecha de Ingreso: febrero-2003
Ubicación: La Plata, Buenos Aires, Argentina
Mensajes: 131
Antigüedad: 14 años, 9 meses
Puntos: 0
pues no, no deberia ir el %... los ' si... pero los % no...
__________________
See you... y Tolkien... mucho Tolkien...
  #15 (permalink)  
Antiguo 10/05/2006, 13:46
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 14 años
Puntos: 0
quitandole los %... indica que sí encuentra 1 registro... entonces el problema está a la hora de mostrarlo...
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #16 (permalink)  
Antiguo 10/05/2006, 13:57
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 14 años
Puntos: 0
con esto si me sirve:

Cita:
printf("cedula: %s nombre: %s", $row[cedula], $row[nombre]);
pero cómo hago para guardar esos valores en una vaiable ?
qué significa %s ?
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #17 (permalink)  
Antiguo 10/05/2006, 14:07
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 14 años
Puntos: 0
ya lo solucioné, así:
Cita:
$varcedula = $row[cedula];
$varnombre = $row[nombre];
con eso dentro del while es suficiente para guardar los valores...

luego sólo los asigno en el value del textfield con: <?echo"$varnombre"?>

pero ahora tengo otro problema y es que si uso la instrucción

printf("cedula: %s nombre: %s", $row[cedula], $row[nombre]);

el nombre aparece:

Nombre apellido1 apellido2

pero si uso <?echo"$varnombre"?> aparece:

Nombre



osea, corta los apellidos....
alguna idea para solucionarlo?
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #18 (permalink)  
Antiguo 10/05/2006, 14:28
Avatar de DjFaramir  
Fecha de Ingreso: febrero-2003
Ubicación: La Plata, Buenos Aires, Argentina
Mensajes: 131
Antigüedad: 14 años, 9 meses
Puntos: 0
Cita:
Iniciado por v_i_n_i_c_i_o
ya lo solucioné, así:


con eso dentro del while es suficiente para guardar los valores...

luego sólo los asigno en el value del textfield con: <?echo"$varnombre"?>

pero ahora tengo otro problema y es que si uso la instrucción

printf("cedula: %s nombre: %s", $row[cedula], $row[nombre]);

el nombre aparece:

Nombre apellido1 apellido2

pero si uso <?echo"$varnombre"?> aparece:

Nombre



osea, corta los apellidos....
alguna idea para solucionarlo?
<? echo $varnombre;?>
__________________
See you... y Tolkien... mucho Tolkien...
  #19 (permalink)  
Antiguo 10/05/2006, 14:34
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 14 años
Puntos: 0
Cita:
Iniciado por DjFaramir
<? echo $varnombre;?>


no, sigue igual...
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #20 (permalink)  
Antiguo 10/05/2006, 14:41
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
De acuerdo

Prueba con lo siguiente;
Código PHP:
<?
$varcedula 
$row["cedula"];
$varnombre $row["nombre"]; 
?>
Saludos
  #21 (permalink)  
Antiguo 10/05/2006, 16:36
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 14 años
Puntos: 0
igual, sólo escribe la primer palabra....
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
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 11:36.