Les meilleurs développeurs Full Stack freelances sont sur Codeur.com
Fermé · Moins de 500 € · 3 offres · 784 vues · 3 interactions
Bonjour,
J'ai trouvé un script de like, celui-ci est orienté objet, je souhaiterai avoir la même réciprocité sans objet
ci-joint, le script ! merci
<?php
class DBController {
private $host = "";
private $user = "";
private $password = "";
private $database = "";
function __construct() {
$conn = $this->connectDB();
if(!empty($conn)) {
$this->selectDB($conn);
}
}
function connectDB() {
$conn = mysql_connect($this->host,$this->user,$this->password);
return $conn;
}
function selectDB($conn) {
mysql_select_db($this->database,$conn);
}
function runQuery($query) {
$result = mysql_query($query);
while($row=mysql_fetch_assoc($result)) {
$resultset[] = $row;
}
if(!empty($resultset))
return $resultset;
}
function numRows($query) {
$result = mysql_query($query);
$rowcount = mysql_num_rows($result);
return $rowcount;
}
function updateQuery($query) {
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
} else {
return $result;
}
}
function insertQuery($query) {
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
} else {
return $result;
}
}
function deleteQuery($query) {
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
} else {
return $result;
}
}
}
?>
<?php
$db_handle = new DBController();
$query ="SELECT * FROM tutorial";
$result = $db_handle->runQuery($query);
?>
<?php
if(!empty($result)) {
$ip_address = $_SERVER['REMOTE_ADDR'];
foreach ($result as $tutorial ) {
?>
<input type="hidden" id="likes_1-<?php echo $tutorial["id"]; ?>" value="<?php echo $tutorial["likes"]; ?>">
<?php
$query ="SELECT * FROM likes WHERE tutorial_id = '" . $tutorial["id"] . "' and ip_address = '" . $ip_address . "'";
$count = $db_handle->numRows($query);
$str_like1 = "like";
if(!empty($count)) {
$str_like1 = "unlike";
}
?>
<?php
}
}
?>
<?php
if(!empty($_POST["id"])) {
$db_handle = new DBController();
switch($_POST["action"]){
case "like":
$query = "INSERT INTO likes (ip_address,tutorial_id) VALUES ('" . $_SERVER['REMOTE_ADDR'] . "','" . $_POST["id"] . "')";
$result = $db_handle->insertQuery($query);
if(!empty($result)) {
$query ="UPDATE tutorial SET likes = likes + 1 WHERE id='" . $_POST["id"] . "'";
$result = $db_handle->updateQuery($query);
}
break;
case "unlike":
$query = "DELETE FROM likes WHERE ip_address = '" . $_SERVER['REMOTE_ADDR'] . "' and tutorial_id = '" . $_POST["id"] . "'";
$result = $db_handle->deleteQuery($query);
if(!empty($result)) {
$query ="UPDATE tutorial SET likes_likes = likes - 1 WHERE id='" . $_POST["id"] . "' and likes > 0";
$result = $db_handle->updateQuery($query);
}
break;
}
}
?>
Budget indicatif : Moins de 500 €
Publication : 15 décembre 2016 à 11h52
Profils recherchés : Développeur full-stack freelance
3 freelances ont répondu à ce projet
3 propositions de devis en moins de 2h