Gestione completa di una tabella del Database... impossibile

amicofl

Nuovo Utente
13 Lug 2015
2
0
0
Pensavo che il linguaggio PHP fosse uguale per tutto e per tutti.
Mi sbagliavo...
Devo completare un progetto che prevede la costruzione di una pagina con la quale inserire dei dati di un intervento in un database, ma anche di modificarli e di eliminarli.

Un progetto funzionante, che riguardava un database collegato in POSTGRESS è il seguente


PHP:
<?php
Session_Start();
require_once ("DB.php");
$db=DB::connect("pgsql://vc:[email protected]/vc2014-lio");
if(DB::isError($db)){
    die("Errore di connessione: ".$db->getMessage());
}
if(empty($_SESSION['username'])){
    header("location: login.php?pagina={$_SERVER['PHP_SELF']}");
}
if ($_SESSION['ruolo']!='admin'){
    die ("accesso non autorizzato");
}


function getVar($nome) {
    if (!empty($_REQUEST[$nome])) {
        return $_REQUEST[$nome];
    } else {
        return "";
    }
}

$legend = "inserimento";
$nuovoOp = "INSERT";
$op = getVar('op');
if ($op == 'DEL') {
    cancella();
}
if ($op == 'EDIT') {
    $riga = cerca();
    $nuovoOp = "UPDATE";
    $legend = "modifica";
}
if ($op == 'UPDATE') {
    modifica();
}
if ($op == 'INSERT') {
    $legend = "inserimento";
    inserisci();
}
if (empty($riga)) {
    $riga->codam == "";
    $riga->nome == "";
    $riga->cognome == "";
    $riga->username == "";
    $riga->password == "";
}
?>
<html>
    <head>
        <title> Getsione Ammistratori </title>
    </head>
    <body>
        <div class="container-fluid">
            <header>
                <h1>Amministratori</h1>
            </header>
            <section ID="modulo">
                <form action="<?= $_SERVER['PHP_SELF'] ?>" method="POST">
                    <filedset>
                        <legend> <?= $legend ?> </legend>
                        <p>
                            <label for="codam">codice</label>
                            <input type="text" name="codam" id="codam" value="<?= $riga->codam ?>">
                        </p>
                        <p>
                            <label for="cognome">cognome</label>
                            <input type="text" name="cognome" id="cognome" value="<?= $riga->cognome ?>">
                        </p>
                        <p>
                            <label for="nome">nome</label>
                            <input type="text" name="nome" id="nome" value="<?= $riga->nome ?>">
                        </p>
                        <p>
                            <label for="username">username</label>
                            <input type="text" name="username" id="username" value="<?= $riga->username ?>">
                        </p>
                        <p>
                            <label for="password">password</label>
                            <input type="text" name="password" id="password" value="<?= $riga->password ?>">
                        </p>
                        <p>
                            <input type="submit" value="registra" >
                            <input type="hidden" name="op" value="<?= $nuovoOp ?>">
                        </p>
                    </filedset>
                </form>
            </section>
            <section id="tabella">
                <?php
                $elenco = getAmministratori();
                if (count($elenco) == 0) {
                    print "<h1>Nessun Amministratore </h1>";
                } else {
                    ?>
                    <table class="table table-boarder">
                        <thead>
                            <tr>
                                <th>codice</th>
                                <th>cognome</th>
                                <th>nome</th> 
                                <th>username</th>
                                <th>Modifica/Elimina</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php foreach ($elenco as $riga) { ?>
                                <tr>
                                    <td><?= $riga->codam ?></td>
                                    <td><?= $riga->cognome ?></td>
                                    <td><?= $riga->nome ?></td>
                                    <td><?= $riga->username ?></td>
                                    <td><a href='<?= $_SERVER['PHP_SELF'] ?>?codam=<?= $riga->codam ?>&op=EDIT'>Modifica</a>
                                        <a href='<?= $_SERVER['PHP_SELF'] ?>?codam=<?= $riga->codam ?>&op=DEL'>Elimina</a></td>
                                </tr>
                            <?php } ?>
                        </tbody>
                    </table>
                <?php }
                ?>
            </section>
        </div>
    </body>
