0

Greetings everyone

i'm working on small project on php and MySQL and i just start to learn them

i write a code that allow me to add new field in my table with default value but i wanted to ask can i make the field added to the table with default value but for the records with value '1' in the previous field it add other value

e.i

my table contain

names 1/1/2011 "the new field that the code will add"

john 1 A
mark 0 P
kate 1 A

so if the previous field have 1 it will add A as default value if it have 0 it will add P as default value


my code

<?php


$host="localhost"; 
$username="root";  
$password="";  
$db_name="el"; 



mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("DB not found");


$myusername=$_POST['myusername']; 



$datf= gmdate(DATE_RFC822);
@mysql_query("ALTER TABLE `attendace_info_old` ADD `$datf` varchar(255)DEFAULT 'A'") or die(mysql_error());



?>

so
i want to add only one field this field will be filled automatically so if the previous field record contain 0 it will be filled as A if it contain 1 it will be filled as P


hope there are a way to make this because i finished everything only this step still for me

Edited by Fresco Vivir: n/a

2
Contributors
3
Replies
4
Views
6 Years
Discussion Span
Last Post by diafol
0

Why do you need two fields if they do the same thing? If 1 = A and 0 = P, they equate to the same thing. You're effectively duplicating fields.

0

you don't understand me my friend

i want to add only one field and i write my old code that add 0 as default value

i want to add only one field this field will be filled automatically so if the previous field contain 0 it will be filled as A if it contain 1 it will be filled as P

0

No I think I do understand. I just don't get why need A and P if you have 0 and 1 which to all intents and purposes do the same thing.

However, if you insist on going down this route. For existing records, run this once:

$r = mysql_query("UPDATE table SET field3 = IF(field2 = 1,'P', 'A')");

For new records,

//get $int from passed variable (0 or 1)
$str = ($int == 1) ? 'P' : 'A';
$r = mysql_query("INSERT INTO table SET field2 = $int, field3 = '$str'");

I don't think you can set up conditional default values. perhaps you could do something with triggers or stored procedures, but I think the php method is easier.

Edited by diafol: n/a

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.