From traditional PHP to MVC

I need some help to put this simple code into MVC any help would be appreciated. It is a simple form which retrieves data from an SQL DB… it works fine as one file but I have problems to put it in MVC, especially with submit part.:frowning:
I know for many people this is an easy thing to do in MVC… but i am in a learning process. Plz help :wink:

=================== HTML ========
</head>
<p><body>
<h3>Search Contacts Details</h3>
<p>You may search either by first or last name</p>
<form method=“post” action=“search_start.php?go” id=“searchform”>
<input type=“text” name=“name”>
<input type=“submit” name=“submit” value=“Search”>
</form>
</body>
</html>

================== PHP ============
<?php
if(isset($_POST[‘submit’])){
if(isset($_GET[‘go’])){
if(preg_match(“/[A-Z | a-z]+/”, $_POST[‘name’]))
{

$name=$_POST[‘name’];

//-query the database table
$sql=“SELECT * FROM Contacts WHERE FirstName LIKE '%” . $name . “%’ OR LastName LIKE '%” . $name .“%'”;

//-run the query against the mysql query function
$result=mysql_query($sql);

//-create while loop and loop through result set
while($row=mysql_fetch_array($result)){

$FirstName =$row[‘FirstName’];
$LastName=$row[‘LastName’];
$ID=$row[‘ID’];
$Email=$row[‘Email’];

//-display the result of the array
//echo "<ul>
";
echo “<li>” . “<a href=\“search_start.php?id=$FirstName\”>” .$FirstName . " " . $LastName . "</a></li>
";

//echo “</ul>”;
}
}
else{
echo “<p>Please enter a search query</p>”;
}
}}

?>

My suggestion is to read about what MVC is. It’s not just pushing a “button convert to MVC”, most of the times it’s preferred to use some MVC framework and for each the code and approach will slightly differ.

I suggest reading From Flat PHP to Symfony2. It takes you step-by-step from the kind of PHP you’re writing now to a more organized structure.

Definitely +1

And maybe you should post the result of your refactoring so someone can use it as an example and learn from it (or we can even improve what you’ve done).

So is this part of a larger site or what? The reason I ask is that wrapping a whole bunch of abstraction around something so simple might not be answer.

@ronalds ;, you mean you haven’t found PHP’s convert-mvc feature yet? :wink:

Also, a thread I just started: http://www.sitepoint.com/forums/showthread.php?935584-MOVE-Pattern

I suggest you to use CodeIgniter framework. Really easy, light and clear

Vote for Zend Framework 1.x here

Are we voting now?

+1 for Symfony2

:slight_smile: