Ho una pagina per visualizzare i dati della tabella delle rimanenze. Ovvero dove vado a richiamare il file Create.Table:
CREAZIONE DELLA TABELLA - Pagina magazzino.php
<?php
$tab = "dati";
$sql = "SELECT dati.Id, dati.Prodotto, dati.Quantità, dati.Note, dati.Data, anagrafica.Società, anagrafica.Idfornitore FROM $tab INNER JOIN anagrafica ON dati.Venditore = anagrafica.Idfornitore";
require('config/result.conn');
if($nrighe < 1) {
echo "la ricerca non ha prodotto risultati";
} else {
$count = 0;
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
if($count <= $nrighe) {
$id = $row['Id'];
$prod = $row['Prodotto'];
$quan = $row['Quantità'];
$note = $row['Note'];
$data = $row['Data'];
if(isset($row['Società'])) {
$soci = $row['Società'];
$format_data = date("d-m-Y", strtotime($data));
echo "<tr><td>$id</td><td>$prod</td><td>$quan</td><td>$soci</td><td>$format_data</td><td>$note</td><td><a href=\"magazzino.php?remove=$id\">rimuovi</a></td></tr>";
++$count;
} else {
echo "ERROR";
}
}
}
}
if(isset($_GET['remove'])) {
$idremove = $_GET['remove'];
$deleteSQL = "DELETE FROM $tab WHERE Id = $idremove";
$result3 = mysqli_query($conn, $deleteSQL);
if($result3) {
header('location: magazzino.php');
}
}
?>
Per introdurre un nuovo record in questa tabella avevo costruito un form al termine della tabella, con tasto di invio submit, ma poi ho deciso di creare una pagina esclusiva la compilazione. Pensando che avrebbe potuto aiutare il < form action="nuovapagina.php">. Ma invece mi sbagliavo.
INSERIMENTO DATI NELLA TABELLA - stralcio della pagina: inserimento.php
<form method="POST">
<input type="text" name="Product" Placeholder="Prodotto" /><input type="text" name="Quantity" Placeholder="Quantità" />
<select name="Fornitore">
<?php
$sqlSOC = "SELECT Società, Idfornitore FROM anagrafica";
$result4 = mysqli_query($conn, $sqlSOC);
$nrigheF = mysqli_num_rows($result4);
if($nrigheF >= 1) {
while($rowF = mysqli_fetch_array($result4, MYSQLI_ASSOC)) {
$fornitore = $rowF['Società'];
$idF = $rowF['Idfornitore'];
echo "<option value =\"$idF\">$fornitore</option>"; //riga incriminata di ECHO
}
}
?>
</select>
<select name="Giorno">
<?php
for($d = 1; $d <= 31; ++$d) {
echo "<option value=\"$d\">$d</option>";
}
?>
</select>
<select name="Mese">
<option value ="01">Gennaio</option>
<option value ="02">Febbraio</option>
<option value ="03">Marzo</option>
<option value ="04">Aprile</option>
<option value ="05">Maggio</option>
<option value ="06">Giugno</option>
<option value ="07">Luglio</option>
<option value ="08">Agosto</option>
<option value ="09">Settembre</option>
<option value ="10">Ottobre</option>
<option value ="11">Novembre</option>
<option value ="12">Dicembre</option>
</select>
<select name="Anno">
<?php
$currY = date("Y");
$currY_1 = $currY - 1;
$currY_2 = $currY - 2;
$currY_3 = $currY - 3;
$currY_4 = $currY - 4;
$currY_5 = $currY - 5;
$currY_6 = $currY - 6;
echo "<option value =\"$currY\">$currY</option>";
echo "<option value =\"$currY_1\">$currY_1</option>";
echo "<option value =\"$currY_2\">$currY_2</option>";
echo "<option value =\"$currY_3\">$currY_3</option>";
echo "<option value =\"$currY_4\">$currY_4</option>";
echo "<option value =\"$currY_5\">$currY_5</option>";
echo "<option value =\"$currY_6\">$currY_6</option>";
?>
</select>
<input type="text" name="Notes" Placeholder="Note" />
<input type="submit" name="invio" />
<?php
require('config/insertInto.table');
?>
</form>
nella quale vado a richiamare inserimento.table:
AQUISISCO I DATI - inserimento.table
<?php
$tab = "dati";
if(isset($_POST['invio'])) {
$prodotto = $_POST['Product'];
$quantità = $_POST['Quantity'];
$notes = $_POST['Notes'];
$IdForn = $_POST['Fornitore'];
$d = intval ($_POST['Giorno']);
$m = intval ($_POST['Mese']);
$Y = intval ($_POST['Anno']);
if (is_numeric($d)) {
$insertdata = date('Y-m-d', mktime(0, 0, 0, $m, $d, $Y));
$insertSQL = "INSERT INTO $tab (Prodotto, Quantità, Note, Venditore, Data) VALUES ('$prodotto', '$quantità', '$notes', '$IdForn', '$insertdata')";
$result2 = mysqli_query($conn, $insertSQL);
if($result2) {
//header('location: magazzino.php'); // Questo HEADER non funziona perché ostacolato dall'ECHO.
}
} else {
echo "il giorno non è un numero!";
echo $d;
}
}
?>
Infine ecco l'immagine della tabella, con in alto a sinistra il bottone con il link per accedere alla pagina inserisci.php oer immettere record nella tabella.
[img]
https://i.ibb.co/zFg2H65/spiegazione-2.jp