</html>
<?php

function cerca() {
    global $db;
    $sql = "select * "
            . " from amministratori"
            . " where codam=" . getVar('codam') . "";
    if (!DB::isError($tab = $db->query($sql))) {
        if ($riga = $tab->fetchRow(DB_FETCHMODE_OBJECT)) {
            return $riga;
        }
    } else {
        die("Errore sql: " . $tab->getMessage() . ":" . $sql);
        return null;
    }
}

function getAmministratori() {
    global $db;
    $sql = "select * "
            . " from amministratori ";
    $elenco = array();
    if (!DB::isError($tab = $db->query($sql))) {
        while ($riga = $tab->fetchRow(DB_FETCHMODE_OBJECT)) {
            $elenco[] = $riga;
        }
    } else {
        die("Errore sql: " . $tab->getMessage() . ":" . $sql);
    }
    return $elenco;
}

function inserisci() {
    global $db;
    $sql = "insert into amministratori (cognome,nome,username,password)"
            . " values('" . getVar('cognome') . "','" . getVar('nome') . "','" . getVar('username') . "','" . getVar('password') . "')";
    if (DB::isError($tab = $db->query($sql))) {
        die("Errore sql: " . $tab->getMessage() . ":" . $sql);
    }
}

function modifica() {
    global $db;
    $sql = "update amministratori "
            . " set cognome = '" . getVar('cognome') . "'"
            . " , nome = '" . getVar('nome') . "'"
            . " , username = '" . getVar('username') . "'"
            . " , password = '" . getVar('password') . "'"
            . " where codam=" . getVar('codam') . "";
    if (DB::isError($tab = $db->query($sql))) {
        die("Errore sql: " . $tab->getMessage() . ":" . $sql);
    }
}

function cancella() {
    global $db;
    $sql = "delete from amministratori"
            . " where codam=" . getVar('codam') . "";
    if (DB::isError($tab = $db->query($sql))) {
        die("Errore sql: " . $tab->getMessage() . ":" . $sql);
    }
}

Ma ora non ho un database di Postegress al quale collegarmi. Devo utilizzare un server, locale, di MYSQLi.


Ho porvato ad applicare la stessa logica alla nuova situazione. Il risultato è stato disastroso. Non si riusciva nemmeno a collegare.
Ho trovato poi su internet un metodo per collegarmi

PHP:
<?php

$servername = "localhost";

$username = "test";

$password = "";

$dbname = "test";


// Create connection

$db = new mysqli($servername, $username, $password, $dbname);


// Check connection

if ($db->connect_error) {

    die("Connection failed: " . $db->connect_error);

} 
$a= mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
echo "Connected successfully ".$a." ";

?>
Sono così riuscito a collegarmi, ma mi sono accorto che il metodo per prendere i valori che derivano delle interrogazioni SQL al database non davano alcun valore, nonostante le prove su phpmyadmin avessero dato esito positivo (ossia dei risultati).

Molti erano gli errori:

1)
PHP:
fetchRow(DB_FETCHMODE_OBJECT)
non veniva riconosciuto come comando.

ho docuto ripiegare, dopo tanti, ma tanti tentativi a

PHP:
fetch_array()

ma anche qui poi ho dovuto modificare come estrapolavo e visualizzavo i valori dell'interrogazione.

fetchRow era fondamentale per formare nelle function che incominciano per getOptionCod... () l'elenco a discesa dei dati, ma anche quali valori compongono il dato selezionato

PHP:
<?= $riga->Username ?>

fatto nella funzione dove potevo controllare anche se il vlore

che dava il seguente errore

Notice: Trying to get property of non-object

a

PHP:
print "<option value='".$riga['codiceCliente']."'> ".$riga['username']." </option>"

Perdendo, in pratica la possibilità di far visualizzare quali sono i dati che compongono quel valore tramite il campo
PHP:
selected="selected"

Il codice che sono riuscito a produrre è il seguente

PHP:
<?php
require "connessione.php";
$legend = "inserimento";
$nuovoOp = "INSERT";

