Problemas con array
Publicado por Javier (23 intervenciones) el 08/11/2012 19:42:23
Hola, buenas tardes.
Me encuentro atascado y la verdad es que no se que estoy haciendo mal.
Os cuento.
Tengo un proceso php que lee de una tabla mysql y lo presenta en pantalla. Hasta ahi bien.
El proceso marcaba es el siguiente:
Posteriormente y una vez cargada la pagina si pulso un input llamo a la siguiente funcion que lo que hace es leer el array y tratar los datos:
Este ultimo proceso es el que no funciona pues siempre me muestra el ultimo elemento del array.
¿Que estoy haciendo mal?.
Gracias a todos.
Javier
Me encuentro atascado y la verdad es que no se que estoy haciendo mal.
Os cuento.
Tengo un proceso php que lee de una tabla mysql y lo presenta en pantalla. Hasta ahi bien.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
echo "<script> i=0;</script>";
$query1 = "select * from $tabla_db2"; // Esta linea hace la consulta sobre las balizas
$result1 = mysql_query($query1);
while ($registro1 = mysql_fetch_array($result1)){
echo "<tr>
<td width='30'></td>
<td width='10'>".$registro1['ca']."</td>
<td width='10'>".$registro1['cb']."</td>
<td width='10'>".$registro1['cc']."</td>
</tr>
// el siguiente script va cargando el array conforme lee de la tabla (creo que es correcto).
<script> marcaba(i,".$registro1['cb'].",".$registro1['cc'].");</script>
// sumo 1 a i
<script> i= i + 1;</script>
El proceso marcaba es el siguiente:
1
2
3
4
5
6
7
8
9
10
function marcaba(i, valor1, valor2){
// carga el array balizas para luego posicionarlas en el mapa
s[i,0]= "dato"+ i;
s[i,1]= valor1;
s[i,2]= valor2;
// i=i++;
vari = "La longitud del array: " +s[i,1]+ ".." +s[i,2]+ ".." + s[i,0]
alert(vari);
};
Posteriormente y una vez cargada la pagina si pulso un input llamo a la siguiente funcion que lo que hace es leer el array y tratar los datos:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function marcab(balizas){
var markers = new OpenLayers.Layer.Markers( "Marca" );
map.addLayer(markers);
var size = new OpenLayers.Size(10,10);
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
var icon = new OpenLayers.Icon( "../img/punto.jpg", size,offset);
var icon1 = icon.clone();
c = 0;
for (c=0; c < balizas[c,0].length ;c++){
centro1 = new OpenLayers.LonLat(balizas[c,1], balizas[c,2]);
markers.addMarker(new OpenLayers.Marker(centro1, icon.clone()));
};
};
Este ultimo proceso es el que no funciona pues siempre me muestra el ultimo elemento del array.
¿Que estoy haciendo mal?.
Gracias a todos.
Javier
Valora esta pregunta


0