Cambiar el estado de un mensaje en php

Miren tengo un pequeño problema que no se me ocurre como poder solucionarlo.

Estoy haciendo una pequeña aplicación de mensajería, entonces cuando un usuario deja su mensaje me interesa que aparte de toda la información que se escriba también aparezca un estado del mensaje (Resuelto - No resuelto).

Entonces en la base de datos cree un campo llamado estado y en el formulario que inserta los datos en la base de datos, le puse un campo oculto llamado estado y con el valor por defecto No resuelto.

El problema lo tengo cuando pretendo cambiar el estado de este campo en la base de datos, por que siempre queda como no resuelto y no puedo cambiarlo a resuelto.

Aquí les muestro el código que inserta la información en la base de datos

¿
<?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 contacto (Nombre, Apellido, Correo, Area_de_contacto, Mensaje, Estado) VALUES (%s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['Nombre'], "text"),
                       GetSQLValueString($_POST['Apellido'], "text"),
                       GetSQLValueString($_POST['Correo'], "text"),
                       GetSQLValueString($_POST['Area_de_contacto'], "text"),
                       GetSQLValueString($_POST['Mensaje'], "text"),
                       GetSQLValueString($_POST['Estado'], "text"));
  mysql_select_db($database_treboles, $treboles);
  $Result1 = mysql_query($insertSQL, $treboles) or die(mysql_error());
  $insertGoTo = "contacto-enviado.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}
mysql_select_db($database_treboles, $treboles);
$query_Contacto = "SELECT * FROM contacto";
$Contacto = mysql_query($query_Contacto, $treboles) or die(mysql_error());
$row_Contacto = mysql_fetch_assoc($Contacto);
$totalRows_Contacto = mysql_num_rows($Contacto);
?>

1 Respuesta

Respuesta
1

Bueno hay muchos detalles con respecto al funcionamiento, ¿qué tipo de campo usas en la base de datos cuando le diste de alta?, ¿Es entero, o texto?, ya que si es bit el valor tiene que ser true/false, segundo puedes imprimir un código, con echo

Print_r("INSERT INTO contacto (Nombre, Apellido, Correo, Area_de_contacto, Mensaje, Estado) VALUES (%s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['Nombre'], "text"),
                       GetSQLValueString($_POST['Apellido'], "text"),
                       GetSQLValueString($_POST['Correo'], "text"),
                       GetSQLValueString($_POST['Area_de_contacto'], "text"),
                       GetSQLValueString($_POST['Mensaje'], "text"),
                       GetSQLValueString($_POST['Estado'], "text"));

Esto con el fin de saber si la base de datos no lo esta guardando o el valor que esta en el formulario no esta llegando.

Saludos.

Visita: http://develoteca.com/ 

Suscribete: https://www.youtube.com/user/dimit28 

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas