Se fosse poco ottimizzata allora anche all'inizio sarebbe dovuta andare così lenta, eppure la velocità di interrogazione era quasi istantanea.
Comunque per ogni dubbio ecco la query li utilizzata:
Codice PHP:
<?php
// hostname
$nomehost = "";
// utente per la connessione a MySQL
$nomeuser = "";
// password per l'autenticazione dell'utente
$password = "";
//Database
$db = "";
$data = new mysqli($nomehost, $nomeuser, $password, $db);
include "login.php";
$log = new login();
if (mysqli_connect_errno()) {
// notifica in caso di errore
echo "Errore in connessione al DBMS: ".mysqli_connect_error();
// interruzione delle esecuzioni i caso di errore
exit();
}
//viene inviata una nuova news
if(isset($_POST['news_send'])) {
$url = trim($_POST['news_url']);
$nome = trim($_POST['news_nome']);
$desc = trim($_POST['news_desc']);
$sql = "insert into news(nome, url, descrizione) values ('$nome', '$url', '$desc');";
$result = $data->query($sql);
if (!$result) die('Errore: ' . mysqli_error($data));
}
//viene inviata una nuova informazione dal continente
if(isset($_POST['con_send'])) {
$url = trim($_POST['con_url']);
$nome = trim($_POST['con_nome']);
$desc = trim($_POST['con_desc']);
$citta = trim($_POST['con_citta']);
$sql = "insert into continente(nome, url, citta, descrizione) values ('$nome', '$url', '$citta', '$desc');";
$result = $data->query($sql);
if (!$result) die('Errore: ' . mysqli_error($data));
}
?>
<html>
<head>
<link href="stilepag.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function apri(s, h, l){
var w = 1;
while(document.getElementById(w)){
document.getElementById(w).style.display='none';
w++;
}
document.getElementById(s).style.display='block';
document.getElementById(h).className = 'botact';
document.getElementById(l).className = 'botdis';
}
</script>
</head>
<body>
<?php
$cont = "select max(data) as data
from continente";
$news = "select max(data) as data from news;";
$cont = $data->query($cont);
$news = $data->query($news);
$obj1=mysqli_fetch_object($cont);
$obj2=mysqli_fetch_object($news);
if(($obj1->data) > ($obj2->data)) $valore = 0; //di recente è stato inserito il continente
else $valore = 1; //di recente è stato inserito una news
echo "<a id=\"news\" onClick=\"apri(1, 'news', 'cont')\" class=\"";
if ($valore===0) echo "botdis\">News</a>";
else echo "botact\">News</a>";
echo " <a id=\"cont\" onClick=\"apri(2, 'cont', 'news')\" class=\"";
if ($valore===1) echo "botdis\">Dal Continente</a>";
else echo "botact\">Dal Continente</a>";
echo "<br><br>
<div class=\"quadro\" id=\"1\" style=\"";//tabella news
if ($valore===0) echo "display: none\">";
else echo "\">";
$sql = "select *
from news
order by data desc
limit 30;";
$result = $data->query($sql);
if($result->num_rows >0){
// generazione di un array numerico
while($obj=mysqli_fetch_object($result)){
$giorno = ($obj->data);
$a = date('d/m/Y',strtotime($giorno));
$desc = stripslashes($obj->descrizione);
$url = stripslashes($obj->url);
$nome = stripslashes($obj->nome);
echo '<b>'.$a.' - <a href="' . $url .'" target="_parent">'.$nome .'</a></b> '.$desc . '<br><hr>';
}
}
if($log->connesso()) {
echo '<br>Aggiungi News
<br><form name="new" method="post" action="">
Nome <input name="news_nome" type="text" value="">
<br>URL <input name="news_url" type="text" value="">
<br>Descrizione <textarea name="news_desc"></textarea>
<br><button type="submit" name="news_send">Invia</button>
</form>';
}
echo "</div>";
echo "<div class=\"quadro\" id=\"2\" style=\"";//tabella continente
if ($valore===1) echo "display: none\">";
else echo "\">";
$sql = "select *
from continente
order by data desc
limit 30;";
$result = $data->query($sql);
if($result->num_rows >0){
// generazione di un array numerico
while($obj=mysqli_fetch_object($result)){
$giorno = ($obj->data);
$a = date('d/m/Y',strtotime($giorno));
$url = stripslashes($obj->url);
$nome = stripslashes($obj->nome);
$desc = stripslashes($obj->descrizione);
$citta = stripslashes($obj->citta);
echo '<b>'.$a.' - <a href="' . $url .'" target="_parent">'.$nome .'</a> ' . $citta .'</b>: '.$desc . '<br><hr>';
}
}
if($log->connesso()) {
echo '<br>Aggiungi News dal Continente
<br><form name="new_con" method="post" action="">
Nome <input name="con_nome" type="text" value="">
<br>URL <input name="con_url" type="text" value="">
<br>Città: <select id="con_citta" name="con_citta">
<option value="citta1" selected>citta1</option>
</select>
<br>Descrizione <textarea name="con_desc"></textarea>
<br><button type="submit" name="con_send">Invia</button>
</form>';
}
echo "</div>";
?>
</body>
</html>
<?php
$data->close();
?>
e questo è il file nell'include:
Codice PHP:
<?php
session_start();
class login {
public function log(){
if($_SESSION['log'] == 1) {
echo "Benvenuto Administrator<br>";
return;
}
echo '<form name="log" method="post" action="">
User <input name="log_user" type="text" value="">
<br>Pass <input name="log_pass" type="password" value="">
<br><button type="submit" name="log_send">Invia</button>
</form>';
}
public function connesso(){
if($_SESSION['log'] == 1)return true;
else return false;
}
}
?>