Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/10/2015, 09:21
jlopezisern
 
Fecha de Ingreso: mayo-2014
Mensajes: 45
Antigüedad: 9 años, 10 meses
Puntos: 0
Recorrer array para una consulta, solo asigna el último valor.

Mi problema es el siguiente, a ver si alguien me puede ayudar pues no doy con ello.
Desde una aplicación Android envío una variable del tipo Array. Esta la recibo como un String.
En concreto la variable contiene una serie de tipos de establecimientos, Restaurante, Bar, Bar-Restaurante, etc. Esta es: $tiposfin=$_POST['subTiposFin'];
En Android tiene el formato: [Restaurante, Bar, Bar-Restaurante,…] y en el mismo formato de cadena la recibo en php.
Lo que hago, es convertirla en un array, primero eliminando los corchetes:
$reemplazar1=str_replace("[", "", $tiposfin);
$reemplazar2=str_replace("]", "", $reemplazar1);
Y después convertirla en un array:
$tipos=explode(',', $reemplazar2);
El problema surge a la hora de recorrer el array para la consulta, tanto con for, foreach o while.
La consulta que me interesa es:
for ($y=0; $y<count($tipos); $y++) {
$result = mysql_query("select id_cliente, nombre, tipo, precio, icono1, localidad FROM restauracion WHERE tipo = $tipos");
}
Pero para saber que valores me está pasando, en la tabla en el campo ‘nombre’ utilizo:
for($i=0;$i<count($tipos);$i++) {
$sql = mysql_query("UPDATE restauracion SET nombre = '$tipos[$i]' WHERE tipo = 'Cómida para llevar'");
}
Y entonces el problema es el siguiente, si el array tiene tres valores p.e. (Restaurante, Bar, Bar-Restaurante), sólo devuelve el último, en este caso Bar-Restaurante. No se a que se puede deber.