Foros del Web » Programando para Internet » PHP »

guardar valores de mysql en una tabla array y buscar en la tabla

Estas en el tema de guardar valores de mysql en una tabla array y buscar en la tabla en el foro de PHP en Foros del Web. Hola, Soy nueva en este foro pero es que tengo un problema que no puedo resolver aunque parezca sencillo. Quiero introducir los valores de una ...
  #1 (permalink)  
Antiguo 26/01/2008, 17:42
Avatar de Sara21  
Fecha de Ingreso: enero-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
guardar valores de mysql en una tabla array y buscar en la tabla

Hola,
Soy nueva en este foro pero es que tengo un problema que no puedo resolver aunque parezca sencillo.
Quiero introducir los valores de una búsqueda en una matriz array y luego buscar allí un determinado valor.

He intentado con eto pero nada:
Código PHP:
$datamysql_query("SELECT id FROM cantantes WHERE disco_id='3'",$connexion);
  while(
$result=mysql_fetch_array($data))
if (
in_array('13',$result[0])) echo "el cantante con id 13 se encontra en la matriz"; else echo "pos no"
Llevo días intentando resolverlo pero nada, no hay manera,
¡Estoy desesperada!
¿Por favor, puede alguien ayudarme?
Gracias
  #2 (permalink)  
Antiguo 26/01/2008, 17:56
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: guardar valores de mysql en una tabla array y buscar en la tabla

Ummm $result[0] no es un array, es el id del registro en el que te encuentres.
  #3 (permalink)  
Antiguo 26/01/2008, 18:06
Avatar de Sara21  
Fecha de Ingreso: enero-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: guardar valores de mysql en una tabla array y buscar en la tabla

Lo que quiero es buscar entre los id de esa columna, por eso marco [0].
Si no lo hago obtengo un error del tipo:

Cita:
Warning: in_array() [function.in-array]: Wrong datatype for second argument
  #4 (permalink)  
Antiguo 26/01/2008, 18:12
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: guardar valores de mysql en una tabla array y buscar en la tabla

Pero esa variable no es un array. Cuando ejecutas una consulta a la BDD, con el comando mysql_fetch_array mete en una variable (en éste caso $result) el registro actual del resultado.

Es decir, tu bucle lo que hará es recorrer todos los resultados que ha devuelto el query a la BDD y en cada iteración del bucle meterá en la variable $result el registro actual. Como en la consulta sólo has seleccionado el id, la variable (que esa sí es un array) sólo contendrá ese campo, al que se puede acceder con $result[0] ó $result['id'].

Pero no es un array con todos los resultados, contiene un sólo registro. Para que lo entiendas prueba a poner esto:

Código PHP:

$data
mysql_query("SELECT id FROM cantantes WHERE disco_id='3'",$connexion); 

while(
$result=mysql_fetch_array($data)) 
     echo 
"<br /> ID actual: $result[0]"
  #5 (permalink)  
Antiguo 26/01/2008, 18:34
Avatar de Sara21  
Fecha de Ingreso: enero-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: guardar valores de mysql en una tabla array y buscar en la tabla

Ok, te sigo,
Pero, entonces, como debería hacer para crear una verdadera array a partir de las id resultantes de mi consulta a la base?
  #6 (permalink)  
Antiguo 26/01/2008, 19:19
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: guardar valores de mysql en una tabla array y buscar en la tabla

Hasta donde yo sé, no hay ninguna instrucción que meta en un array el resultado de una consulta a la BDD.

Lo que puedes hacer es asignárselo a un array en un bucle.

Código PHP:

$data
mysql_query("SELECT id FROM cantantes WHERE disco_id='3'",$connexion); 

$num_resultadosmysql_num_rows($data);

for (
$i=1;$i<$num_resultados+1$i++) {
    
$row=mysql_fetch_array($data);
        
$array_resultados[$i] = $row[0];

  #7 (permalink)  
Antiguo 26/01/2008, 19:27
Avatar de Sara21  
Fecha de Ingreso: enero-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: guardar valores de mysql en una tabla array y buscar en la tabla

Muchísimas gracias,
Pensaba que me iba a quedar bloqueada aquí para siempre!
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 22:18.