Confronto dati con php e db mysql

di il
2 risposte

Confronto dati con php e db mysql

Ciao a tutti, sto sviluppando una piccola pagina web che recupera i dati da un db ogni 5 sec e poi deve confrontarli fra di loro.
Mi spiego meglio:
ho una colonna che si chiama inpname dove sono contenuti i nomi e una inpstatus dove visualizzo lo stato (0-1)
a questo punto se un inpname specifico esempio 22 passa da 0 a 1 deve mandare un messaggio tramite telegram e deve andare a controllare se tutti gli altri inpname hanno lo stato settato a 0 e se per caso uno di questi diventa 1 deve eseguire una determinata operazione (esempio invio messaggio con telegram).
lo stato passa da 0 a 1 se si chiudono o si aprono determinati contatti..
Il tutto gira su raspberry con apache.
Il db è presente su un altro server sotto la stessa rete e gestisce un sistema domotico...
il codice sottostante recupera i dati dal db e crea una tabella
<!DOCTYPE html>
<html>
<head>
<META HTTP-EQUIV="refresh" CONTENT="5;datitest.php">
<style>
table, th, td {
border: 1px solid black;
}
</style>
</head>
<body>
<?php
include("connessione.php");

$sql = "SELECT inpname, status FROM inpstatus WHERE inpname LIKE '%antifurto%' or inpname LIKE '%sensore%' UNION SELECT buttonid, status FROM actstatus WHERE but$
$result = $conn->query($sql);

if ($result->num_rows > 0) {
echo "<table><tr><th>Nome</th><th>Status</th><th>Lastupdate</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["inpname"]. "</td><td>" . $row["status"]. "</td><td> " . $row["lastupdate"]. "</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}

$conn->close();
?>
a questo punto non so come fare per confrontare i dati caricati in tabella con dei valori fissi e se questi non sono quelli che ci si aspetta allora deve eseguire determinate operazioni.
Grazie a tutti

2 Risposte

  • Re: Confronto dati con php e db mysql

    Intendi qualcosa così ?
    
    while($row = $result->fetch_assoc()) {
    
    	$inpname = $row["inpname"];
    	$status = $row["status"];
    	$lastupdate = $row["lastupdate"];
    	
    	// eseguo i controlli
    	switch ( $status ) {
    		case "un valore" :
    			// faccio qualcosa
    			break;
    		case "un altro valore" :
    			// faccio un'altra cosa
    			break;
    			
    	}
    	
    	echo "
    		<tr>
    			<td>$inpname</td>
    			<td>$status</td>
    			<td>$lastupdate</td>
    		</tr>
    	";
    
    }
    
  • Re: Confronto dati con php e db mysql

    Ciao sebaldar,
    grazie mille per la risposta..
    ti allego la tabella che viene creata dallo script sopra
    Come vedi nella tabella trovi vari antifurto e vari sensori e dei numeri nella colonna Nome
    Ora quello che dovrei fare è: se 22 o 23 o 24 vengono settati a 1 tramite la domotica deve mandare un messaggio tramite telegram (vedi Pytg Telegram) dicendo che l'antifurto è attivo e contrario... allo stesso tempo una volta che viene settato a 1 deve andare a controllare i nomi antifurto... e sensore se vengono settati a 0 e in caso inviare un messaggio con scritto per esempio effrazione in corso...
    Lo script sopra riportato ricarica la pagina ogni 5 secondi di conseguenza se vengono settati i valori cone riportato poche righe sopra si rischia che ogni cvolta che ricarica la pagina invia un messaggio o di avvenuto inserimento antifurto o di effrazione...
    Ti ringrazio per il supporto
    Ciao
Devi accedere o registrarti per scrivere nel forum
2 risposte