O sa vedem in acest articol un exemplu rapid pentru rezolvarea unei probleme cu care m-a abordat un cititor. Sa vedem despre ce este vorba.
Avem o lista de elemente, sa zicem melodii, ordonate dupa note. In dreptul fiecarei melodii utilizatorul are posibilitatea sa dea o nota pentru a o ridica in clasament. Dupa vot, trebuie sa fim redirectati inapoi la lista ordonata dupa noile note.
O sa rezolvam aceasta problema in cativa pasi simpli, pentru ca lucrurile sa fie cat mai clare. Pentru ca exemplul sa fie complet, eu am sa includ si fisierul care defineste baza de date cu care vom lucra.
Sa vedem, deci, cum arata structura bazei de date:
CREATE DATABASE music_test;
USE music_test;
CREATE TABLE song
(
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(64) NOT NULL,
rating INT NOT NULL
);
INSERT INTO song(name, rating) VALUES('Calexico - Pepita', 0);
INSERT INTO song(name, rating) VALUES('Clannad - I Will Find You', 0);
INSERT INTO song(name, rating) VALUES('Sven Van Hees - Flute Salad', 0);
INSERT INTO song(name, rating) VALUES('M.O.P. - Cold As Ice', 0);
INSERT INTO song(name, rating) VALUES('Gloria Gaynor - I Love You Baby', 0);
INSERT INTO song(name, rating) VALUES('Queen - Love of My Life', 0);
INSERT INTO song(name, rating) VALUES('Sally Oldfield - Mirror', 0);
INSERT INTO song(name, rating) VALUES('Linkin Park - Somewhere I Belong', 0);
INSERT INTO song(name, rating) VALUES('Holograf - Viata Are Gust', 0);
INSERT INTO song(name, rating) VALUES('Joey Diggs - Always Coca-Cola', 0);
INSERT INTO song(name, rating) VALUES('Mission Belle - Just What I Want', 0);
INSERT INTO song(name, rating) VALUES('Dj Bobo - Chihuahua', 0);
Dupa cum se vede, avem o tabela simpla in care tinem un id (pentru identificare unica), un nume si nota pe care a primit-o melodia. Observati ca toate melodiile pleaca de la nota zero.
Sa vedem acum fisierul index.php unde vom afisa melodiile si de unde utilizatorii vor putea vota
<!DOCTYPE html>
<html>
<head>
<title>Lista melodii</title>
<style type="text/css">
body {
font-family: sans-serif;
font-size: 13px;
color: #000;
}
table tr td {
padding: 3px;
}
#wrapper {
width: 304px;
padding: 15px;
border: 1px solid #CCC;
margin: auto;
}
</style>
</head>
<body>
<div id="wrapper">
<form method="post" action="save.php">
<?php include("table.php"); ?>
<div style="text-align: right; margin: 0px; padding: 0px">
<input type="submit" value="Voteaza" />
</div>
</form>
</div>
</body>
</html>
Este o structura HMTL simpla, dar o scriem intr-un fisier cu extensia .php pentru a putea diviza putin codul. Astfel, observati ca includem la un moment dat fisierul table.php. Sa vedem cum arata el si ce face:



