0

I have database named 'ecc'.

Database 'ecc' contains table 'client' and table 'task'

Table 'ecc' has fields like 'ProjectManager' 'CompanyName' 'CompanyStreetAddress' 'ZipCode' 'CompanyPhone'

Table 'task' has fields like 'assignedto' , 'subject' , 'date'

Data type for date is used properly.

In below code the content of select list are extracted from the field 'ProjectManager' of table 'client'.

The selected content of select list is stored in field 'assignedto' along with that respective Subject for field 'subject' and Date for field 'date' are inserted into table 'task' by user.

My issue: Whenever user select the content of select list which is extracted from table '***client*' of field 'ProjectManager' its respective fields 'CompanyName' 'CompanyStreetAddress' 'ZipCode' 'CompanyPhone' should be displayed under **text area.****

    <html>
    <body>

    <form action = "select.php" method ="POST">

    <?php

        error_reporting(-1);

        $mysqli = new mysqli('localhost','root','','ecc');

    if ($mysqli->connect_error) {

        die('Can not connect to DB error : ('. $mysqli->connect_errno .') '.$mysqli->connect_error);

    }

        echo "Select client";

    if($results = $mysqli->query("SELECT ProjectManager FROM client"))
    {
        ?>

            <select name="project_manager">
            <option value="">-select project manager-</option>

        <?php

    while($row = $results->fetch_assoc()) {

   ?><option value="<?php echo $row['ProjectManager'] ?>"><?php echo $row['ProjectManager'] ?></option>

   <?php

   }  

    ?>

    <br>

    </select>

    <?php $results->free(); }?>

    <br><br>
    Subject:<br>

    <input type="text" name="subject"><br>

    <br>

    Date: <br>

    <input type = "date" name = "date"><br>

    <br><br>

    <textarea rows="5" cols="5" readonly="" value = "Client Details"> 

    <?php 

     if(isset($_POST['project_manager'])){

        $assignedto = $mysqli->real_escape_string($_POST['project_manager']);

        $sql = "SELECT 
                CompanyName, CompanyStreetAddress, City, State, Zipcode, CompanyPhone 
                FROM `client` 
                WHERE 
                ProjectManager = '$assignedto'";

        echo $sql;
         }
    ?>

    </textarea>

    <br><br>

    <input type="submit" value="submit">



    </form>

    </body>

    </html>



    <?php
    if(  isset($_POST['project_manager']) && isset($_POST['subject'])  && isset($_POST['date']) ){

        print_r($_POST);
            $assignedto = $mysqli->real_escape_string($_POST['project_manager']);
            $subject = $mysqli->real_escape_string( $_POST['subject']);
            $date =  $mysqli->real_escape_string($_POST['date']);


        if($stmt = $mysqli->prepare("INSERT INTO task (assignedto,subject,date) VALUES(?,?,?)")){

        $stmt->bind_param('sss',$assignedto,$subject,$date);

                $stmt->execute();
                $rows_affected = $stmt->affected_rows;

                if($rows_affected >0){

               echo "inserted successfully";    

            }elseif($rows_affected === -1){

               echo 'there is an error inserting';    

            }elseif($rows_affected === NULL){

            echo "invalid argument supplied";    

            }

        }    
    }

It would be grate if someone rewrite it

Thank you

Saloni
  • 13
  • 2
  • Which line is line 60? – Matt Mar 27 '17 at 18:09
  • Where is line `60` in your code? – SaidbakR Mar 27 '17 at 18:09
  • echo "$mysqli_query($mysqli, "SELECT `CompanyStreetAddress` FROM `client` WHERE project_manager = '.$assignedto.'")"; @mkaatman @SaidbakR – Saloni Mar 27 '17 at 18:16
  • Start by getting rid of the outer quotes. You don't want to display that line as literal text. – Matt Mar 27 '17 at 18:18
  • Its still not displaying the the respective fields 'CompanyName' 'CompanyStreetAddress' 'ZipCode' 'CompanyPhone' under text area. @mkaatman – Saloni Mar 27 '17 at 18:36
  • Split this into two lines: `echo $mysqli_query($mysqli, "SELECT \`CompanyStreetAddress\` FROM \`client\` WHERE project_manager = '.$assignedto.'");`. Save the query as $sql and echo $sql. Run that query that outputs directly against the db. – Matt Mar 27 '17 at 18:42
  • Still not working @mkaatman – Saloni Mar 28 '17 at 05:22

0 Answers0