|
Posted by leader on 02/11/07 10:52
On Sat, 10 Feb 2007 21:47:46 -0000, "Paul Lautman"
<paul.lautman@btinternet.com> wrote:
>ZMAN wrote:
>> CREATE TABLE coupons (
>> id int(11) NOT NULL auto_increment,
>> data longtext NOT NULL,
>> display_coupon varchar(10) NOT NULL default '',
>> position tinyint(20) NOT NULL default '0',
>> usetemp tinyint(10) NOT NULL default '0',
>> KEY id (id)
>> ) TYPE=MyISAM;
>>
>> I have an auto dealership website I do.
>> This table allows them to add or remove dealership discount coupons as
>> needed. They do this through an admin form
>> I built for them.
>> They have asked me to allow them to be able to place the order in
>> which they appear on the html page.
>> I created a position field for this, SELECT ..etc... ORDER BY
>> position.
>> So, for example there are 4 coupons.
>> If they change coupon in position 3 to be in position 2, how do I
>> renumber all the position fields in order.
>> I can't for the life of me figure out how to do this with a sql call.
>>
>> Any help would be greatly appreciated.
>> Thanks in advance!
>>
>> ZMAN
>
>Here's a whizzy way to make it drag'n'drop with Ajax
>http://www.phpriot.com/d/articles/client-side/sortable-lists-with-php-and-ajax/index.html
>
I do this all the time.
Create a field in your database to contain a number (integer) and then
SELECT * from $TableName ORDER BY number.
When they do enter new (or revised) data, they can choose the new
number which will thus decree the order of display.
It's best if you tell them to use widely-separated numbers; I tell all
my people to use units of thousands, 1000, 2000, 3000, etc. That way,
inserting new units is a piece of cake.
A script to delete the old numbered record then takes care of
business.
HTH.
[Back to original message]
|