Foros del Web » Programando para Internet » PHP »

[Guardar Datos] De un Combo

Estas en el tema de [Guardar Datos] De un Combo en el foro de PHP en Foros del Web. Hola! Bien, mi problema es el siguiente: Yo se como llamar los datos de una tabla llamada: equis y mostrarlos en el combo que necesito. ...
  #1 (permalink)  
Antiguo 16/08/2010, 16:15
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 14 años, 4 meses
Puntos: 0
Pregunta [Guardar Datos] De un Combo

Hola!

Bien, mi problema es el siguiente:

Yo se como llamar los datos de una tabla llamada: equis y mostrarlos en el combo que necesito. Ahora, al mostrarlos en ese combo, quiero que el usuario seleccione el que desee y asi guardarlo en la tabla de esa pagina! y segun yo si tenia la idea como... Pero simplemete no me funciona

Muestro mi codigo:
Código PHP:
Ver original
  1. <tr>
  2.                   <?php
  3.                         $query_catalogo1="select left (catalogo.codigo,8) AS cod_subcuenta, catalogo.descripcion, left (catalogo.codigo,4) AS cod_cuenta from sistemas.catalogo where movimientos='SI' ORDER BY catalogo.codigo";
  4.                         $record_1 = mysql_query($query_catalogo1);
  5.                         $row_catalogo1 = mysql_fetch_assoc($record_1);
  6.                       ?>
  7.                 </table>
  8.                 <table width="200" border="0">
  9.                   <tr>
  10.                     <td>&nbsp;</td>
  11.                   </tr>
  12.                 </table>
  13.                 <table width="822" border="0">
  14.                   <tr>
  15.                     <td width="8%" class="fuente8">Catalogo</td>
  16.                     <td width="23%" class="fuente8"><select id="codigo_catalogo" name="codigo_catalogo" class="comboMedio" style="font-size:9px">
  17.                         <option value="0">Seleccione</option>
  18.                         <?php
  19. do {  
  20.     $query_catalogo2= "SELECT descripcion FROM catalogo WHERE codigo = '".$row_catalogo1['cod_cuenta']."' ";
  21.     $record_2 = mysql_query($query_catalogo2);
  22.     $row_catalogo2 = mysql_fetch_assoc($record_2);
  23.     ?>
  24.                         <option value="<?=$row_catalogo1['cod_subcuenta']?>">
  25.                           <?=substr($row_catalogo2['descripcion'],0,25)."->> ".substr($row_catalogo1['descripcion'],0,40)?>
  26.                       </option>
  27.                         <?php
  28. } while ($row_catalogo1 = mysql_fetch_assoc($record_1));
  29. ?>
  30.                     </select></td>
  31.                     <td width="13%" class="fuente8">Importacion Grabada</td>
  32.                     <td width="10%" class="fuente8">$
  33.                       <input NAME="importacion_grabada" type="text" class="cajaPequena2" id="importancion_grabada" size="10" maxlength="10" value="0"></td>
  34.                     <td width="10%" class="fuente8">Cantidad Exenta</td>
  35.                     <td width="11%" class="fuente8">$
  36.                       <input NAME="cantidad_exenta" type="text" class="cajaPequena2" id="cantidad_exenta" size="10" maxlength="10" value="0"></td>
  37.                     <td width="12%" class="fuente8">Importacion Exenta</td>
  38.                     <td width="13%" class="fuente8">$
  39.                       <input NAME="importancion_exenta" type="text" class="cajaPequena2" id="importacion_exenta" size="10" maxlength="10" value="0"></td>
  40.                   </tr>
  41.                 </table>
  42.                 <table width="319" border="0" cellpadding="3">
  43.                   <tr>
  44.                     <td width="10%" class="fuente8"><div align="right">xx</div></td>
  45.                     <td width="17%" class="fuente8">%
  46.                     <input NAME="xx" type="text" class="cajaMinima" id="xx" size="3" maxlength="3" value="0" onChange="valporcentaje()"></td>
  47.                     <td width="10%" class="fuente8"><div align="right">mm</div></td>
  48.                     <td width="17%" class="fuente8">%
  49.                     <input NAME="mm" type="text" class="cajaMinima" id="mm" size="3" maxlength="3" value="0" onChange="valporcentaje()"></td>
  50.                     <td width="9%" class="fuente8"><div align="right">nn</div></td>
  51.                     <td width="20%" class="fuente8">%
  52.                     <input NAME="nn" type="text" class="cajaMinima" id="nn" size="3" maxlength="3" value="0" onChange="valporcentaje()"></td>
  53.                   </tr>

Ese codigo de arriba es de mi archivo para hacer una nueva orden de compra, donde el usuario selecciona la opcion del combo, que hasta alli funciona .

