AYUDA: Limitar numero de categorias en una base mysql
Hola a todos:
soy novato en esto de las bases de datos, y me gustarÃa que alguien me ayudase en esto, por favor. Tengo una base de datos en la cual he creado esta tabla:
CREATE TABLE categories (
id int(8) PRIMARY KEY AUTO_INCREMENT,
name varchar(20) NOT NULL,
description varchar(50) NOT NULL,
published varchar(4) NOT NULL DEFAULT \'YES\'
);
¿Sabéis cómo puedo limitarla para que sólo permita crear 2 categorÃas como máximo?.
¿Y cómo generar un aviso o alerta cuando el usuario quiera crear más de 2 categorÃas para informarle que no es posible?.
Gracias por todo, y perdón por mi ignorancia, pero si no pregunto, sigo sin saberlo.
Gracias
soy novato en esto de las bases de datos, y me gustarÃa que alguien me ayudase en esto, por favor. Tengo una base de datos en la cual he creado esta tabla:
CREATE TABLE categories (
id int(8) PRIMARY KEY AUTO_INCREMENT,
name varchar(20) NOT NULL,
description varchar(50) NOT NULL,
published varchar(4) NOT NULL DEFAULT \'YES\'
);
¿Sabéis cómo puedo limitarla para que sólo permita crear 2 categorÃas como máximo?.
¿Y cómo generar un aviso o alerta cuando el usuario quiera crear más de 2 categorÃas para informarle que no es posible?.
Gracias por todo, y perdón por mi ignorancia, pero si no pregunto, sigo sin saberlo.
Gracias
Te conviene resolverlo en la aplicación, no en la base de datos. Por ejemplo consultando la cantidad y permitiendo la insercion, o permitiendo insertar y luego consultar, tendras que analizar los problemas de concurrencia que puede implicar.
Gracias Jim: es que, como ves, soy bastante ignorante en esto. El código que edita las categorÃas es el siguiente, ¿podrÃas decirme cómo limitar el número máximo de categorÃas?. Gracias:
function edit_category() { ?>
<h2><? echo l(edit_category) ?></h2><?
$categoryid = $_GET['id'];
$db = mysql_connect(s(dbhost),s(dbuname),s(dbpass));
mysql_select_db(s(dbname)) or die(s(dberror));
$query = "SELECT * FROM categories WHERE id = $categoryid";
$result = mysql_query($query);
while ($r = mysql_fetch_array($result)) {
if (isset($_SESSION['Username'])) {
echo "<p>". $r['name'] ." <img src="images/arrow.gif" alt="|" /> <a href="index.php?action=process&task=deletecategory&id=$r[id]">". l(delete_category) ."</a> <img src="images/arrow.gif" alt="|" /> ";
if ($r['published'] == "YES") { echo l(published); } else { echo l(unpublished); }
echo "</p>"; }
echo "<br /><br />"; ?>
<form name="post-text" method="post" action="index.php?action=process&task=edit_category">
<p>
<? echo l(name); ?>:<br /><input type="text" class="field" value="<?php echo $r['name']; ?>" name="name" /><br /><br />
<? echo l(description); ?>:<br /><input type="text" class="field" value="<?php echo $r['description']; ?>" name="description" /><br /><br /><?
if ($r['published'] == "YES") { ?>
<input type="checkbox" value="YES" name="publish" checked> <? echo l(publish_category);
} else { ?>
<input type="checkbox" value="YES" name="publish"> <? echo l(publish_category);
} ?><br /><br />
<input type="hidden" name="id" value="<?php echo $categoryid; ?>">
<input type="hidden" name="task" value="edit_category">
<input type="submit" name="submit_text" value="<? echo l(edit_category); ?>">
</p>
</form>
<? }
}
function edit_category() { ?>
<h2><? echo l(edit_category) ?></h2><?
$categoryid = $_GET['id'];
$db = mysql_connect(s(dbhost),s(dbuname),s(dbpass));
mysql_select_db(s(dbname)) or die(s(dberror));
$query = "SELECT * FROM categories WHERE id = $categoryid";
$result = mysql_query($query);
while ($r = mysql_fetch_array($result)) {
if (isset($_SESSION['Username'])) {
echo "<p>". $r['name'] ." <img src="images/arrow.gif" alt="|" /> <a href="index.php?action=process&task=deletecategory&id=$r[id]">". l(delete_category) ."</a> <img src="images/arrow.gif" alt="|" /> ";
if ($r['published'] == "YES") { echo l(published); } else { echo l(unpublished); }
echo "</p>"; }
echo "<br /><br />"; ?>
<form name="post-text" method="post" action="index.php?action=process&task=edit_category">
<p>
<? echo l(name); ?>:<br /><input type="text" class="field" value="<?php echo $r['name']; ?>" name="name" /><br /><br />
<? echo l(description); ?>:<br /><input type="text" class="field" value="<?php echo $r['description']; ?>" name="description" /><br /><br /><?
if ($r['published'] == "YES") { ?>
<input type="checkbox" value="YES" name="publish" checked> <? echo l(publish_category);
} else { ?>
<input type="checkbox" value="YES" name="publish"> <? echo l(publish_category);
} ?><br /><br />
<input type="hidden" name="id" value="<?php echo $categoryid; ?>">
<input type="hidden" name="task" value="edit_category">
<input type="submit" name="submit_text" value="<? echo l(edit_category); ?>">
</p>
</form>
<? }
}