Foros del Web » Programando para Internet » PHP »

como guardar usando un for?

Estas en el tema de como guardar usando un for? en el foro de PHP en Foros del Web. hola amigos, tengo un pequeño problema. Yo basicamente hago estas cosas con dreamweaver, pero cuando tengo que meter mano en el codigo quedo corta y ...
  #1 (permalink)  
Antiguo 18/06/2012, 10:33
 
Fecha de Ingreso: junio-2012
Ubicación: En Chile :D
Mensajes: 44
Antigüedad: 11 años, 9 meses
Puntos: 0
como guardar usando un for?

hola amigos, tengo un pequeño problema. Yo basicamente hago estas cosas con dreamweaver, pero cuando tengo que meter mano en el codigo quedo corta y no se como avanzar... estuve investigando y para realizar lo que quiero, debo guardar mediante un for, creo... y es ahi donde no se que cosa hacer.... me pueden ayudar porfa?

Tengo esta tabla dentro de un formulario, en la cual es posible marcar varias filas, y todas debo guardarlas en una base de datos

Código PHP:
  <label for="gus"></label>
  <table border="1">
    <tr>
      <td>&nbsp;</td>
      <td>gustos</td>
    </tr>
    <?php 
    $i 
0;
    do { 
    
?>
      <?php echo "<tr><td><input name='obs_".$i."' type='checkbox' id='obs_".$i."' value='".$row_Recordset1[gustos']."'/>
            <
label for='gus_".$i."'></label></td>
            <
td>".$row_Recordset1['gustos']."</td>
            </
tr>";
    $i++; ?>
      <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
  </table>
y este es el codigo con el que guarda los datos en la tabla de la base de datos...

Código PHP:
<?php require_once('Connections/localhost.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

$editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset(
$_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  
$insertSQL sprintf("INSERT INTO prueba (prueba) VALUES (%s)",
                       
GetSQLValueString($_POST['obs'], "text"));

  
mysql_select_db($database_localhost$localhost);
  
$Result1 mysql_query($insertSQL$localhost) or die(mysql_error());
}
?>
Ojala no sea muy complicado, muchas gracias por su ayuda
  #2 (permalink)  
Antiguo 18/06/2012, 11:23
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 12 años, 6 meses
Puntos: 9
Respuesta: como guardar usando un for?

Podrias explicar un poco mas claramente lo que quieres hacer?.. Saludos
  #3 (permalink)  
Antiguo 18/06/2012, 11:58
 
Fecha de Ingreso: junio-2012
Ubicación: En Chile :D
Mensajes: 44
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: como guardar usando un for?

si, claro...

quiero guardar, separado por comas o punto y comas, en el mismo espacio de la base de datos todos los checkbox guardados.

por ejemplo

esta es mi tabla

Código:
X  |  rojo
   |  azul
X  |  amarillo
X  |  rosa
X  |  verde
y que al guardar en la base de datos lo haga en el formato "rojo, amarillo, rosa, verde"

Me explico?
  #4 (permalink)  
Antiguo 18/06/2012, 12:27
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 12 años, 6 meses
Puntos: 9
Respuesta: como guardar usando un for?

Es decir que todos ocuparian un mismo campo de una tabla? Podrias hacer algo asi:

$cadena= $_POST['rojo'].",".$_POST['azul'].",".$_POST['amarillo'].",".$_POST['rosa'].",".$_POST['verde'];

$query= "INSERT INTO nombre_tabla (nombre_campo_de_checkbox) VALUES ('$cadena');

No se si es eso realmente lo quieres hacer o no te supiste explicar bien... Me avisas si eso te sirve... Saludos
  #5 (permalink)  
Antiguo 18/06/2012, 12:33
 
Fecha de Ingreso: junio-2012
Ubicación: En Chile :D
Mensajes: 44
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: como guardar usando un for?

con lo que tu me dices creo que puedo hacer algo... gracias...

volvere si no me funciona ^^
  #6 (permalink)  
Antiguo 18/06/2012, 12:35
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 12 años, 6 meses
Puntos: 9
Respuesta: como guardar usando un for?

Fijate que estoy concatenado lo que me esta trayendo de los checkbox... Como tu dijiste que todo tenia que ir en un solo campo.. Suerte
  #7 (permalink)  
Antiguo 18/06/2012, 12:56
 
Fecha de Ingreso: junio-2012
Ubicación: En Chile :D
Mensajes: 44
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: como guardar usando un for?

Cita:
Iniciado por dragonfire256 Ver Mensaje
Es decir que todos ocuparian un mismo campo de una tabla? Podrias hacer algo asi:

$cadena= $_POST['rojo'].",".$_POST['azul'].",".$_POST['amarillo'].",".$_POST['rosa'].",".$_POST['verde'];

$query= "INSERT INTO nombre_tabla (nombre_campo_de_checkbox) VALUES ('$cadena');

No se si es eso realmente lo quieres hacer o no te supiste explicar bien... Me avisas si eso te sirve... Saludos
emmm... no, no pude, porque la tabla de los colores viene de una base de datos, entonces ira creciendo cada vez que se agregue un nuevo color...
en "$cadena=" deberia un un $_POST con "gus" el cual va creciendo dependiendo de la cantidad de filas que tenga la tabla de los colores...
  #8 (permalink)  
Antiguo 18/06/2012, 13:02
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 12 años, 6 meses
Puntos: 9
Respuesta: como guardar usando un for?

Cita:
Iniciado por marce_vampira Ver Mensaje
emmm... no, no pude, porque la tabla de los colores viene de una base de datos, entonces ira creciendo cada vez que se agregue un nuevo color...
en "$cadena=" deberia un un $_POST con "gus" el cual va creciendo dependiendo de la cantidad de filas que tenga la tabla de los colores...
No seria gus seria entonces, seria obs_".$i."' Acuerdate que el $_POST reconoce los nombre contenidos en el atributo name
  #9 (permalink)  
Antiguo 18/06/2012, 13:51
 
Fecha de Ingreso: junio-2012
Ubicación: En Chile :D
Mensajes: 44
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: como guardar usando un for?

en eso estoy pues, es lo que pregunte al principio... no se como realizarlo... por eso abri el post :(
  #10 (permalink)  
Antiguo 18/06/2012, 13:57
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 12 años, 6 meses
Puntos: 9
Respuesta: como guardar usando un for?

A mi me ayudaron hace unas semanas con una duda que tenia con checkbox creados de forma dinamica y que luego iba a una base de datos que actualizaba dependiendo si estaba seleccionado o no... En mi caso fue un update... Lo tuyo seria con un insert, pero de todas formas echale un ojo a ver si te puede servir http://www.forosdelweb.com/f18/crear...amente-987982/
  #11 (permalink)  
Antiguo 18/06/2012, 14:17
 
Fecha de Ingreso: junio-2012
Ubicación: En Chile :D
Mensajes: 44
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: como guardar usando un for?

muchas gracias :D
  #12 (permalink)  
Antiguo 18/06/2012, 14:23
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 12 años, 6 meses
Puntos: 9
Respuesta: como guardar usando un for?

Pero te sirvio? Lo pudiste adaptar? De todas formas, no es bueno dejarle todo a dreamweaver... Usalo para la parte visual y para php, te toca echar codigo...

Etiquetas: formulario, html, mysql, sql, tabla
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:37.