Ahora, en el archivo guardar.php va asi:
Código PHP:
Ver original
  1. $importacion_grabada=$_POST["importacion_grabada"];
  2. $cantidad_exenta=$_POST["cantidad_exenta"];
  3. $importacion_exenta=$_POST["importacion_exenta"];
  4. $xx=$_POST["xx"];
  5. $mm=$_POST["mm"];
  6. $nne=$_POST["nn"];
  7. $codigo_catalogo=$_POST["codigo_catalogo"];

Código PHP:
Ver original
  1. $query_operacion="INSERT INTO orden_compra (id_orden_compra, id_proveedor, codfactura, fecha, iva, estado, importacion_grabada, cantidad_exenta, importacion_exenta, xx, mm, nn, codigo_catalogo ) VALUES ('', '$id_proveedor', '0', '$fecha', '$iva', '1', '$importacion_grabada', '$cantidad_exenta', '$importacion_exenta', '$xx', '$mm', '$nn', '$codigo_catalogo')";

Y asi quiero que me muestre los datos en el archivo, al guardar, me muestra lo que va a guardar, asi que quiero que me los muestre asi:

Código PHP:
Ver original
  1. <?
  2.                                            $sel_datos="SELECT * FROM orden_compra";
  3.                                            $rs_datos=mysql_query($sel_datos); ?>
  4. tr>
  5.                                               <td>Importacion Grabada</td>
  6.                                               <td colspan="2"><?php echo mysql_result($rs_datos,0,"importacion_grabada"); ?></td>
  7.                                           </tr>

Solo he puesto importancion grabada para no hacerlo mas largo, pero asi debe ir todo... el problema es que no me los muestra y si modifico un poco me da el error de que no puede saltar a la fila cero


Ayuda?
de ante mano, gracias.
  #2 (permalink)  
Antiguo 16/08/2010, 18:00
Avatar de silvanha  
Fecha de Ingreso: marzo-2006
Ubicación: En mi mundo de sueños
Mensajes: 653
Antigüedad: 18 años, 8 meses
Puntos: 65
Respuesta: [Guardar Datos] De un Combo

Estem, creo que no entendí muy bien lo que necesitas al final, según mis ideas lo que deseas es una "confirmación" de lo que acabas de guardar? o estoy mal..

si es esto, en la consulta que seleccionas la orden de compra, necesitas mandar el registro que deseas mostrar.. "where id_orden_compra="

entonces un mysql_last_insert(), te regresa el valor del ultimo registro insertado, lo capturas y se lo mandas a tu condición..
__________________
●•· No hay nada imposible..
●•· Vico-X.. ;)
  #3 (permalink)  
Antiguo 17/08/2010, 08:39
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: [Guardar Datos] De un Combo

No... Lo que necesito es que me lo guarde.... Pero es que, hasta el punto donde me muestra en el combo lo que hay en la tabla: "catálogos" esta bien... Pero, cuando necesito que guarde la información y que guarde el catalogo seleccionado, no me guarda el tipo de catalogo que selecciono.... Es decir, me guarda todo menos el catalogo que el usuario ha seleccionado.

Gracias por responder...
  #4 (permalink)  
Antiguo 17/08/2010, 09:13
Usuario no validado
 
Fecha de Ingreso: abril-2010
Ubicación: La habana
Mensajes: 229
Antigüedad: 14 años, 7 meses
Puntos: 4
Respuesta: [Guardar Datos] De un Combo

Yo para almacenar datos de un combo o lista/menú empleé dreamweaver, o sea lo que hice con dreamweaver fue crear los juegos de registros que necesitaba con las consultas que me hacian falta y listo hice luego las vinculaciones y todo salío bien. Aquí te pongo el código para que lo analices ya que seguramente soy más nuevo que tú en esto del php, te darás cuanta ya que empleo dreamweaver para que me facilite un poco las cosas, sé que estos programas dejan un poco de churre en el código pero bueno uno lo acomada y lo adapta.
A mí me fue bien, revisa si quieres aquí está el código:

Código PHP:
<?php require_once('Connections/prueba123.php'); ?>
<?php
function GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $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 servicios (categoria, entidad, nombre, descripcion, foto) VALUES (%s, %s, %s, %s, %s)",
                       
GetSQLValueString($_POST['categoria'], "int"),
                       
GetSQLValueString($_POST['entidad'], "int"),
                       
GetSQLValueString($_POST['nombre'], "text"),
                       
GetSQLValueString($_POST['descripcion'], "text"),
                       
GetSQLValueString($_POST['foto'], "text"));

  
mysql_select_db($database_prueba123$prueba123);
  
$Result1 mysql_query($insertSQL$prueba123) or die(mysql_error());

  
$insertGoTo "Insertado OK.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
    
$insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$insertGoTo));
}

mysql_select_db($database_prueba123$prueba123);
$query_Jr_categorias "SELECT * FROM categorias";
$Jr_categorias mysql_query($query_Jr_categorias$prueba123) or die(mysql_error());
$row_Jr_categorias mysql_fetch_assoc($Jr_categorias);
$totalRows_Jr_categorias mysql_num_rows($Jr_categorias);

