Jump to content

Looping through INSERT


billy_111

Recommended Posts

Hi,

 

I was wondering why this won't work, i am INSERTING an array of authors like so in a table, see insertAuthor() method below:

 

<?php
class People {

    public function insertAuthor(){

        $authArray = array();
        array_push($authArray, mysql_real_escape_string($_POST['author']));
        
        //Check if Pname exists
        foreach($authArray as $author):
            $query = "SELECT * FROM People WHERE Pname = '".$author."'";
            $result = mysql_query($query);

            if(mysql_num_rows($result) > 0):
                $row = mysql_fetch_array($result);
                $Pid = $row['Pid'];

                //If exists Get their Pid and insert into PeopleCon
                $sql = "INSERT INTO PeopleCon(Pid, PCorder, PCdateadded, PCdeleted) VALUES (".$Pid.", (select MAX(PCorder) + 1), now(), 0)";
                $result = mysql_query($sql);
            else:
                //Else Get MAX Pid
                $query = "SELECT MAX(Pid) as max FROM People";
                $result = mysql_query($query);
                $max = mysql_fetch_array($result);
                $Pid = $max['max'];

                //Insert into People
                $sql = "INSERT INTO People (Pname, Pdateadded, Pdeleted) VALUES ('".$author."', now(), 0)";
                $result = mysql_query($sql);

                //Insert into PeopleCon
                $sql = "INSERT INTO PeopleCon(Pid, PCorder, PCdateadded, PCdeleted) VALUES (".$Pid.", (select MAX(PCorder) + 1), now(),0)";
                $result = mysql_query($sql);
            endif;
        endforeach;
    }
}
?>

 

However what i need to do is, check to see if an Author exists, if so INSERT into a table called PeopleCon, if the Author does NOT exist i need to INSERT into 2 different tables, People  and PeopleCon...

 

The reason i have the 2 tables is because People simply holds the persons personal details, but PeopleCon holds details linking to different tables.

 

But this query does not work, i know there are better methods of getting this to work..

 

I do this in the front end:

 

if(isset($_POST['add_author'])):

        People::insertAuthor();

endif; 

 

Is this possible?

 

I would appreciate any help. Just want to get this working  :confused:

 

Thanks

 

Kind regards

Billy

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.