Foros del Web » Programando para Internet » PHP »

Error en cambio de estado de un campo de una tabla mediante un formulario

Estas en el tema de Error en cambio de estado de un campo de una tabla mediante un formulario en el foro de PHP en Foros del Web. Hola a todos... Pues hoy vengo con un problemita en un formulario, en php, es lo siguiente, tengo dos tablas una se llama computadores y ...
  #1 (permalink)  
Antiguo 16/04/2012, 16:59
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Pregunta Error en cambio de estado de un campo de una tabla mediante un formulario

Hola a todos... Pues hoy vengo con un problemita en un formulario, en php, es lo siguiente, tengo dos tablas una se llama computadores y otra centrocosto, en la tabla computadores tiene unos campos llamados computador_ID, cc_Cod (que seria la llave foranera que se une a la tabla centrocosto) y un campo llama do estado ya sea libre o asignado, y en la tabla centrocosto esta el campo cc_ID que seria la llave primaria. entonces lo que pasa es que yo quiero cambiar ese estado a asignado ya que cuendo registro un computador se registra como libre, por medio de un formulario... he intentado todo, pues pienso que para que el estado cambien tengo que modificar la tabla computadores... aqui les dejo el codigo php... la pagina donde esta el formulario se llama asignacion.php

Código Javascript:
Ver original
  1. <?php
  2.     $link = mysql_connect('localhost', 'root', '');
  3.     if(!$link) {
  4.         die("Error al intentar conectar: ".mysql_error());
  5.     }
  6.     $db_link = mysql_select_db('assignteams', $link);
  7.     if(!$db_link) {
  8.         die("Error al intentar seleccionar la base de datos". mysql_error());
  9.     }
  10.     if(isset($_REQUEST['codigoComp'])){
  11.         $codigoComp = $_REQUEST['codigoComp'];
  12.         $sql = mysql_query("SELECT * FROM computadores WHERE computador_ID = $codigoComp", $link) or die(mysql_error());
  13.         $row = mysql_fetch_array($sql);
  14.         //$mensajeA = "<b><font color=\"red\">¿Esta seguro que desea asignarlo?</font></b>";
  15.    }
  16.     if(isset($_POST['asignar']) && $_POST['asignar'] == 'Asignar'){
  17.         if(!empty($_REQUEST['codigoComp']) && !empty($_REQUEST['codigoCC'])){
  18.             $estado = "Asignado";
  19.             $codigoComp = $_REQUEST['codigoComp'];
  20.             $codigoCC = $_REQUEST['codigoCC'];
  21.             $sqlUpdate = mysql_query("UPDATE computadores,centrocosto SET estado = '$estado' WHERE computadores.computador_ID = '$codigoComp' AND centrocosto.cc_ID = '$codigoCC'", $link) or die(mysql_error());
  22.         header('Location: principal.php?assign="asignado"');
  23.         }else{
  24.             header('Location: principal.php?assignE="ErrorAsignacion"');
  25.         }
  26.     }else{
  27. ?>
  28. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  29. <html xmlns="http://www.w3.org/1999/xhtml">
  30. <head>
  31. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  32. <title></title>
  33. <link type="text/css" href="css/custom-theme/jquery-ui-1.8.18.custom.css" rel="stylesheet" />  
  34. <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
  35. <script type="text/javascript" src="js/jquery-ui-1.8.18.custom.min.js"></script>
  36. <script type="text/javascript">
  37. $(document).ready(function(){
  38.     $('#buttonANo').button();
  39.     $('#buttonAsignacionComp').button();
  40.     // Dialog
  41.     $('#dialogAsignacionComp').dialog({
  42.         autoOpen: false,
  43.                                
  44.         modal: true,
  45.         // Largo
  46.         width: 'auto',
  47.         // Alto
  48.         height: 'auto',
  49.         // Efecto al abrir
  50.         show: "explode",
  51.         // Efecto al cerrar
  52.         hide: "explode"
  53.     });
  54.  
  55.     $('#buttonANo').click(function(){
  56.     $('#dialogAsignacionComp').dialog('close');
  57.     });                
  58. });
  59. </script>
  60. <style type="text/css">
  61. body
  62. {
  63.     font-size:0.9em;
  64. }
  65.  
  66. #formAsignacion label{
  67.     display: block;
  68. }
  69.  
  70. #datosAsignacion{
  71.     border-radius: 5px 5px 5px 5px;
  72. }
  73.  
  74. #datosAsignacion input{
  75.     width: 200px;
  76.     height:25px;
  77.     border: 1px solid rgba(0, 0, 0, 0.1);
  78.     border-radius: 5px 5px 5px 5px;
  79.     font-size: 0.8em;
  80. }
  81.  
  82. .boton {
  83.     background: none repeat scroll 0 0 #FAFAFA;
  84.     border: 1px solid rgba(0, 0, 0, 0.1);
  85.     border-radius: 5px 5px 5px 5px;
  86.     color: #000000;
  87.     font-size: 0.9em;
  88.     font-weight: bold;
  89.     padding: 5px;
  90. }
  91. </style>
  92. </head>
  93. <body>
  94. <div id="dialogAsignacionComp" title="Formilario para la Asignacion">
  95. <form action="<?php $_SERVER['PHP_SELF']; ?>" method="post" name="formAsignacion" id="formAsignacion" accept-charset="utf-8">  
  96.     <fieldset id="datosAsignacion">
  97.         <table>
  98.             <tr>
  99.                 <td>
  100.                     <label> Codigo Computador: </label>
  101.                     <input type="text" name="codigoComp" size="20" required />
  102.         </td>
  103.         <td>
  104.                     <label> Codigo Centro: </label>
  105.                     <input type="text" name="codigoCC" size="20" required />
  106.         </td>
  107.             </tr>
  108.             <tr>
  109.                 <td colspan="3"><label><?php echo "<b><font color=\"red\">¿Esta seguro que desea asignarlo?</font></b>"; ?></label></td>
  110.             </tr>
  111.             <tr>
  112.                 <td>                  
  113.                     <input name="codigoComp" type="hidden" value="<?php echo $row['computador_ID']; ?>" />
  114.             </td>              
  115.                 <td><div align="center"><input name="asignar" type="submit" value="Asignar" id="buttonAsignacionComp" /></div></td>
  116.                 <td><div align="center"><a><input id="buttonANo" type="button" value="No" /></a></div></td>
  117.             </tr>
  118.         </table>
  119.     </fieldset>
  120. </form>
  121. </div>
  122. </body>
  123. </html>
  124. <?php } ?>