function getVar($nome) {
    if (!empty($_REQUEST[$nome])) {
        return $_REQUEST[$nome];
    } else {
        return "";
    }
}

$op = getVar('op');
if ($op == 'DEL') {
    cancella();
}
if ($op == 'EDIT') {
    $riga = cerca();
    $nuovoOp = "UPDATE";
    $legend = "modifica";
}
if ($op == 'UPDATE') {
    modifica();
}
if ($op == 'INSERT') {
    $legend = "inserimento";
    inserisci();
}
if (empty($riga)) {
    $riga['codCliente'] = "";
    $riga['codTecnico'] = "";
    $riga['codF'] = "";
    $riga['descrizioneIntervento'] = "";
    $riga['altro'] = "";
    $riga['trasferta'] = "";
    $riga['codL'] = "";
    $riga['inizioIntervento'] = "";
    $riga['fineIntervento'] = "";
    $riga['codTF'] = "";
    $riga['codTT'] = "";
    $riga['materialeUtilizzato'] = "";
}
?>
<html>
    <head>
        <title>
            Inserimento I-Calender
        </title>
    </head>
    <body>
        <h1>Inserimento I-Calender</h1>
        <form method="POST" action="<?php $_SERVER['PHP_SELF'] ?>">
            <legend>Inserimento I-Calender</legend>
            <p>
                <select id="codT" name="codT">
                    <option value="">Inserisci Tecnico</option>
                    <?php
                    $elenco = getOptioncodT();
                    foreach ($elenco as $riga) {
                        print "<option value='" . $riga['codice'] . "'> " . $riga['username'] . " </option>";
                    }
                    ?>
                </select>
            </p>
            <p>
                <select id="codC" name="codC">
                    <option value="">Inserisci Cliente</option>
                    <?php
                    $elenco = getOptioncodC();
                    foreach ($elenco as $riga) {
                        print "<option value='" . $riga['codice'] . "'> " . $riga['username'] . " </option>";
                    }
                    ?>
                </select>
            </p>
            <p>
                <select id="codF" name="codF">
                    <option value="">Inserisci Fornitore</option>
                    <?php
                    $elenco = getOptioncodF();
                    foreach ($elenco as $riga) {
                        print "<option value='" . $riga['codF'] . "'> " . $riga['fornitore'] . " </option>";
                    }
                    ?>
                </select>
            <p>
                <label for id="descrizioneIntervento">Descrizione Intervento</label>
                <input type="text" name="descrizioneIntervento" id="descrizioneIntervento" value="<?= $riga['descrizioneIntervento'] ?>">
            </p>
            <p>
                <label for id="altro">Altro</label>
                <input type="text" name="altro" id="altro" value="<?= $riga['altro'] ?>">
            </p>
            <p>
                <label for id="trasferta">Trasferta (S/N)</label>
                <input type="text" name="trasferta" id="trasferta" value="<?= $riga['trasferta'] ?>">
            </p>

            <p>
                <select id="codL" name="codL">
                    <option value="">Inserisci Luogo</option>
                    <?php
                    $elenco = getOptioncodL();
                    foreach ($elenco as $riga) {
                        print "<option value='" . $riga['codL'] . "'> " . $riga['luogo'] . " </option>";
                    }
                    ?>
                </select>
            </p>
            <p>
                <label for="giornoInizioIntervento">GG/MM/AAAA HH:MM Inizio Lavori</label>
                <select id="giornoInizioIntervento" name="giornoInizioIntervento">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                    <option value="13">13</option>
                    <option value="14">14</option>
                    <option value="15">15</option>
                    <option value="16">16</option>
                    <option value="17">17</option>
                    <option value="18">18</option>
                    <option value="19">19</option>
                    <option value="20">20</option>
                    <option value="21">21</option>
                    <option value="22">22</option>
                    <option value="23">23</option>
                    <option value="24">24</option>
                    <option value="25">25</option>
                    <option value="26">26</option>
                    <option value="27">27</option>
                    <option value="28">28</option>
                    <option value="29">29</option>
                    <option value="30">30</option>
                    <option value="31">31</option>
                </select>
                <select id="meseInizioIntervento" name="meseInizioIntervento">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                </select>
                <select id="annoInizioIntervento" name="annoInizioIntervento">
                    <option value="2015">2015</option>
                    <option value="2016">2016</option>
                    <option value="2017">2017</option>
                    <option value="2018">2018</option>
                    <option value="2019">2019</option>
                    <option value="2020">2020</option>
                </select>
                <select id="oraInizioIntervento" name="oraInizioIntervento">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                    <option value="13">13</option>
                    <option value="14">14</option>
                    <option value="15">15</option>
                    <option value="16">16</option>
                    <option value="17">17</option>
                    <option value="18">18</option>
                    <option value="19">19</option>
                    <option value="20">20</option>
                    <option value="21">21</option>
                    <option value="22">22</option>
                    <option value="23">23</option>
                    <option value="24">24</option>
                </select>
                <select id="minutiInizioIntervento" name="minutiInizioIntervento">
                    <option value="00">00</option>
                    <option value="15">15</option>
                    <option value="30">30</option>
                    <option value="45">45</option>
                </select>
            </p>
            <p>
                <label for="giornoFineIntervento">GG/MM/AAAA HH:MM Fine Lavori</label>
                <select id="giornoFineIntervento" name="giornoFineIntervento">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                    <option value="13">13</option>
                    <option value="14">14</option>
                    <option value="15">15</option>
                    <option value="16">16</option>
                    <option value="17">17</option>
                    <option value="18">18</option>
                    <option value="19">19</option>
                    <option value="20">20</option>
                    <option value="21">21</option>
                    <option value="22">22</option>
                    <option value="23">23</option>
                    <option value="24">24</option>
                    <option value="25">25</option>
                    <option value="26">26</option>
                    <option value="27">27</option>
                    <option value="28">28</option>
                    <option value="29">29</option>
                    <option value="30">30</option>
                    <option value="31">31</option>
                </select>
                <select id="meseFineIntervento" name="meseFineIntervento">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                </select>
                <select id="annoFineIntervento" name="annoFineIntervento">
                    <option value="2015">2015</option>
                    <option value="2016">2016</option>
                    <option value="2017">2017</option>
                    <option value="2018">2018</option>
                    <option value="2019">2019</option>
                    <option value="2020">2020</option>
                </select>
                <select id="oreFineIntervento" name="oreFineIntervento">
                    <option value="0">0</option>
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                    <option value="13">13</option>
                    <option value="14">14</option>
                    <option value="15">15</option>
                    <option value="16">16</option>
                    <option value="17">17</option>
                    <option value="18">18</option>
                    <option value="19">19</option>
                    <option value="20">20</option>
                    <option value="21">21</option>
                    <option value="22">22</option>
                    <option value="23">23</option>
                </select>
                <select id="minutiFineIntervento" name="minutiFineIntervento">
                    <option value="00">00</option>
                    <option value="15">15</option>
                    <option value="30">30</option>
                    <option value="45">45</option>
                </select>
            </p>
            <p>
                <select id="codTF" name="codTF">
                    <option value="">Inserisci Tipo Fattura</option>
                    <?php
                    $elenco = getOptioncodTF();
                    foreach ($elenco as $riga) {
                        print "<option value='" . $riga['codTF'] . "'> " . $riga['tipoFatturazione'] . " </option>";
                    }
                    ?>
                </select>
            </p>
            <p>
                <select id="codTT" name="codTT">
                    <option value="">Inserisci Tipo Tariffa</option>
                    <?php
                    $elenco = getOptioncodTT();
                    foreach ($elenco as $riga) {
                        print "<option value='" . $riga['codTT'] . "'> " . $riga['tipoTariffa'] . " </option>";
                    }
                    ?>
                </select>
            </p>
            <p>
                <label for id="materialeUtilizzato">Materiale Utilizzato</label>
                <input type="text" name="materialeUtilizzato" id="materialeUtilizzato" value="<?= $riga['materialeUtilizzato'] ?>">
            </p>
            <p>
                <input type="submit" value="registra" >
                <input type="hidden" name="op" value="<?= $nuovoOp ?>">
            </p>

        </form>

    </body>
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">

    <!-- Optional theme -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">

    <!-- Latest compiled and minified JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</html>
