15/01/2025 - sihsandrea ha scritto:
14/01/2025 - drede ha scritto:
INSERT INTO asset_hardware (marca, modello, seriale, ipmacchina, periferiche, software, commenti) VALUES ('$marca','$modello','$seriale','$ipmacchina','$periferiche','$software','$commenti')
vuoi sapere se stai duplicando il record?
alla spicciola, prima di inserire il record:
$controllosql ="select * from tabella where marca=$marca and modello=$modello ecc..."
se hai un record allora esiste già, se non hai record allora procedi all'inserimento..
lo metti in una funzione (FnzInsRecord per esempio) passando $marca, $modello ecc... se esiste messaggio "dati già presenti!" se non esiste lo inserisci nella stessa funzione e mandi il messaggio "dati inseriti correttamente!"
aggiungo:
l'ip da dove lo verifichi? in locale? pubblico? posso inserire ad muzzum 123.456.789.123?
Innanzitutto grazie per aver dedicato del tempo a rispondere al mio quesito.
Si sihsandrea, vorrei sapere se il record inserito è duplicato. Parliamo di una gestione di pc che sono collegati su una rete locale, una intranet.
L'accesso a questa futura gestione degli asset in modalità web, sarà solo di due persone, quindi vorrei creare, come dicevo, un avviso di "duplicazione" nel caso in cui il dato inserito sia già presente. Saranno circa 500 e più gli asset da inserire, ognuno con il suo ip statico, ma potrebbe capitare che quando inserisco un nuovo asset con il relativo ip statico, questi possa già essere "occupato". Da qui la necessità di implementare il mio codice php.
Oggi ho provato ad inserire questo codice (evidenziato), e diciamo che in qualche maniera fa quello che voglio, ma sento che manca ancora qualcosa.
<?php
$db_host = "+++++++++";
$db_user = "root";
$db_password = "";
$db = "db_it_asset_management";
// Create connection
$conn = new mysqli($db_host, $db_user, $db_password, $db);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT ipmacchina FROM asset_hardware";
$result = $conn->query($sql);
if ($result->num_rows > "") {
echo "<table><tr><th>IP MACCHINA GIA' PRESENTE</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row["ipmacchina"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>
<?php
//Controlla i dati
$errore = "";
$marca = $_POST['marca'];
$modello = $_POST['modello'];
$seriale = $_POST['seriale'];
$ipmacchina = $_POST['ipmacchina'];
$accessori = $_POST['accessori'];
$software = $_POST['software'];
$nomeunivoco = $_POST['nomeunivoco'];
$garanzia = $_POST['garanzia'];
$codicecomando = $_POST['codicecomando'];
$dataregistrazione = $_POST['dataregistrazione'];
$commenti = $_POST['commenti'];
if ($marca == "")
{
$errore = $errore . "ATTENZIONE! MANCA LA MARCA";
}
if ($modello == "")
{
$errore = $errore . "ATTENZIONE! MANCA IL MODELLO";
}
if ($seriale == "")
{
$errore = $errore . "ATTENZIONE! MANCA IL SERIALE";
}
if ($ipmacchina == "")
{
$errore = $errore . "ATTENZIONE! MANCA IL IP MACCHINA";
}
if ($errore == "")
{
//se non ci sono errori inserisci i dati nel DB
$sql = "INSERT INTO asset_hardware (marca, modello, seriale, ipmacchina, periferiche, software, commenti) VALUES ('$marca','$modello','$seriale','$ipmacchina','$periferiche','$software','$commenti')";
if (!mysqli_query($mysqli, $sql))
die(printf("<H3>L'Asset IT non può essere inserito: [%d] %s</H3>", mysqli_connect_errno(), mysqli_connect_error()));
?>