Jump to content

fun with arrays


webguync

Recommended Posts

I am trying to learn about sorting and modifying arrays and I am practicing on a book assignment but need some help to grasp what I need to do.

 

If you go here, you will see how it is supposed to work.

 

http://198.86.244.3/mabarckhoff/WEB182/ch11_ex1/

 

I need to write a case to sort the task when you click the sort button and modify when you click that button. The delete button works and the add task works. I understand the sort array and have added that case, but don't know how to get it to work with the submit. Also there is a promote button so would need 'promote' what ever you have chosen in the dropdown menu to the top.

 

Here is my code.

tasklist.php

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Task List Manager</title>
    <link rel="stylesheet" type="text/css" href="main.css"/>
</head>
<body>
    <div id="page">
    <div id="header">
        <h1>Task List Manager</h1>
    </div>
    <div id="main">

    <!-- part 1: the errors -->
    <?php if (count($errors) > 0) : ?>
    <h2>Errors:</h2>
    <ul>
        <?php foreach($errors as $error) : ?>
            <li><?php echo $error; ?></li>
        <?php endforeach; ?>
    </ul>
    <?php endif; ?>

    <!-- part 2: the tasks -->
    <h2>Tasks:</h2>
    <?php if (count($task_list) == 0) : ?>
        <p>There are no tasks in the task list.</p>
    <?php else: ?>
        <ul>
        <?php foreach( $task_list as $id => $task ) : ?>
            <li><?php echo $id + 1 . '. ' . $task; ?></li>
        <?php endforeach; ?>
        </ul>
    <?php endif; ?>
    <br />

    <!-- part 3: the add form -->
    <h2>Add Task:</h2>
    <form action="." method="post" >
        <?php foreach( $task_list as $task ) : ?>
          <input type="hidden" name="tasklist[]" value="<?php echo $task; ?>"/>
        <?php endforeach; ?>
        <label>Task:</label>
        <input type="text" name="newtask" id="newtask"/> <br />
        <label> </label>
        <input type="submit" name="action" value="Add Task"/>
    </form>
    <br />

    <!-- part 4: the modify/promote/delete form -->
    <?php if (count($task_list) > 0 && empty($task_to_modify)) : ?>
    <h2>Select Task:</h2>
    <form action="." method="post" >
        <?php foreach( $task_list as $task ) : ?>
          <input type="hidden" name="tasklist[]" value="<?php echo $task; ?>"/>
        <?php endforeach; ?>
        <label>Task:</label>
        <select name="taskid">
            <?php foreach( $task_list as $id => $task ) : ?>
                <option value="<?php echo $id; ?>">
                    <?php echo $task; ?>
                </option>
            <?php endforeach; ?>
        </select>
        <br />
        <label> </label>
        <input type="submit" name="action" value="Modify Task"/>
        <input type="submit" name="action" value="Promote Task"/>
        <input type="submit" name="action" value="Delete Task"/>
        
        <br />
        <label> </label>
        <input type="submit" name="action" value="Sort Tasks"/>
    </form>
    <?php endif; ?>

    <!-- part 5: the modify save/cancel form -->
    <?php if (!empty($task_to_modify)) : ?>
    <h2>Task to Modify:</h2>
    <form action="." method="post" >
        <?php foreach( $task_list as $task ) : ?>
          <input type="hidden" name="tasklist[]" value="<?php echo $task; ?>"/>
        <?php endforeach; ?>
        <label>Task:</label>
        <input type="hidden" name="modifiedtaskid" value="<?php echo $task_index; ?>" />
        <input type="text" name="modifiedtask" value="<?php echo $task_to_modify; ?>" /><br />
        <label> </label>
        <input type="submit" name="action" value="Save Changes"/>
        <input type="submit" name="action" value="Cancel Changes"/>
    </form>
<?php print_r($_POST); ?>
    <?php endif; ?>

    </div><!-- end main -->
    </div><!-- end page -->
</body>
</html>

 

index.php

<?php
if (isset($_POST['tasklist'])) {
    $task_list = $_POST['tasklist'];
} else {
    $task_list = array();

    // some hard-coded starting values to make testing easier
    $task_list[] = 'Write chapter';
    $task_list[] = 'Edit chapter';
    $task_list[] = 'Proofread chapter';
}

$errors = array();

switch( $_POST['action'] ) {
    case 'Add Task':
        $new_task = $_POST['newtask'];
        if (empty($new_task)) {
            $errors[] = 'The new task cannot be empty.';
        } else {
            $task_list[] = $new_task;
        }
        break;
    case 'Delete Task':
        $task_index = $_POST['taskid'];
        unset($task_list[$task_index]);
        $task_list = array_values($task_list);
        break;

   
case 'Sort Task':
        sort($task_list);
	print_r($task_list);
        break;
    /*
    case 'Save Changes':
    
    case 'Cancel Changes':
    
    case 'Promote Task':
        
    
    
*/
}

include('task_list.php');
?>

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.