<?php

function cerca() {
    global $db;
    $sql = "select * "
            . " from tssij_interventi"
            . " where codI=" . getVar('codI') . "";
    if (!DB::isError($tab = $db->query($sql))) {
        if ($riga = $tab->fetch_array()) {
            return $riga;
        }
    } else {
        die("Errore sql: " . $tab->getMessage() . ":" . $sql);
        return null;
    }
}

function getInterventi() { //dovrebbe contenere gli interventi del tecnico
    global $db;
    $sql = "select * "
            . " from tssij_interventi"
            . " order by ";
    $elenco = array();
    if (!DB::isError($tab = $db->query($sql))) {
        while ($riga = $tab->fetchRow(DB_FETCHMODE_OBJECT)) {
            $elenco[] = $riga;
        }
    } else {
        die("Errore sql: " . $tab->getMessage() . ":" . $sql);
    }
    return $elenco;
}

function inserisci() {
    global $db;
    $sql = "insert into tssij_interventi (codT,codC,codF,descrizioneIntervento,altro,trasferta,codL,giornoInizioIntervento,meseInizioIntervento,annoInizioIntervento,oraInizioIntervento,minutiInizioIntervento,codTF,codTT,materialeUtilizzato)"
            . " values('" . getVar('codT') . "','" . getVar('codC') . "','" . getVar('codF') . "','" . getVar('descrizioneIntervento') . "','" . getVar('altro') . "','" . getVar('trasferta') . "','" . getVar('codL') . "','" . getVar('giornoInizioIntervento') . "','" . getVar('meseInizioIntervento') . "','" . getVar('annoInizioIntervento') . "','" . getVar('oraInizioIntervento') . "','" . getVar('minutiInizioIntervento') . "','" . getVar('giornoFineIntervento') . "','" . getVar('meseFineIntervento') . "','" . getVar('annoFineIntervento') . "','" . getVar('oraFineIntervento') . "','" . getVar('minutiFineIntervento') . "','" . getVar('codTF') . "','" . getVar('codTT') . "','" . getVar('materialeUtilizzato') . "')";
    if ($tab = $db->query($sql)) {
        die("Errore sql: " . $tab->getMessage() . ":" . $sql);
    }
}

