Foros del Web » Programando para Internet » PHP »

consultas de un solo resultado

Estas en el tema de consultas de un solo resultado en el foro de PHP en Foros del Web. holas, tengo un problema, resulta k hago un select k yo se k me recogera 1 sola fila (por el asunto de clave primaria) pero ...
  #1 (permalink)  
Antiguo 09/01/2003, 15:25
^_^
 
Fecha de Ingreso: noviembre-2002
Ubicación: ValparaPancho
Mensajes: 41
Antigüedad: 22 años
Puntos: 0
consultas de un solo resultado

holas, tengo un problema, resulta k hago un select k yo se k me recogera 1 sola fila (por el asunto de clave primaria) pero no se como implementarlo,

ejemplo.-

primero la conexión

<?
$link=Conectarse()<- me conecto a la base de datos;
$result=mysql_query("select * from Cliente where Cod_Cliente = $id and Nom_Cli = $Nombre",$link);
?>

luego se k me dará un solo resultado(un solo registro o fila), pero solo he visto hacer lo siguiente

<?
....
....
While($row = mysql_fetch_array($result))
{

$Apellido = $row["Ape_Cli"];
$Est_Civil = $row["Est_Cli"];
....
}
...
....
?>

lo k kiero hacer es omitir el While y hacer una asignación directa (y no se k como hacer la variable $row)

Ojala se me entienda

Gracias.....

^_^
__________________
___
  #2 (permalink)  
Antiguo 09/01/2003, 15:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Una solución seria usando mysql_result():

(quitando el while)

$Apellido=mysql_result($result,'Ape_Cli',0);

Y así con todos los campos de ese registro (unico) que te arroja esa consulta.

Un saludo,
  #3 (permalink)  
Antiguo 09/01/2003, 15:35
^_^
 
Fecha de Ingreso: noviembre-2002
Ubicación: ValparaPancho
Mensajes: 41
Antigüedad: 22 años
Puntos: 0
soy un poco iniciado en esto y justo algo asi taba buscando


gracias Cluster....
__________________
___
  #4 (permalink)  
Antiguo 09/01/2003, 17:33
Avatar de SpiceMan  
Fecha de Ingreso: noviembre-2002
Mensajes: 160
Antigüedad: 22 años
Puntos: 0
o hacer el mysql_fetch_array($result) sin el while... ya que estas 100% seguro que va a iterar 1 sola vez...

con hacer:
$row = mysql_fetch_array($result);

ya tenes el array $row con todos los datos.

Como comentario aparte:
si el ID es unico, no es necesario que ademas de comparar el ID, compares el nombre... y quitando esa comparación es una optimización más

PD: no estoy seguro pero creo haber leido que mysql_fetch_row, mysql_fetch_array etc son más rápidos que mysql_result

Última edición por SpiceMan; 09/01/2003 a las 17:38
  #5 (permalink)  
Antiguo 09/01/2003, 17:40
Avatar de SpiceMan  
Fecha de Ingreso: noviembre-2002
Mensajes: 160
Antigüedad: 22 años
Puntos: 0
estaba en lo cierto:

http://www.php.net/manual/en/function.mysql-result.php

dice:
Recommended high-performance alternatives: mysql_fetch_row(), mysql_fetch_array(), and mysql_fetch_object().
  #6 (permalink)  
Antiguo 09/01/2003, 18:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Ya puestos en el tema optimización (me gusta que salgan mensajes como estos y se den varias opciones para un mismo o similar resultado). ..

En vez de usar mysql_fetch_array() .. usar mysql_fetch_assoc() si no se va acceder por indice númerico como es el caso. Aunque como siempre .. ahora habria que comparar estas a su vez con mysql_fetch_row() ....

Un saludo,
  #7 (permalink)  
Antiguo 09/01/2003, 21:28
^_^
 
Fecha de Ingreso: noviembre-2002
Ubicación: ValparaPancho
Mensajes: 41
Antigüedad: 22 años
Puntos: 0
ok, gracias ya entendi la idea a los 2, voy a probar altiro tb esa forma

salu2....


^_^
__________________
___
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 13:10.