mysql_select_db($database_prueba123$prueba123);
$query_Jr_Entidades "SELECT * FROM entidades";
$Jr_Entidades mysql_query($query_Jr_Entidades$prueba123) or die(mysql_error());
$row_Jr_Entidades mysql_fetch_assoc($Jr_Entidades);
$totalRows_Jr_Entidades mysql_num_rows($Jr_Entidades);

//mysql_free_result($Jr_categorias);

//mysql_free_result($Jr_Entidades);
?>

<form method="post" name="form1" action="<?php echo $editFormAction?>">
  <table align="center">
    <tr valign="baseline">
      <td nowrap align="right">Categoria:</td>
      <td><select name="categoria" size="1" id="categoria" title="">
        <?php
do {  
?><option value="<?php echo $row_Jr_categorias['idcategorias']?>"><?php echo $row_Jr_categorias['nombre']?></option>
        <?php
} while ($row_Jr_categorias mysql_fetch_assoc($Jr_categorias));
  
$rows mysql_num_rows($Jr_categorias);
  if(
$rows 0) {
      
mysql_data_seek($Jr_categorias0);
      
$row_Jr_categorias mysql_fetch_assoc($Jr_categorias);
  }
?>
      </select>
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Entidad:</td>
      <td><select name="entidad" size="1" id="entidad" title="<?php echo $row_Jr_Entidades['nombre']; ?>">
      <?php
do {  
?><option value="<?php echo $row_Jr_Entidades['identidad']?>"><?php echo $row_Jr_Entidades['nombre']?></option><?php
} while ($row_Jr_Entidades mysql_fetch_assoc($Jr_Entidades));
  
$rows mysql_num_rows($Jr_Entidades);
  if(
$rows 0) {
      
mysql_data_seek($Jr_Entidades0);
      
$row_Jr_Entidades mysql_fetch_assoc($Jr_Entidades);
  }
?>
      </select>
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Nombre:</td>
      <td><input type="text" name="nombre" value="" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Descripcion:</td>
      <td><input type="text" name="descripcion" value="" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Foto:</td>
      <td><input type="file" name="foto" value="" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">&nbsp;</td>
      <td><input type="submit" value="Insertar registro"></td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="form1">
</form>
<p>&nbsp;</p>
<?php
mysql_free_result
($Jr_categorias);
mysql_free_result($Jr_Entidades);
?>
Salu2 y espero haberte ayudado en algo.
  #5 (permalink)  
Antiguo 17/08/2010, 16:37
Avatar de silvanha  
Fecha de Ingreso: marzo-2006
Ubicación: En mi mundo de sueños
Mensajes: 653
Antigüedad: 18 años, 8 meses
Puntos: 65
Respuesta: [Guardar Datos] De un Combo

Ok, entonces cual es el combo que no te guarda? codigo_catalogo según veo.. porque creo es el único que tienes..

ya verificaste que tengas alguna clave foranea incluida en tu tabla orden de compra?? porque según veo haces una consulta a un catalogo y según un valor retornado seleccionas en otro catalogo.. has verificado los datos que insertas?
__________________
●•· No hay nada imposible..
●•· Vico-X.. ;)
  #6 (permalink)  
Antiguo 18/08/2010, 16:18
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: [Guardar Datos] De un Combo

Hola... Si, lo he verificado muy bien, lo que quería hacer era, leía una tabla en un combo, para que el usuario pudiera seleccionar una opción de esa tabla.... Al seleccionar la opción, pasaba a guardar esa opción con otras mas -las otras si las guarda-, y esta opción la tenia que guardar en otra tabla... Porque mas adelante, esta opción es para un libro de contabilidad que con un solo query planeo sacar los datos de interés....


Gracias por tu respuesta el Juank, se nota que Dreamweaver le agrega código hasta para no saber de que vaina es.... Voy a verificarlo muy bien y veré si puedo acoplar o sacar algo para poder adaptarlo bien en el mio a lo mejor y me fijo en el error así y luego comento, mientras tanto si me pueden ayudar, bienvenido sean.

Gracias a los dos por responder.
  #7 (permalink)  
Antiguo 18/08/2010, 16:50
Avatar de silvanha  
Fecha de Ingreso: marzo-2006
Ubicación: En mi mundo de sueños
Mensajes: 653
Antigüedad: 18 años, 8 meses
Puntos: 65
Respuesta: [Guardar Datos] De un Combo

lo del combo lo guardas en otra tabla???..

se me ocurre que mandes a imprimir tu consulta, para ver que valor esta mandando en ese campo.. quizas no lo estas mandando del mismo tipo y por eso no lo inserta
__________________
●•· No hay nada imposible..
●•· Vico-X.. ;)

Etiquetas: combo
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 13:11.