PHP для цикла не входит в цикл - PullRequest
3 голосов
/ 08 июля 2011

По какой-то причине цикл for запускается не так, как кажется.Я проверил его, поместив в него оператор echo, и он не отображается, поэтому, должно быть, что-то не так, может быть, мой синтаксис, но я не могу увидеть его после нескольких часов просмотра.

Спасибо за ваше время.

echo $completedstaffrows; // value of 5
        echo $completedeventrows; //value of 4
            echo "<br/>";

        //Staff

            //For loop to enter the correct amount of rows as entered in the form
            for ($i=0; $i > $completedstaffrows; $i++)
            {

                //Data not inserted into Staff table, FK given from dropdown on form to insert in linking table

                $staffdata = array
                (
                    'staff_id' => $this->input->post ('staff'.$i),
                    'procedure_id' => $procedurefk,
                    'quantity' => $this->input->post ('staff_quantity'.$i),
                    'quantity_sterilised' => NULL, //not implemented yet
                );

                $inserthumanresource = $this->db->insert ('hr', $staffdata);
                echo "hello world"; // to test if for loop working
            }



        //Events

                //For loop to enter all events rows completed by user
                for ($i=0; $i > $completedeventrows; $i++)
                {

                    //First input into "Medical Supplies" table
                    $medsupplies = array
                    (
                        'name' => $this->input->post ('supplies'.$i),
                        'manufacturer' => "Bruce Industries" //To be implemented
                    );

                        //Insert data into table
                        $insertmeds = $this->db->insert ('med_item', $insertmeds);

                        //Get med supplies foreign key for linking table
                        $medsuppliesfk = $this->db->insert_id();

                    //Then input into table "Event"

                    $eventdata = array 
                    (
                        'time' => $this->input->post ('time'.$i),
                        'event' => $this->input->post ('event'.$i),
                        'success' => $this->input->post ('success'.$i),
                        'comment' => $this->input->post ('comment'.$i),
                        'procedure_id' => $procedurefk

                    );
                        //Insert
                        $insertevent = $this->db->insert ('procedure_event', $eventdata);


                        //Get event fk for linking table 
                        $eventfk = $this->db->insert_id();

                    //Linking table "Resources"

                    $resourcedata = array
                    (
                        'event_id' => $eventfk,
                        'medical_item_id' => $medsuppliesfk,
                        'quantity' => NULL, //Not implemented yet
                        'unit' => NULL



                    );

                    $insertresource = $this->db->insert ('resources', $resourcedata);

Ответы [ 6 ]

4 голосов
/ 08 июля 2011
for ($i=0; $i > $completedstaffrows; $i++)

Следует читать:

for ($i=0; $i < $completedstaffrows; $i++)

Или, может быть:

for ($i=0; $i <= $completedstaffrows; $i++)
3 голосов
/ 08 июля 2011

Вы только зациклились, когда i больше $completedstaffrows и т. Д. Измените > s на < s.

3 голосов
/ 08 июля 2011

Ваш оператор неверен. Переключите > на <.

3 голосов
/ 08 июля 2011

изменить

for ($i=0; $i > $completedstaffrows; $i++)

на

for ($i=0; $i < $completedstaffrows; $i++)

Вы хотите повторить, пока я МЕНЬШЕ, чем переменная сумма, не более.

2 голосов
/ 08 июля 2011

Хорошо, вы пишете, что $ completestaffrows = 5, и вы инициализируете $ i = 0, в цикле вы пишете "$ i> $ completestaffrows", который для первого запуска оценивается в 0> 5, что оказывается ложным.Так вот почему это не входит в петли.Поэтому замените «>» на «<», чтобы решить проблему. </p>

2 голосов
/ 08 июля 2011
$i=0; $i < $completedstaffrows; $i++
       ^^^^^
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...