Foros del Web » Programando para Internet » PHP »

Buscar en una tabla

Estas en el tema de Buscar en una tabla en el foro de PHP en Foros del Web. Buenas Tardes: Tengo una tabla asi: $mapa_6_provincias=array(); Necesito sumar 1 en la cantidad por cada registro que leo de la misma provincia y el array_search ...
  #1 (permalink)  
Antiguo 14/09/2012, 16:40
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años
Puntos: 3
Buscar en una tabla

Buenas Tardes:

Tengo una tabla asi:
$mapa_6_provincias=array();

Necesito sumar 1 en la cantidad por cada registro que leo de la misma provincia y el array_search no me da la posición o sea no encuentra lo que busco y siempre me agrega otra ocurrencia al array.

while ($datos=mysql_fetch_array($query))
{
$posicion=array_search($datos['nompro'],$mapa_6_provincias);
if ($posicion==0)
$mapa_6_provincias[]=array($datos['idprovincia']=>$datos['nompro'],cantidad=>1 );
else
$mapa_6_provincias[$posicion]=array(cantidad=> $mapa_6_provincias[$posicion]['cantidad'] +1);
}

Muchas Gracias por su tiempo si pueden darme una mano.
  #2 (permalink)  
Antiguo 14/09/2012, 16:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Buscar en una tabla

1. El array $mapa_6_provincias está vacío, supongo que es un ejemplo pero deberías mostrar que podría contener ya que es complicado deducir algún posible resultado
2. La función array_search() devuelve FALSE en caso de no encontrar nada, recuerda que los índices de una array comienzan desde cero y ese es un resultado válido, no se si estés consiente de esto en tu comparación
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 14/09/2012, 18:50
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Buscar en una tabla

Creo que te complicas un poco, porque tienes un array (numérico) que contiene solo arrays (asociativos) de dos elementos y bien puedes usar como indice 'idprovincia':

Código PHP:
Ver original
  1. while ($datos=mysql_fetch_array($query)) {
  2.     if (isset($mapa_6_provincias[$datos['idprovincia']])) {
  3.         // Ya existe, sólo sumas 1
  4.         $mapa_6_provincias[$datos['idprovincia']]['cantidad'] ++;
  5.     } else {
  6.         // No existe, creas el elemento
  7.         $mapa_6_provincias[$datos['idprovincia']] = array('nombre' => $datos['nompro'], 'cantidad' => 1);
  8.     }
  9. }
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: registro, sql, tabla
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 00:17.