Les meilleurs développeurs Full Stack freelances sont sur Codeur.com

Programmation objet

 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

Le profil du client est reservé aux prestataires abonnés

Créer un compte

3 freelances ont répondu à ce projet

3 propositions de devis en moins de 2h

BundleWeb Développeur web
W
E
Publier un projet similaire

Chaque jour, des centaines de clients utilisent Codeur.com pour trouver un prestataire. Créez votre compte dès maintenant, remplissez votre profil et trouvez de nouveaux clients.

Trouver des nouveaux clients