Foros del Web » Programando para Internet » PHP »

Ayuda urgente funcion

Estas en el tema de Ayuda urgente funcion en el foro de PHP en Foros del Web. hola amigos: Me gustaría que me echarais un vistazo a este codigo. Todo está bien la consulta y devuelve resultados. Lo único que quiero es ...
  #1 (permalink)  
Antiguo 23/12/2002, 11:47
 
Fecha de Ingreso: julio-2002
Mensajes: 19
Antigüedad: 21 años, 9 meses
Puntos: 0
Ayuda urgente funcion

hola amigos: Me gustaría que me echarais un vistazo a este codigo. Todo está bien la consulta y devuelve resultados. Lo único que quiero es un array, meterlo en una funcion para poder hacer consultas a este array con parametros.

$rs_query=mysql_query($SQL,$oConn);
$rs=mysql_fetch_array($rs_query);

$i=0;

while($rs=mysql_fetch_array($rs_query))
{
$miarray[$i]=$rs[0]."|".$rs[1]."|".$rs[3];

$i=$i+1;
}

function buscarcta($cta)
{


For ($size=1;$size<=65;$size++)
{
$mi=explode("|",$miarray[$i]);
if ($mi[0]=$cta)
{
$function_ret=$mi[1];*******
}

}

return $function_ret;
}
$cuentamia='430';
echo buscarcta($cuentamia);

Porque si donde están los ******* me devuelve $mi[0] y no devuelve ni el $mi[1] ni el $mi[2] que es el que me interesa. Gracias. La consulta está bien y todo. Lo que persigo es pode consultar a este array para no tener que consultar muchas veces al mysql. Ayudame por favor. Gracias.
  #2 (permalink)  
Antiguo 23/12/2002, 12:01
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
Tu error está en la función:
Código PHP:
function buscarcta($cta)
{

For (
$size=1;$size<=65;$size++)
{
$mi=explode("|",$miarray[$i]);
if (
$mi[0]=$cta)
{
$function_ret=$mi[1];*******
}

Primero, if($mi[0]=$cta) deberías sustituirlo por if($mi[0]==$cta) (un = es asignar, y == es para comparar). Segundo, $miarray debes declararlo global, creo que era al principio de la función poner global $miarray pero no estoy seguro. Prueba y cuentanos
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #3 (permalink)  
Antiguo 23/12/2002, 13:41
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Como ya te han dicho, el = es para asignar y el == para comparar. Y tambien debes decirle a la funcion que $miarray es una variable global, con global $miarray al comienzo de la funcion.

Lo que no te entendido muy bien que es lo que quieres que devuelva la funcion. ¿Solo un campo? ¿O un array con todos los campos de un registro? ¿O un array con todos los registros que cumplen la condicion (que no se si puede haber mas de uno, pero en tu bucle asi parece)? Si lo que quieres es devolver el array con todos los campos, debes devolver $mi, no $mi[1].

Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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:16.