function modifica() {
    global $db;
    $sql = "update tssij_interventi "
            . " set codT = '" . getVar('codT') . "'"
            . " , codC = '" . getVar('codC') . "'"
            . " , codF = '" . getVar('codF') . "'"
            . " , descrizioneIntervento = '" . getVar('descrizioneIntervento') . "'"
            . " , altro = '" . getVar('altro') . "'"
            . " , trasferta = '" . getVar('trasferta') . "'"
            . " , codL = '" . getVar('codL') . "'"
            . " , giornoInizioIntervento = '" . getVar('giornoInizioIntervento') . "'"
            . " , meseInizioIntervento = '" . getVar('meseInizioIntervento') . "'"
            . " ,annoInizioIntervento = '" . getVar('annoInizioIntervento') . "'"
            . " , oraInizioIntervento = '" . getVar('oraInizioIntervento') . "'"
            . " , minutiInizioIntervento = '" . getVar('minutiInizioIntervento') . "'"
            . " , giornoFineIntervento = '" . getVar('giornoFineIntervento') . "'"
            . " , meseFineIntervento = '" . getVar('meseFineIntervento') . "'"
            . " , annoFineIntervento = '" . getVar('annoFineIntervento') . "'"
            . " , oraFineIntervento = '" . getVar('oraFineIntervento') . "'"
            . " , minutiFineIntervento = '" . getVar('minutiFineIntervento') . "'"
            . " , codTF = '" . getVar('codTF') . "'"
            . " , codTT = '" . getVar('codTT') . "'"
            . " , materialeUtilizzato = '" . getVar('materialeUtilizzato') . "'"
            . " where codi=" . getVar('codI') . "";
    if ($tab = $db->query($sql)) {
        die("Errore sql: " . $tab->getMessage() . ":" . $sql);
    }
}

