Have gotten a bit further, but now trying to figure out how to pass
the variable inserted from my search controller to my results view.

Here is my search controller (works a treat except for the search
bit ;)
        function searchcourse()
        {
                if (!empty($this->data)) {
                 $course = $this->data['Student']['course'];
                 $student=$this->Student->find(array('Student.course' =>
$course));

        if ($student) {
        $this->redirect(array('action' => 'viewsome', $course));  //
not sure what to put here
             } else
             {
        $this->Flash('Course not found','/students/searchstudent');
          }
        }
        }

and my 'viewsome' controller
        function viewsome($course = null)
        {
                $this->set('students', $this->Student->findAll());
        }

finally the viewsome view
        <?php

        $coursename ="???";   //how do I get the variable in here

        foreach ($students as $student):
        if ($student['Student']['course'] == $coursename){

                $number = $student['Student']['studentnumber'];
                $name = $student['Student']['studentname'];
                $course = $student['Student']['course'];

                echo "<tr><td>$number</td>";
                echo "<td>$name</td>";
                echo "<td>$course</td></tr>";
        }

I think that once I have this figured out, I will be able to
manipulate it to do any search.

Thanks again,
Damo.


On Mar 24, 7:40 am, "Dardo Sordi Bogado" <[EMAIL PROTECTED]> wrote:
> On Mon, Mar 24, 2008 at 1:32 AM, damo <[EMAIL PROTECTED]> wrote:
>
> >  thanks again Dardo,
> >  I got the date working, although I also had to add the 'minYear' also
> >  or else we only have very young students ;)
>
> You are welcome.
>
> >  Also got thesearchfunction to work with only a little tinkering.
> >  Took me a while to realise that I needed to change the form to: '<?php
> >  echo $form->create('Student', array('action' => 'search')); ?>'
> >  but that was straight forward.  I also needed to change the flash
> >  message to $this->Flash('Student not found','/students/search');
>
> Nice.
>
> >  Am I correct in assuming that I will need to put in differentsearch
> >  functions for each type ofsearchI want to do.  Eg. studentsearch,
> >  coursesearch?  Where coursesearch returns all the students doing the
> >  course (I would also need a differentviewfunction also, or could I
> >  just manipulate my viewall function, because that is how I would like
> >  it presented).
>
> That depends of your style, but in general I think is a good practice
> to put thosesearchseparated (I'm talking without having seen your
> code).
>
> >  Now I'm really getting somewhere!  Albeit with my hand held :)
>
> I'm happy you are right on track, enjoy CakePHP!
>
>
>
> >  On Mar 23, 5:16 pm, "Dardo Sordi Bogado" <[EMAIL PROTECTED]> wrote:
>
> > > On Sun, Mar 23, 2008 at 3:00 AM, damo <[EMAIL PROTECTED]> wrote:
>
> >  > >  Thanks Dardo, I have taken your advise and added the additional
> >  > >  field.  It all seems to work great now, I'm suprised with how quickly
> >  > >  things come together even on my first attempt.  So now I have an add,
> >  > >  edit, delete,viewfunctions.  All of this is based of the tutorial
> >  > >  and I am very pleased with my progress but I am quickly realising how
> >  > >  much more there is to it!!
>
> >  > You are wecome, I'm glad you are making progress, cake is so powerful.
>
> >  > >  A couple of more questions:
> >  > >  I have a 'date' field which is for Date of Birth.  In the addformas
> >  > >  it is it lists dates from 1988 to 2028.  I obviously don't need future
> >  > >  dates for this, so how can I change this so that the latest date is
> >  > >  today (or some arbitrary recent date), and it's earliest date is back
> >  > >  x amount of years.
>
> >  > $form->input('mydatefield', array('maxYear' => 2008));
>
> >  > >  Second, I would like to put together a very simplesearchfunction
> >  > >  preferably based upon the tutorial (because I understand that).  I
> >  > >  haven't been able to find anything particularly easy to implement in
> >  > >  my reading so far.  All I really want to do issearchfor the
> >  > >  'student_number' and then 'view' that record, failing that echo
> >  > >  'student doesn't exist', or something like that.
>
> >  > This may work,
>
> >  > in your controller :
>
> >  > functionsearch() {
>
> >  > if (!empty($this->data)) {
> >  >      $number = $this->data['Student']['student_number'];
> >  >      $student = $this->Student->findByStudentNumber($number);
> >  >     // or : $student =
> >  > $this->Student->find(array('Student.student_number' => $number));
>
> >  >      if ( $student) {
> >  >         $this->redirect(array('action' => 'view', 
> > $student['Student']['id']));
> >  >      } else {
> >  >         $this->Session->setFlash('Student not found');
> >  >      }
>
> >  > }
> >  > >  On Mar 22, 7:04 pm, "Dardo Sordi Bogado" <[EMAIL PROTECTED]> wrote:
> >  > >  > Cake automagically sets primary keys fields as hidden, you can
> >  > >  > override the default behavior:
>
> >  > >  > echo $form->input('id', array('label' => 'Student Number: ', 'type' 
> > => 'text'));
>
> >  > >  > Maybe is better, just to add a new field called student_number and
> >  > >  > make it an sql unique index and let the ids alones.
>
> >  > > > On Sat, Mar 22, 2008 at 2:41 AM, damo <[EMAIL PROTECTED]> wrote:
>
> >  > >  > >  I'm sure this is ridiculously simple to resolve, but the below 
> > seems
> >  > >  > >  to work perfectly:
>
> >  > >  > >  <h1>Add Student Record</h1>
>
> >  > >  > >  <?php echo $form->create('Student'); ?>
>
> >  > >  > >   <?php
> >  > >  > >         echo $form->input('id', array('label' => 'Student Number: 
> > '));
> >  > >  > >         echo $form->input('studentname', array('label' => 'Student
> >  > >  > >  Name: '));
> >  > >  > >         echo $form->input('studentdob', array('label' => 'Student 
> > Date
> >  > >  > >  of Birth: '));
> >  > >  > >         echo $form->input('course', array('label' => 'Current 
> > Course:
> >  > >  > >  '));
> >  > >  > >   ?>
>
> >  > >  > >  <?php echo $form->end('Insert'); ?>
>
> >  > >  > >  except that the id component of theformdoesn't display at all....
>
> > > >  > >  When I insert the record, everything goes in correctly, except
> >  > >  > >  obviously the the 'id'.  The 'id' is set as the primary key for 
> > the
> >  > >  > >  table, although I have toggled this.  Also, I would have 
> > preferred to
> >  > >  > >  have the 'id' labelled something like 'studentnumber', but 
> > theview
> >  > >  > >  option wouldn't work when I had it setup this way.
>
> >  > >  > >  Many thanks,
> >  > >  > >  Damo
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to