Foros del Web » Programando para Internet » PHP »

Insertar bucle POST en un solo registro en mysql

Estas en el tema de Insertar bucle POST en un solo registro en mysql en el foro de PHP en Foros del Web. Hola, amigos tengo una duda inmensa, el tema es que tengo una pagina donde voy generando mediante un boton de agragar varios input dinamicamente, a ...
  #1 (permalink)  
Antiguo 31/01/2012, 11:42
 
Fecha de Ingreso: marzo-2010
Mensajes: 14
Antigüedad: 14 años, 1 mes
Puntos: 0
Insertar bucle POST en un solo registro en mysql

Hola, amigos tengo una duda inmensa, el tema es que tengo una pagina donde voy generando mediante un boton de agragar varios input dinamicamente, a la hora de recoger esos input generados lo hago mediante un bucle foreach, el tema es que necesito en una sola fila de la base de datos guardar los campos recogidos en un solo campo, pueden ser separados por comas, pero con el bucle me inserta un registro por cada valor del campo que recoja y lo que necesito es que me inserte los valores en un campo pero en un solo registro, espero me puedan ayudar?
  #2 (permalink)  
Antiguo 31/01/2012, 11:44
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Insertar bucle POST en un solo registro en mysql

Pues si nos mostraras el codigo seria mas fácil ayudarte, pero como no sabemos lo mas facil es que concatenes los valores en una variable para después ser insertada en la BD.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 31/01/2012, 14:46
 
Fecha de Ingreso: marzo-2010
Mensajes: 14
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Insertar bucle POST en un solo registro en mysql

Hola muchas gracias, les muestro el codigo para que vean que es lo que quiero, el formulario con el script que genera por el boton los campos es el siguiente:

Código HTML:
 <script language="javascript" type="text/javascript">
var indiceFilaFormulario=1;
function addCampo(){
 myNewRow = document.getElementById("tablaFormulario").insertRow(-1); 
 myNewRow.id=indiceFilaFormulario;
  myNewCell=myNewRow.insertCell(-1);
 myNewCell.innerHTML="<td valign='middle'>Valor: <input type='text' name='valor["+indiceFilaFormulario+"]' /></td>";
 myNewCell=myNewRow.insertCell(-1);
 myNewCell.innerHTML="<td valign='middle'>Puntaje: <input type='text' name='puntaje["+indiceFilaFormulario+"]' /></td>";
 myNewCell=myNewRow.insertCell(-1);
 myNewCell.innerHTML="<td valign='middle'><input type='button' value='-' onclick='removePerson(this)' /></td>";
 indiceFilaFormulario++;
}
 
function removePerson(obj){ 
 var oTr = obj;
 while(oTr.nodeName.toLowerCase()!='tr'){
  oTr=oTr.parentNode;
 }
 var root = oTr.parentNode;
 root.removeChild(oTr);
}
</script>

<form name="nvar_l" id="nvar_l" method="post" action="">
<input type="text" name="nombre" id="nombre"> 
Agregar Valores: 
<fieldset id="fiel">
<input type="button" onClick="addCampo()" value="+" >
<table id="tablaFormulario"></table>
</fieldset>
  <p>
      <input type="submit" name="nvar_l" value="Agregar" id="nvar_l" />
  </p>
</form> 
el codigo php donde recojo los valores y los inserto en la bd es:

Código PHP:
if ($_POST['nvar_l']) {
$nombre $_POST['nombre'];

foreach (
$_POST['valor'] as $indice => $valor) {
 
$puntaje=$_POST['puntaje'][$indice];

mysql_query("INSERT INTO variables_l (nombre, valores, puntaje) VALUES ('".$nombre."', '".$valor."', '".$puntaje."', '".$evaluacion."', '".$pestana."')");

 } 
de esta manera en la bd se me inserta:


id nombre valores puntaje
-- ---------- --------- ----------
1 xxxx valor1 puntaje1
2 xxxx valor2 puntaje2
3 xxxx valor3 puntaje3

y lo que quiero es que se inserten los valores y puntajes generados dinamicamente en un solo campo pero en un solo registro, por ejemplo:

id nombre valores_puntaje
-- ---------- ---------------------
1 xxxx valor1=puntaje1,valor2=puntaje2,valor3=puntaje3,et c

espero me haya hecho explicar mejor, cualquier ayuda lo agradeceré
  #4 (permalink)  
Antiguo 31/01/2012, 14:52
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Insertar bucle POST en un solo registro en mysql

Código PHP:
Ver original
  1. if ($_POST['nvar_l']) {
  2. $nombre = $_POST['nombre'];
  3. $puntaje = "";
  4.  
  5. foreach ($_POST['valor'] as $indice => $valor) {
  6. $puntaje .= $_POST['puntaje'][$indice].",";
  7. }
  8. mysql_query("INSERT INTO variables_l (nombre, valores, puntaje) VALUES ('".$nombre."', '".$valor."', '".$puntaje."', '".$evaluacion."', '".$pestana."')");

PDT: No se de donde salen $evaluacion y $pestana
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 31/01/2012, 14:56
 
Fecha de Ingreso: marzo-2010
Mensajes: 14
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Insertar bucle POST en un solo registro en mysql

Cita:
Iniciado por jotaincubus Ver Mensaje
Código PHP:
Ver original
  1. if ($_POST['nvar_l']) {
  2. $nombre = $_POST['nombre'];
  3. $puntaje = "";
  4.  
  5. foreach ($_POST['valor'] as $indice => $valor) {
  6. $puntaje .= $_POST['puntaje'][$indice].",";
  7. }
  8. mysql_query("INSERT INTO variables_l (nombre, valores, puntaje) VALUES ('".$nombre."', '".$valor."', '".$puntaje."', '".$evaluacion."', '".$pestana."')");

PDT: No se de donde salen $evaluacion y $pestana
disculpe, no le pare bolas a eso, seria de la siguiente manera:

Código PHP:
if ($_POST['nvar_l']) { 
$nombre $_POST['nombre'];
$puntaje "";

foreach (
$_POST['valor'] as $indice => $valor) {
$puntaje .= $_POST['puntaje'][$indice].","
}
mysql_query("INSERT INTO variables_l (nombre, valores, puntaje) VALUES ('".$nombre."', '".$valor."', '".$puntaje."')"); 

Etiquetas: bucle, mysql, post, registro
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 03:25.