Foros del Web » Programando para Internet » PHP »

Problema con tema

Estas en el tema de Problema con tema en el foro de PHP en Foros del Web. Hola tengo un problema tengo una pagina para crear una categoria y va bien la crea. entro en esa categoria para crear un tema y ...
  #1 (permalink)  
Antiguo 06/01/2013, 04:32
 
Fecha de Ingreso: agosto-2011
Mensajes: 165
Antigüedad: 12 años, 8 meses
Puntos: 1
Problema con tema

Hola tengo un problema tengo una pagina para crear una categoria
y va bien la crea.
entro en esa categoria para crear un tema y
"no me lo crea". me da error

Pero si creo un tema en la base de datos directamente

Entonces me lo reconoce y me deja crear el tema perfectamente
os dejo este codigo bueno un poco del codigo haber si me podeis echar una mano.


Este es el error:

Column 'categoria' cannot be null

Código PHP:

$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 temas (tema, categoria, autor, fecha) VALUES (%s, %s, %s, %s)",
                       GetSQLValueString($_POST['tema'], "text"),
                       GetSQLValueString($_POST['categoria'], "int"),
                       GetSQLValueString($_POST['autor'], "text"),
                       GetSQLValueString($_POST['fecha'], "date"));

  mysql_select_db($database_libre, $libre);
  $Result1 = mysql_query($insertSQL, $libre) or die(mysql_error());

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

$colname_temas = "-1";
if (isset($_GET['id_categorias'])) {
  $colname_temas = $_GET['id_categorias'];
}
mysql_select_db($database_libre, $libre);
$query_temas = sprintf("SELECT * FROM temas WHERE categoria = %s ORDER BY tema DESC", GetSQLValueString($colname_temas, "int"));
$temas = mysql_query($query_temas, $libre) or die(mysql_error());
$row_temas = mysql_fetch_assoc($temas);
$totalRows_temas = mysql_num_rows($temas);$colname_temas = "-1";
if (isset($_GET['id_categorias'])) {
  $colname_temas = $_GET['id_categorias'];
}
mysql_select_db($database_libre, $libre);
$query_temas = sprintf("SELECT * FROM temas WHERE categoria = %s ORDER BY id_tema DESC", GetSQLValueString($colname_temas, "int"));
$temas = mysql_query($query_temas, $libre) or die(mysql_error());
$row_temas = mysql_fetch_assoc($temas);
$totalRows_temas = mysql_num_rows($temas);

$colname_usuarios = "-1";
if (isset($_GET['nombre_user'])) {
  $colname_usuarios = $_GET['nombre_user'];
}
mysql_select_db($database_libre, $libre);
$query_usuarios = sprintf("SELECT * FROM libre WHERE nombre_user = %s", GetSQLValueString($colname_usuarios, "text"));
$usuarios = mysql_query($query_usuarios, $libre) or die(mysql_error());
$row_usuarios = mysql_fetch_assoc($usuarios);
$totalRows_usuarios = mysql_num_rows($usuarios);

$colname_categorias = "-1";
if (isset($_GET['id_categoria'])) {
  $colname_categorias = $_GET['id_categoria'];
}
mysql_select_db($database_libre, $libre);
$query_categorias = sprintf("SELECT * FROM categorias WHERE id_categoria = %s ORDER BY id_categoria ASC", GetSQLValueString($colname_categorias, "int"));
$categorias = mysql_query($query_categorias, $libre) or die(mysql_error());
$row_categorias = mysql_fetch_assoc($categorias);
$totalRows_categorias = mysql_num_rows($categorias);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/base.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- InstanceBeginEditable name="doctitle" -->
<title>Categorias</title>
<!-- InstanceEndEditable -->
<link href="tables.css" rel="stylesheet" type="text/css" />
<!-- InstanceBeginEditable name="head" -->
<style type="text/css">
.diez {
    font-size: 10px;
}
.doce {
    font-size: 12px;
}
.doce td {
    font-size: 14px;
}
.doce td {
    text-align: center;
}
.centro {
    text-align: center;
}
.centro3 {    text-align: center;
}
.centro3 {    text-align: center;
}
.centro {
    text-align: center;
}
.centro th {
    color: #000;
    text-align: center;
}
.centro {
    text-align: center;
}
rojo {
    color: #F00;
}
.doce td .irz a {
    color: #000;
    text-align: left;
}
.dre {
    text-align: right;
}
.irz {
    text-align: left;
}
.dereecha {
    text-align: right;
}
.irquierda {
    text-align: left;
}
</style>
<!-- InstanceEndEditable -->
<style type="text/css">
body {
    background-image: url();
    background-color: #D3E4E5;
}
.centro {
    text-align: center;
}
irq {
    text-align: left;
}
</style>
</head>

