Good day everyone! I have a personal database of film-noir movies. I am looking for a program that I could use to build a front-end on my website to attach to the MySQL database. It will list the title, actors, plot, comments, rating and the film image. I want to be able to advance to the next movie if I want and to be able to search. I do not want to use Wordpress. I want to build it myself. I do not mind learning. Most of everything I read is building an App or using WordPress. Thank you.
First up, you should consider using a framework if you're not going to use a content management system like WordPress because you don't want to completely recreate the wheel. You have 3 layers of information you need to work with: database - save, find, edit logic - where you get all the info you need presentation - where you plug all that info into your template So, your question is really about #3 Presentation. Find a site that gives away free HTML themes/templates - or paid if you find one that is awesome. It won't be perfect but you can remove sections, move things around - it just needs to have the kind of structure you need. Consider your target audience - what device is going to be used most often? I have no idea for movies but let's say it's tablets. Make sure the template you choose looks awesome for tablets and good for desktop and phone. Because we work on desktop we often make the mistake of looking at the tablet and phone versions after we're already committed. Once you have your template it's then just a matter of editing it and putting in the loops through your data and echoing/print into it. Some people use tools like SMARTY but that's a whole other learning curve that isn't necessary.
Thank you, that is very good advice. I was already looking at some templates. Have a great and safe day.
You don't need a frame work...it takes about 30 minutes to create your own content management system. All it is accessing the database and pulling out the info you need for front-end or back. For a basic back-end simply use a table to list textual info then build on it this is in admin directory and front can use the same to get you started. [CheatSheet - any mysql article tutorial can get you started.]
@2lostsouls First of all, very good decision of not using wordpress! As for frontend, you might need only 1 PHP file, and all you need to learn is, 1. Learn to connect to database using PHP and MYSQLI. 2. Learn to send a query 3. Learn to read data from result of query 4. Display it all Start PHP file like this, file named index.php <?php $dbName= "your_database_name"; $dbUser= "your_database_user"; $dbPass= "your_database_password"; $dbHost= "localhost"; echo '<!DOCTYPE html> <html><head> <title> Movie reviews, plots, ratings! </title> </head><body>'; //now connect $mysqli= new mysqli( $dbHost, $dbUser, $dbPass, $dbName ); //you do not want to continue if connection failed if($mysqli->connect_errno!=0){ echo("Connection failed \r\n".$mysqli->error); exit(); } //next start displaying data //get page number from queryString if( isset($_GET['page']) && is_numeric($_GET['page']) ){ $page= $_GET['page']; }else{ $page=0; } $limit = 20; $start= $page * $limit; echo '<h1>Page '. ($page+1).' of movie title, plot, ratings! </h1>'; //in below SQL change movie_table to your own table name //change title, moviePlot etc to your own column names in database. $sql= " select title, actors, moviePlot, rating, movieImage from movie_table order by rating desc limit $start, $limit "; //run the query $result= $mysqli->query($sql); //show the data in HTML while($row=$result->fetch_array(MYSQLI_ASSOC)){ echo '<div class="movieBox"> <h2>'. ucfirst(stripslashes( $row['title'] )). '</h2> <p> Actors: '. stripslashes( $row['actors'] ). '</p> <p> Plot: '. stripslashes( $row['moviePlot'] ). '</p> <p> Rating: '. stripslashes( $row['rating'] ). '</p> </div>'; }//while loop closed //show links for more pages echo '<p class="paging">'; for($x=0; $x<=10; ++$x ){ if( $page==$x ){ echo " $x "; }else{ echo '<a href="index.php?page='.$x.'"> '.$x.' </a>'; } }//for loop closed echo '</p>'; echo '</body></html>'; ?>
People use a 40,000 kb wordpress because they do not want to learn those above mentioned 20 lines of coding...
HTML Files needed for basic cms Front-end list, view Back-end login, list, view, post, update, delete and logout The difference between the back-end and front-end list and view pages are administration options such as "display_status" on post and update form. When set to "1" this displays the post on the front-end, "0" only displays it to admin area. Usually done for content validation or major modifications. Each individual list is known as a content manager (manager for certain type of content such as FAQ, movie list, audio list etc.) when more than one are used together or admin levels are used it's considered a cms (content management system) because you're managing more than one type of content. I have an image hosting script that I modified to use a single index.php file but allows visitors to post images and a has admin area where I can remove images or change layouts complete with error pages, about, contact and image listings and link sharing codes. It's about what you want to use and how much work you want to put into it. The script mentioned previously was a tutorial I found onloine and modified the mess out of it.
2lostsouls, I suggest that you use Python and Flask. There are many tutorials online that show people how to use Flask to create a website. You will need to the following to create the website. 1. The frontend - HTML and CSS, maybe some Javascript. 2. The backend - a language like Python to process everything behind the scenes. 3. A web framework like Flask - to connect the frontend to the backend. 4. A database - MySQL, Postgresql, or sqlite3 - to store information such as the movies and user registration information.