Cita:
Iniciado por Briss mis selects tienen que tener el mismo nombre???? porque yo tengo distintos ya que asi lo requiero , pero supongo q el for es para recorrer con el mismo nombre por favor indiquenme si estoy mal????
Briss te explico un poco el codigo que te dieron
en la linea que pones
$valor_select = $_POST["select$i"];
aqui el nombre del select sera select$i, donde $i sera cambiado por el valor de $i que tenga en el bucle for, que en este caso sera 1,2 o 3 quedando de la siguiente forma
select1
select2
select3
--Nota--
Sin desmerecer a los consejos que te han dado, yo no lo haría así.
Lo que haría seria recorrer el array $_POST con un foreach
y actuar en consecuencia dependiendo del valor que tenga.
Otra cosa que debes de tener en cuenta, es que lo que haces es un update, y si el valor no existe en la base de datos no podrá actualizarlo.
Una forma de solucionar esto seria comprobando si existe, si existe lanzar la sentencia sql para actualizar y si no existe lanzar una sentencia de inserción.
Aqui te dejo un poco de codigo
Código PHP:
Ver original<?php
/**
* conectamos a la base de datos con la clase mysqli para evitar
* funciones obsoletas de php
*/
$mysql = new mysqli('servidor', 'usuario', 'password', 'nombredb');
if($mysql->error){
echo 'Se produjo un error al conectar a la base de datos.<br />',
'compruebe los parametros de conexion';
}
/**
* Si llegamos aqui es que la conexion a sido exitosa
* y procedemos a recorrer los datos introducidos
*/
foreach ( $_POST as $nombre => $valor ) {
/**
* Procesamos solo las variables que empiezan por select y que no tienen
* un valor 0
*/
if( substr( $nombre, 0, 6 ) == 'select' && $valor != 0){ /**
* Creamos el nombre de la variable de la caja
*/
/**
* Comprobamos si el valor existe
*/
$exist = $mysql->query('SELECT seleccion FROM probando WHERE seleccion=\''.$valor.'\'');
/**
* Si existe lo actualizamos y si no lo introducimos
*/
$mysql->query('INSERT INTO probando (seleccion,texto)
VALUES (\''.$valor.'\',\''.$_POST[$nameValue].'\')');
}else{
$mysql->query('UPDATE probando SET texto=\''.$_POST[$nameValue].'\' WHERE seleccion=\''.$valor.'\'');
}
/**
* borramos la variable $exist y liberamos la memoria de resultados de mysqli
*/
}
}
/**
* Cerramos la conexion de la db
*/