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
https://forums.phpfreaks.com/topic/249917-fun-with-arrays/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.