function cancella() {
    global $db;
    $sql = "delete from tssij_interventi"
            . " where codI=" . getVar('codI') . "";
    if ($tab = $db->query($sql)) {
        die("Errore sql: " . $tab->getMessage() . ":" . $sql);
    }
}

function getOptioncodC() {
    global $db;
    $sql = "Select DISTINCT tssij_users.id as \"codC\", username \n"
            . "from tssij_users, tssij_usergroups, tssij_user_usergroup_map \n"
            . "where tssij_users.id=tssij_user_usergroup_map.user_id\n"
            . "and tssij_usergroups.id=tssij_user_usergroup_map.group_id\n"
            . "and title = \"Clienti\"\n"
            . "order by username";
    $elenco = array();
    if (($tab = $db->query($sql))) {
        while ($riga = $tab->fetch_array()) {
            $elenco [] = $riga;
        }
        return $elenco;
    } else {
        die("Errore sql: " . $tab->getMessage() . ":" . $sql);
    }
}

function getOptioncodT() {
    global $db;
    $sql = "Select DISTINCT tssij_users.id as \"codT\", username \n"
            . "from tssij_users, tssij_usergroups, tssij_user_usergroup_map \n"
            . "where tssij_users.id=tssij_user_usergroup_map.user_id\n"
            . "and tssij_usergroups.id=tssij_user_usergroup_map.group_id\n"
            . "and title = \"Tecnici\"\n"
            . "order by username";
    $elenco = array();
    if (($tab = $db->query($sql))) {
        while ($riga = $tab->fetch_array()) {
            $elenco [] = $riga;
        }
        return $elenco;
    } else {
        die("Errore sql: " . $tab->getMessage() . ":" . $sql);
    }
}

function getOptioncodL() {
    global $db;
    $sql = "Select * \n"
            . "from tssij_luoghi \n"
            . "order by luogo";
    $elenco = array();
    if (($tab = $db->query($sql))) {
        while ($riga = $tab->fetch_array()) {
            $elenco [] = $riga;
        }
        return $elenco;
    } else {
        die("Errore sql: " . $tab->getMessage() . ":" . $sql);
    }
}

function getOptioncodF() {
    global $db;
    $sql = "Select * \n"
            . "from tssij_fornitori \n"
            . "order by fornitore";
    $elenco = array();
    if (($tab = $db->query($sql))) {
        while ($riga = $tab->fetch_array()) {
            $elenco [] = $riga;
        }
        return $elenco;
    } else {
        die("Errore sql: " . $tab->getMessage() . ":" . $sql);
    }
}

function getOptioncodTF() {
    global $db;
    $sql = "Select * \n"
            . "from tssij_tipifatturazione \n"
            . "order by tipoFatturazione";
    $elenco = array();
    if (($tab = $db->query($sql))) {
        while ($riga = $tab->fetch_array()) {
            $elenco [] = $riga;
        }
        return $elenco;
    } else {
        die("Errore sql: " . $tab->getMessage() . ":" . $sql);
    }
}

function getOptioncodTT() {
    global $db;
    $sql = "Select * \n"
            . "from tssij_tipitariffe \n"
            . "order by tipoTariffa";
    $elenco = array();
    if (($tab = $db->query($sql))) {
        while ($riga = $tab->fetch_array()) {
            $elenco [] = $riga;
        }
        return $elenco;
    } else {
        die("Errore sql: " . $tab->getMessage() . ":" . $sql);
    }
}
?>

2) il secondo problema più grande che invalida tutto il progetto è l'impossibilità di dare dei valori agli
PHP:
<input>
vari.
Gli errori sono
Undefined index
o anche
Notice: Trying to get property of non-object
A causa di questo errore non riesco a vedere i
PHP:
<input type="text">
Nè vuoti, nè con il valore di una delle variabili, ma riempite di quell'errore.

3) la data, non sono risuscito a capire come fare a trovare un sistema per far apparire un calendarietto per selezionare la data e l'ora e i minuti. Ma questo è il minore dei 3 mali