<body bgcolor="#D3E4E5">
<table width="54" border="0" align="center" cellpadding="3" cellspacing="0">
  <tr>
    <td align="center" valign="middle" class="centro"><img src="imagen/logo_final_.jpg" width="877" height="195" align="middle" /><Marquee  style="font-size: 16px; color:#000" 
bgcolor="#B6C34F"  >
    </Marquee>      <br /></td>
  </tr>
  <tr>
    <td><!-- InstanceBeginEditable name="panel de control" -->
      <p class="centro">Publicar Temas:</p>
      <p class="centro"><a href="acceso.php">Ir a Panel de Control</a></p>
      <p class="centro"><?php echo $row_temas['categoria']; ?></p>
      <p class="centro"><?php echo $row_categorias['id_categoria']; ?></p>
      <form action="<?php echo $editFormAction?>" method="post" name="form1" id="form1">
        <table width="99%" align="left">
          <tr valign="baseline">
            <td nowrap="nowrap" align="right">Publicar Tema:</td>
            <td><input type="text" name="tema" value="" size="80" /></td>
          </tr>
          <tr valign="baseline">
            <td nowrap="nowrap" align="right">&nbsp;</td>
            <td><a href="insectar tema.php?nombre_user=<?php echo $row_usuarios['nombre_user']; ?>&amp;id_categoria=<?php echo $row_temas['categoria']; ?>&amp;categoria=<?php echo $row_categorias['id_categoria']; ?>">
              <input type="submit" class="rojo" value="Publicar  tema" />
            </a></td>
          </tr>
        </table>
        <input type="hidden" name="categoria" value="<?php echo $row_temas['categoria']; ?>" />
        <input type="hidden" name="autor" value="<?php echo $row_usuarios['nombre_user']; ?>" />
        <input type="hidden" name="fecha" value="<?php echo $row_temas['fecha']; ?>" />
        <input type="hidden" name="MM_insert" value="form1" />
      </form>

      <?php do { ?>
      <?php
        mysql_select_db
($database_libre$libre);
$publicacion_sql "SELECT mensaje FROM mensajes WHERE tema = " .
$row_temas['id_tema']; 
$ultimo_sql "SELECT autor,fecha FROM mensajes WHERE tema = " .
$row_temas['id_tema'] . " ORDER BY fecha DESC LIMIT 1";
$uPost mysql_query($ultimo_sql) or die(mysql_error ()); 
$pTotales mysql_query($publicacion_sql) or die(mysql_error());
        
?>
      <tr align="center" valign="bottom" class="doce">
        <td align="left" valign="top"><span class="izq"><a href="pulicaciones.php?nombre_user=<?php echo $row_usuarios['nombre_user']; ?>&amp;id_tema=<?php echo $row_temas['id_tema']; ?>&amp;id_categoria=<?php echo $row_temas['categoria']; ?>" class="irquierda"><?php echo $row_temas['tema']; ?></a></span><span class="irz"><a href="pulicaciones.php?nombre_user=<?php echo $row_usuarios['nombre_user']; ?>&amp;id_tema=<?php echo $row_temas['id_tema']; ?>&amp;id_categoria=<?php echo $row_temas['categoria']; ?>">
              <?php if($_SESSION['MM_UserGroup']=="admin"){
                            
?>
          </a><a href="editar_temas.php?nombre_user=<?php echo $row_usuarios['nombre_user']; ?>&amp;tema=<?php echo $row_temas['tema']; ?>">Editar</a><a href="pulicaciones.php?nombre_user=<?php echo $row_usuarios['nombre_user']; ?>&amp;id_tema=<?php echo $row_temas['id_tema']; ?>&amp;id_categoria=<?php echo $row_temas['categoria']; ?>">
        <?php  }   ?>
        </a>
        <?php if($_SESSION['MM_UserGroup']=="admin"){
                            
?>
        <a href="borrar_confirma_tema.php?nombre_user=<?php echo $row_usuarios['nombre_user']; ?>&amp;id_tema=<?php echo $row_temas['id_tema']; ?>">Eliminar</a><a href="insectar_categoria.php">
        <?php  }   ?>
        </a></span></td>
        <td align="center" valign="top" class="centro"><span class="centro3"><?php echo mysql_num_rows($pTotales);?></span></td>
        <td align="left" valign="top" class="diez"><?php echo $row_temas['autor']; ?></td>
        <td align="left" valign="top"><?php $up mysql_fetch_assoc($uPost);
            echo 
$up {'fecha'};
            echo 
'<br/>';
            echo 
$up {'autor'};?></td>
      </tr>
      <?php } while ($row_temas mysql_fetch_assoc($temas)); ?>
  </table>
  #2 (permalink)  
Antiguo 07/01/2013, 12:14
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Problema con tema

El error dice que la columna categoria no puede ser null, puede ser que no estas tomando bien el dato que debes asignar a la categoria o que no se lo envias...

Imprime $insertSQL para ver si la consulta se arma bien.

Saludos!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!

Etiquetas: html, mysql, sql, tema, usuarios
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:53.