Foros del Web » Programando para Internet » PHP »

Guardar datos de array en DB

Estas en el tema de Guardar datos de array en DB en el foro de PHP en Foros del Web. Bueno Gente, estuve buscando por los foros información pero no llegue a encontrar lo que yo necesito especificamente. Lo que hago es tomar datos de ...
  #1 (permalink)  
Antiguo 22/05/2005, 22:40
Avatar de roswell  
Fecha de Ingreso: abril-2004
Ubicación: Buenos Aires
Mensajes: 80
Antigüedad: 20 años
Puntos: 0
Exclamación Guardar datos de array en DB

Bueno Gente, estuve buscando por los foros información pero no llegue a encontrar lo que yo necesito especificamente.

Lo que hago es tomar datos de la db y luego armar distintos radio buttons para tomar información, los guardo en un array.


Código PHP:
$result sql_query("select local, visitante, resultado from liga_partidos where jornada='$fechas' and tid='2'"$dbi);
$a=1;
while(list(
$local$visitante$res) = sql_fetchrow($result$dbi)) {
echo 
"<form name=\"form1\" method=\"post\" action=\"modules.php?name=Fixture&file=prode&op=Grabar\">";
echo 
"    <tr>\n";
echo 
"        <td width=\"3%\" style=\"border-left-color: #000000; border-right-color: #000000; border-top-color: #000000; border-top-width: 1px; border-bottom-color: #000000; border-bottom-width: 1px\">
          <input type=\"radio\" name=\"resultado[]\" Value='L'></td>\n"
;
echo 
"        <td width=\"47%\" style=\"border-top-style: none; border-top-width: medium; border-bottom-style: none; border-bottom-width: medium\">&nbsp;$local</td>\n";
echo 
"        <td width=\"3%\" style=\"border-left-color: #000000; border-right-color: #000000; border-top-color: #000000; border-top-width: 1px; border-bottom-color: #000000; border-bottom-width: 1px\">
                  <input type=\"radio\" name=\"resultado[]\" Value='E'></td>\n"
;
echo 
"        <td width=\"40%\" style=\"border-top: 1px none #000000; border-bottom: 1px none #000000; \">&nbsp;$visitante</td>\n";
echo 
"        <td width=\"3%\" style=\"border-left-color: #000000; border-top-color: #000000; border-top-width: 1px; border-bottom-width: 1px; border-bottom-color:#000000\" bordercolorlight=\"#000000\" bordercolordark=\"#000000\">
                  <input type=\"radio\" name=\"resultado[]\" Value='V'></td>\n"
;
echo 
"    </tr>\n";

$a++;
}
echo 
"</table>\n";
echo 
"<br><center><input type=\"submit\" value=\"Enviar\"></form></center>"

Luego las tomo con el siguiente codigo

Código PHP:
foreach ($_POST['resultado'] as $nombre){
echo 
$nombre."<br>";

con ese codigo recorro el array y veo las opciones seleccionadas, ahora yo necesito cada una de esas opciones guardarlas en la DB cada una en un registro distinto. Estuve probando pero no me sale, si alguien puede darme una mano le voy a agradecer.

Saludos
  #2 (permalink)  
Antiguo 23/05/2005, 01:43
Avatar de caerolus  
Fecha de Ingreso: agosto-2004
Ubicación: Madrid, España
Mensajes: 280
Antigüedad: 19 años, 7 meses
Puntos: 1
¿Cómo es la tabal en la que quierer guardarlos? Lo que tienes que hacer es cambiar la clave primaria para cada una de esas opciones. Si es un número, por ejemplo, pues meterlo en un bucle for (sobre la variable $i, por ejemplo) y hacer
INSERT INTO tabla VALUES ($i, $_POST['resultado'][$i]);
También puedes hacerlo en una sola consulta, concatenando el string del query en cada iteración:
INSERT INTO tabla VALUES (0, $_POST['resultado'][0]),(1, $_POST['resultado'][1]),.....,(n, $_POST['resultado'][n]);
Suerte
__________________
Mi página personal: Julián Urbano
  #3 (permalink)  
Antiguo 23/05/2005, 09:28
Avatar de roswell  
Fecha de Ingreso: abril-2004
Ubicación: Buenos Aires
Mensajes: 80
Antigüedad: 20 años
Puntos: 0
Código PHP:
INSERT INTO prode (iduidfechapartido1partido2partido3partido4partido5partido6partido7partido8partido9partido10partido11partido12partido13partido14partido15partido16partido17partido18partido19VALUES (NULL'$uid','$ultima',(0$_POST['resultado'][0]),(1$_POST['resultado'][1]))); 
Lo probe pero me da errores y no puedo lograr que funcione. Ahi dejo como es mi sentencia.
  #4 (permalink)  
Antiguo 23/05/2005, 10:00
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
que groso, un prode... me pa q voy a hacer uno para el próximo torneo :P
Probá con esta sentencia y si da error, decí que error da para que se pueda ver

Código PHP:
$valores implode(",",$_POST['resultado']);
"INSERT INTO prode (id, uid, fecha, partido1, partido2, partido3, partido4, partido5, partido6, partido7, partido8, partido9, partido10, partido11, partido12, partido13, partido14, partido15, partido16, partido17, partido18, partido19) VALUES (NULL, '$uid','$ultima',".$valores.")"
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 19:26.