Chissà se riuscirò mai a fare un sito web che funzioni...
 
Discussioni simili
Autore Titolo Forum Risposte Data
L Hosting linux con gestione completa Hosting 3
A Gestione array multidimensionale PHP 6
andreas88 Gestione Profilo OnlyFans Leggi, Normative e Fisco 0
A Creazione cookie e gestione accessi PHP 0
B form gestione input PHP 2
sbolde91 Consiglio gestione Hosting Hosting 2
E Gestione profilo utente tramite Form PHP 3
S cerco esperto gestione ecommerce Offerte e Richieste di Lavoro e/o Collaborazione 0
P Curiosità su grandi aziende e la gestione delle grafiche. Discussioni Varie 1
M Consiglio sulla gestione di Gerarchie Database 0
A attributo "min" per input gestione date PHP 8
L Gestione DB ASP.NET 2
L Consiglio SEO gestione dominio + free hosting SEO e Posizionamento 6
avalon95 [WordPress] Gestione database annunci WordPress 0
G [PHP] gestione mouse PHP 2
B Gestione Prenotazioni con Mysql Database 21
D CREAZIONE E GESTIONE SITO E-COMMERCE Offerte e Richieste di Lavoro e/o Collaborazione 2
P (Cerco) Collaboratori per gestione social media Offerte e Richieste di Lavoro e/o Collaborazione 5
psicomia Gestione funzione in javascript in tabella richiamare"textarea" valori preimpostati in "select" Javascript 2
brasoft2019 [PHP] Sistema di gestione presenze PHP 29
W Preventivo gestione ecommerce Discussioni Varie 1
E Cerco partner / socio per gestione sito di annunci incontri Offerte e Richieste di Lavoro e/o Collaborazione 0
K e-commerce per distribuzione e dettaglio con gestione magazzino E-Commerce 0
G [MS Access] Gestione biglietti [RISOLTO] MS Access 2
Jonn [WordPress] Gestione categorie e tags per sito eventi WordPress 2
felino Gestione dispositivi e Altri dispositivi Windows e Software 4
D Software per gestione account facebook? Social Media Marketing 1
D Cero Software Facebook gestione account Vendere e Acquistare pubblicita' online 0
M Offro servizio Incremento Follower e Gestione Profili Istagram Offerte e Richieste di Lavoro e/o Collaborazione 0
S elementi statistici - Matrice e Gestione Array PHP o Javascript Javascript 0
J [offro] hosting / installazione certificati ssl / gestione server Offerte e Richieste di Lavoro e/o Collaborazione 0
F [PHP] gestione meteo manuale per un gioco di ruolo PHP 1
bianca_dimulescu Gestione tabella e MySQL PHP 4
T Servizio gestione pagina Instagram Offerte e Richieste di Lavoro e/o Collaborazione 0
G Gestione e/o vendita hosting come libero professionista Leggi, Normative e Fisco 4
MatMac System [PHP] Gestione dinamica select-option PHP 3
xone [Vendo] Script gestionale php-mysql gestione pratiche Altri Annunci 0
S [PHP] Gestione coupon PHP 3
lxella [PHP] Aree riservate e gestione utenti PHP 1
D Gestione punteggi php PHP 1
B Cercasi socio per gestione sito web Offerte e Richieste di Lavoro e/o Collaborazione 0
G gestione pagina facebook Social Media Marketing 0
Cavalinho08 [Offro gestione pagine instagram, prezzo bassissimo] Annunci servizi di Social Media Marketing 3
D [VENDO] Gestione account instagram Annunci servizi di Social Media Marketing 2
N [VENDO] Gestione pagine FB Annunci servizi di Social Media Marketing 2
ientii [PHP] Gestione CheckBox PHP 1
W Consiglio su gestione di un form con XMLHttpRequest Ajax 0
booklisa Compressione immagini e gestione media CMS (Content Management System) 1
T gestione livelli sessioni php msqli PHP 1
giuseppe_123 [PHP] Gestione corsi PHP 1

Discussioni simili