Foros del Web » Programando para Internet » PHP »

agradezco una mano amiga

Estas en el tema de agradezco una mano amiga en el foro de PHP en Foros del Web. medio funciona a ver si me pueden ayudar -------------------------------------------------------------------------------- buenas amigos estoy tratando de hacer una consulta html que llame a una rutina php que ...
  #1 (permalink)  
Antiguo 25/11/2005, 18:03
 
Fecha de Ingreso: marzo-2005
Mensajes: 2
Antigüedad: 12 años, 8 meses
Puntos: 0
agradezco una mano amiga

medio funciona a ver si me pueden ayudar

--------------------------------------------------------------------------------

buenas amigos
estoy tratando de hacer una consulta html que llame a una rutina php que buzque un codigo coincidente en una base de datos, si el codigo que se introduce en la entrada es numerico y coincide el php hace un display correcto, pero esto no funciona si el codigo posee un caracter o letras, por ejemplo, 15326386 lo consigue correctamente si el codigo es 33220-50G02-000 asi y todo coincida con un codigo en la tabla de la base de datos me da error. He definido los campos de la tabla num text varchar char y con ninguno funciona. se me tranco el cerrucho. notese que si en el caso de los codigos separados por guiones yo coloco los primeros cinco numeros me hace un display de todos los registros que comienzan por ese string, espero haberme explicado de todas maneras les hago mencion inmediatamente de los links de la consulta htm y php y ademas la estructura de ellos. espero puedan ayudarme

links http://www.radiadoresoriginales.com/consulta.htm
prueben este link con el codigo 15326386 y
pruebenlo con 33220-50G02 NO FUNCIONA
pero noten lo que hace si colocan 33220
la estructura del php es sencillo y es la siguiente
Código PHP:
<?
# recogemos en una variable el nombre de BASE DE DATOS

$base="juantru_general_motors";

# recogemos en una variable el nombre de la TABLA

$tabla="lista_precios_gm";


# establecemos la conexion con el servidor

$conexion=mysql_connect("63.245.200.155","juantru_ juantru","v6228688");

#asiganamos la conexión a una base de datos determinada

mysql_select_db($base,$conexion);

# establecemos el criterio de SELECCION
# en este caso los campos Contador, Nombre, Apellido1, Apellido2 unicamente
# añadimos un criterio de seleccion WHERE
# que como puedes ver es simple en este caso 
# el resultado de esta consulta serán los registros en los que 
# el campo Nombre contenga una S en la primera posicion

$resultadomysql_query("SELECT codigo, descripcion, precio_venta FROM $tabla WHERE (codigo = $codigo ) ",$conexion);


# CREAMOS UNA CABECERA DE UNA TABLA (codigo HTML)

echo "<table align=center border=2>";

# establecemos un bucle que recoge en un array
# cada una de las LINEAS DEL RESULTADO DE LA CONSULTA
# utilizamos en esta ocasión «mysql_fetch_row»
# en vez de «mysql_fetch_array» para EVITAR DUPLICADOS
# recuerda que esta ultima función devuelve un array escalar
# y otro asociativo con los resultados

while ($registro mysql_fetch_row($resultado)){

# insertamos un salto de línea en la tabla HTML

echo "<tr>";

# establecemos el bucle de lectura del ARRAY
# con los resultados de cada LINEA
# y encerramos cada valor en etiquetas <td></td>
# para que aparezcan en celdas distintas de la tabla

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


# cerramos la conexion

mysql_close(); 

?>
el html es mas sencillo aun y pueden ver la codificacion viendo el codigo fuente del link http://www.radiadoresoriginales.com/consulta.htm


saludos y de antemano les agradezco la gentil diligencia

Última edición por jam1138; 12/12/2005 a las 20:19
  #2 (permalink)  
Antiguo 26/11/2005, 03:12
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 12 años, 6 meses
Puntos: 7
Prueba a cambiar
Código PHP:
$resultadomysql_query("SELECT codigo, descripcion, precio_venta FROM $tabla WHERE (codigo = $codigo ) ",$conexion); 
por
Código PHP:
$resultadomysql_query("SELECT codigo, descripcion, precio_venta FROM $tabla WHERE codigo = '$codigo' ",$conexion); 
Saludos y suerte.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 26/11/2005, 06:37
 
Fecha de Ingreso: marzo-2005
Mensajes: 2
Antigüedad: 12 años, 8 meses
Puntos: 0
amigo
con este cambio en realidad no funciona, creo que debe ser como cargo o defino la entrada de datos, que creeis
  #4 (permalink)  
Antiguo 27/11/2005, 19:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Parece que tienes problemas con ciertos caracteres que no se están "escapando" como son esos: - (guión) .. o incluso comillas .. etc.

Puedes usar:

Código PHP:
$resultadomysql_query("SELECT codigo, descripcion, precio_venta FROM $tabla WHERE codigo = '".mysql_real_escape($codigo)."' ",$conexion); 
De todas formas, revisa la documentación oficial, tienes mejores propuestas para hacer tu código más seguro (ya no sólo solventar el problema puntual):

http://www.php.net/manual/en/functio...ape-string.php

Un saludo,
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 04:29.