Oh yes thanks to everybody who helped me out on this one...

On Jan 16, 8:31 am, "xybersoftw...@gmail.com"
<xybersoftw...@gmail.com> wrote:
> I moved all of this code into the controller and did queries on the
> data instead of if statements in the view and also did the writes to
> the database in the controller and it all works.  Lesson is you can't
> write to the database from the view file...
>
> On Jan 15, 1:38 am, "xybersoftw...@gmail.com"
>
>
>
> <xybersoftw...@gmail.com> wrote:
> > Jon,
> > Thanks for your detailed help.
> > One thing I might not have made clear is that my view/filtering form
> > has only one check box and the check box is not connected to each
> > record.  And I have other fields in the form that let me filter the
> > records that I am looking for.  Once the user has filtered the records
> > he wants to modify, then he finally checks the 'Mark records shown'
> > check box and then clicks the submit button to mark only the records
> > that are showing with todays date in a date field for each record
> > shown. Although Ajax would be nice to have, it is not necessary if I
> > can just get the data to show properly after the change with a
> > refresh...So I think I need an array of shown records that gets built
> > as the records are filtered and then use that array to update the
> > records from the controller...So I guess the question now is how do I
> > build the data array manually from the view file...
>
> > view/process_member.thtml
> > for ()
> > {
> >    if ($chkMark=='1')
> >    {
> >       // Mark selected months
> >       if($chkMonth1=='on')
> >          //*** If the next line would write to the database it would
> > work but it doesn't write to the database
> >          $subscription['Subscription']['month1_mailinginfo_sent']=date
> > ('Y-m-d');
> >          // So I guess I need to build an array here and then use that
> > in the controller to update the datbase
> >          //****THIS IS WHERE I NEED TO POST BUT NOT SURE HOW TO DO
> > THAT??
> > ***
> >    }
>
> > On Jan 14, 10:45 pm, "Jon Bennett" <jmbenn...@gmail.com> wrote:
>
> > > Hi xybersoftware,
>
> > > >  My form does not have any editable fields...
> > > >  I only want to change certain fields of the records that are shown in
> > > >  the view if a user checks a check box and clicks submit...
> > > >  If the user checks the box then I want to mark all the records that
> > > >  are shown with todays date...
> > > >  I guess the question now is how do I post the data from the view so
> > > >  that in the controller so I can update the database...
>
> > > if you want to do this _without_ a page refresh, you'll have to do so
> > > via an AJAX request. This requires all the same logic and controller
> > > code as a normal save from a form, there's no shortcut!
>
> > > The functions you need are:
>
> > > controller method which accepts POST data ($this->data)
> > > model method which saves POST data
> > > prototype/jquery/mootools javascript code to submit the form when a
> > > checkbox is changed
>
> > > in psyudeo code you want to:
>
> > > * a html page which lists all your items inside a single form
> > > * each item in the html page has a checkbox, which has a unique ID and
> > > name. The ID of the checkbox should correspond to the record, eg the
> > > ID (primary key) of the record
> > > * the form submits to a controller method, say 
> > > /my_controller/update_all_records
> > > * this controller method calls a (custom) model method, 
> > > Model->updateAll($data)
> > > * Model->updateAll() loops over the data, and all records that have a
> > > checked checkbox are updated
> > > * back to your view, you have some javascript which is listening to
> > > the 'onchange' event for all your checkboxes
> > > * when a checkbox is changed, some more javascript creates a http post
> > > request to another controller method, update_record
> > > * the controller method calls a corresponding model method,
> > > Model->updateRecord($data);
> > > * your model method validates the data, and if it's ok and the
> > > checkbox is checked, it updates the date field
>
> > > That's about the size of it - good luck!
>
> > > Hope this helps
>
> > > Jon
> > > ps: if you don't need a degradable non-javascript version, you can
> > > skip all the 'update all records' stuff above
>
> > > --
>
> > > jon bennett
> > > w:http://www.jben.net/
> > > iChat (AIM): jbendotnet Skype: jon-bennett- Hide quoted text -
>
> > - Show quoted text -- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to 
cake-php+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to