billy_111 Posted August 5, 2010 Share Posted August 5, 2010 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 Thanks Kind regards Billy Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.