y me sale un error de sintaxis de SQL... puesto que quiero cambiar el estado del campo estado de libre a asignado.. entonces lo que pido en el formulario es el código (llave primaria) de la tabla computadores y el código (llave primaria) de la tabla centrocosto... para ver si me ayudan en que estoy mal en el codigo php...
  #2 (permalink)  
Antiguo 16/04/2012, 18:18
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: Error en cambio de estado de un campo de una tabla mediante un formulario

Especifica mejor tu error, escribe en que linea te aparece.. a ver que se puede hacer por ti...
  #3 (permalink)  
Antiguo 17/04/2012, 05:06
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Error en cambio de estado de un campo de una tabla mediante un formulario

Proba escribiendolo asi, puede que tengas problemas en las comillas y que no te este reconociendo las variables:

Código PHP:
Ver original
  1. $sqlUpdate = mysql_query("UPDATE computadores,centrocosto SET estado = '" . $estado . "' WHERE computadores.computador_ID = '" . $codigoComp . "' AND centrocosto.cc_ID = '" . $codigoCC . "'", $link) or die(mysql_error());
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #4 (permalink)  
Antiguo 17/04/2012, 07:09
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Respuesta: Error en cambio de estado de un campo de una tabla mediante un formulario

pues cuando le doy al formulario me sale "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1"
  #5 (permalink)  
Antiguo 17/04/2012, 07:16
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Error en cambio de estado de un campo de una tabla mediante un formulario

Imprimi por pantalla el sql que te genera el UPADTE, y fijate que tenga todos los valores de las condiciones del WHERE...
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #6 (permalink)  
Antiguo 17/04/2012, 16:02
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
De acuerdo Respuesta: Error en cambio de estado de un campo de una tabla mediante un formulario

Pues parece que fue por sintaxis en la sentencia SQL y le quite algunas que no servían y me funciono... gracias por todo...

Solucionado...
  #7 (permalink)  
Antiguo 17/04/2012, 17:32
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Error en cambio de estado de un campo de una tabla mediante un formulario

Cita:
Iniciado por DeivisAndres Ver Mensaje
Pues parece que fue por sintaxis en la sentencia SQL y le quite algunas que no servían y me funciono... gracias por todo...

Solucionado...
Excelente ;)
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com

Etiquetas: estado, formulario, html, mediante, mysql, registro, sql, tabla, campos
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 07:53.