0

How do I alter the following code to allow me to extract data from another table (data2), and post it as I did the others(name,position,bio). Basically I want another form field that I can search from to find an item from another table, and add into this one.

Example Image

<?php
require 'db/connect.php';

$error      = ""; //variable to hold our form error message
$success    = ""; //variable to hold our success message

if(isset($_POST['create'])){
$name       = trim($_POST['name']);
$position   = trim($_POST['position']);
$bio        = trim($_POST['bio']);

if(empty($name) && empty($position) && empty($bio)){
    $error = "You must fill all fields.";
}else{
    $insert = $db->prepare("INSERT INTO staff (name, position, bio,     joined) VALUES (?, ?, ?, NOW())");
    $insert->bind_param(sss, $name, $position, $bio);
    if($insert->execute()){
        //$success = "Staff added successfully!";
        header("location:index.php");
    }

}

}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div id="wrapper">
        <h1>Create New Staff</h1>
        <span class="error"><?php if(isset($error)) echo $error;?></span>
        <span class="success"><?php if(isset($success)) echo         $success;?>        </span>
        <form action="" method="post">
            <table class="table">
                <tr>
                    <td><label for="name">Name:</label></td>
                    <td><input type="text" id="name" name="name"></td>
                </tr>
                <tr>
                    <td><label for="position">Position:</label></td>
                    <td><input type="text" id="position" name="position"></td>
                </tr>               
                <tr>
                    <td><label for="bio">Bio:</label></td>
                    <td><textarea id="bio" name="bio"></textarea></td>
                </tr>
                <tr>
                    <td></td>
                    <td><button type="submit" class="create"     name="create">CREATE</button>&nbsp;&nbsp;&nbsp;&nbsp;<a class="btn"     href="index.php">BACK</a></td>
                </tr>
            </table>
        </form>
    </div>
</body>
</html>
Anthon
  • 69,918
  • 32
  • 186
  • 246
Steven
  • 687
  • 1
  • 10
  • 27
  • You can use jQuery's autocomplete function. Or you can refer here: http://stackoverflow.com/questions/21298169/autocomplete-textbox-results-based-from-sql-database – Logan Wayne Mar 31 '15 at 02:06
  • Please could you crop your image to the necessary parts ? as it make the content longer without a valid reason – dvhh Mar 31 '15 at 03:26

1 Answers1

0

Well you could have in the table that the form submits to a location_id that is a key linked to the locations table.

Then all you need to do is do an sql query where you select values using LIKE (see MySQL LIKE - I think w3schools covers this well)

You could call this function in Ajax to check every key press.

Alternatively load all the locations to a hidden element and when the input is focused they appear and as you type you use JavaScript to hide those that don't match.

I would write an example but I'm on my phone. Hope this helps a little.

mdixon18
  • 1,199
  • 4
  • 14
  • 35
  • I am afraid I am a total newb with programming. I am learning more and more with php and sql more recently, but have zero experience with ajax. Does anyone have a code sample of what this gentleman is talking about? – Steven Apr 01 '15 at 15:59