• ModSenior

    Allora la pagina 1, un pò snellita anche se la tabella si poteva fare più semplicemente diversamente:
    [php]
    <?php
    session_start();
    $conn = mysql_connect("localhost","root","") or die('Connessione mancata con il root. Errore: ' . mysql_error());
    $select = mysql_select_db("sabicom",$conn) or die("Errore nella connessione con il database. Errore: " . mysql_error());
    ?>
    <html lang="en">
    <head>
    <title>Cancellazione strumenti</title>
    </head>
    <body>
    <marquee width="100%" direction="left" scrollamount="8"><img src="img/logo.jpg" /></marquee>
    <?php
    if(isset($_POST['utiliz']))
    $utiliz = trim($_POST['utiliz']);
    else
    die('Input mancante');

    if(isset($_POST['strum']))
    $strum = trim($_POST['strum']);
    else
    die('Input mancante');

    $sql = "SELECT * FROM strumenti WHERE Utilizzatore = '".mysql_real_escape_string($utiliz)."' AND Strumento = '".mysql_real_escape_string($strum)."'";
    $result = mysql_query($sql, $conn);
    if(!$result)
    {
    die('Errore durante il trasferimento dei dati');
    }
    $num=mysql_numrows($result);
    mysql_close();
    ?>
    <table border="1" align="center" bordercolor="lightblue">
    <tr>
    <td align="center">Fornitore</td>
    <td align="center">Assistenza</td>
    <td align="center">Utilizzatore</td>
    <td align="center">Strumento</td>
    <td align="center">Marca</td>
    <td align="center">Modello</td>
    <td align="center">Descrizione</td>
    <td align="center">Venduto / Dismesso</td>
    <td align="center">Data di acquisizione</td>
    </tr>
    <?php
    $i=0;
    while ($i < $num) {
    $fornitore=mysql_result($result,$i,"Fornitore");
    $assistenza=mysql_result($result,$i,"Assistenza");
    $utilizzatore=mysql_result($result,$i,"Utilizzator e");
    $strumento=mysql_result($result,$i,"Strumento");
    $marca=mysql_result($result,$i,"Marca");
    $modello=mysql_result($result,$i,"Modello");
    $descrizione=mysql_result($result,$i,"Descrizione" );
    $vend_dism=mysql_result($result,$i,"Venduto_Dismes so");
    $data_acquis=mysql_result($result,$i,"Data_acquisi zione");
    ?>
    <tr>
    <td align="center"><?php echo $fornitore ?></td>
    <td align="center"><?php echo $assistenza ?></td>
    <td align="center"><?php echo $utilizzatore ?></td>
    <td align="center"><?php echo $strumento ?></td>
    <td align="center"><?php echo $marca ?></td>
    <td align="center"><?php echo $modello ?></td>
    <td align="center"><?php echo $descrizione ?></td>
    <td align="center"><?php echo $vend_dism ?></td>
    <td align="center"><?php echo $data_acquis ?></td>
    </tr>
    <?php
    $i++;
    }
    ?>
    <form method="post" action="confirm-cancel.php">
    <input type="hidden" name="utiliz" value="<?php echo $utiliz; ?>" />
    <input type="hidden" name="strum" value="<?php echo $strum; ?>" />
    <input type="submit" value="Elimina selezionati" />
    </form>
    <br />
    <br />
    <form method="post" action="index.html">
    <div align="right"><input type="submit" value="Vai alla pagina principale" /></div>
    </form>
    </body>
    </html>
    [/php]

    La pagina 2, come base va bene questa:
    [php]
    <?php
    session_start();
    $conn = mysql_connect("localhost","root","") or die('Connessione mancata con il root. Errore: ' . mysql_error());
    $select = mysql_select_db("sabicom", $conn) or die("Errore nella connessione con il database. Errore: " . mysql_error());
    ?>
    <!DOCTYPE html>
    <head>
    <title>Conferma cancellazione</title>
    </head>
    <body>
    <marquee width="100%" direction="left" scrollamount="8"><img src="img/logo.jpg" /></marquee>
    <?php
    if(isset($_POST['utiliz']))
    $utiliz = trim($_POST['utiliz']);
    else
    die('Input mancante');

    if(isset($_POST['strum']))
    $strum = trim($_POST['strum']);
    else
    die('Input mancante');
    ?>
    <br />
    <br />
    <form method="post" action="index.html">
    <div align="right"><input type="submit" value="Vai alla pagina principale" /></div>
    </form>
    </body>
    </html>
    [/php]

    In pagina 2 (confirm-cancel.php) dovresti avere un pulsante di conferma eliminazione da quanto ho capito giusto?


  • User

    Si, teoricamente si...
    Il problema che non ho idea di come gestirla!


  • ModSenior

    Adesso ti posto io il codice, rimane un ultimo problema l'ultima pagina che mi hai postato punta a cancel.php, che ti può trovare ad esempio 4 dati diversi. Tu dovresti fare in quel caso 4 form per cancellare singolarmente un dato, in questo modo non puoi.
    Hai fatto parecchia confusione all'inizio.


  • User

    La pagina che punta a cancel.php è la pagina html iniziale, dove inserisco i valori! Quella è una pagina statica!


  • ModSenior

    Mi serve il nome della chiave primaria della tabella strumenti.


  • User

    Utilizzatore è la chiave! Grazie 1000! Mi stai dando una grossissima mano!


  • ModSenior

    Se Utilizzatore è la chiave primaria, perchè stiamo usando anche strumento? Non è necessario.


  • User

    Strumento è fondamentale... Serve per fare una selezione ulteriore durante la visualizzazione!


  • ModSenior

    Se c'è già la condizione con la chiave primaria è inutile, in quanto la chiave primaria deve per forza identificare univocamente un record. O non è quella la chiave primaria o stavi utilizzando un campo inutile.


  • User

    Il campo Utilizzatore è la chiave... Se tu mi metti anche la checkbox allora ti adorerò per sempre! Almeno togliamo anche strumenti! 😄


  • ModSenior

    Dipende che tipo di chiave è.
    Qualcosa non mi quadra, puoi postarmi la query di creazione della tabella?
    Il checkbox va bene se hai più di un record mostrato, ma se usi un chiave primaria che senso ha? :mmm:


  • User

    Un Utilizzatore può utilizzare più strumenti! Per questo ce l'ho bisogno! Va' bene lo stesso se ti do solo le caratteristiche principali?


  • ModSenior

    Se un utilizzatore può usare più strumenti il campo Utilizzatore non è chiave primaria, ma è chiave esterna. La tabella strumenti deve comunque avere una chiave primaria.
    Dovresti postarmi proprio la query che hai usato perchè creo che tra quello che stai facendo tu, e quello che dovevi ottenere c'è qualche leggera differenza e non riesco a scriverti il codice esatto da utilizzare.


  • User

    CREATE TABLE strumenti
    (Fornitore char(50) Not null,
    Assistenza char(50) Not null,
    Utilizzatore char(8) Not null,
    Strumento char(50) Not null,
    Marca char(50) Not null,
    Modello char(50),
    Descrizione longtext Not null,
    Venduto_Dismesso char(3),
    Data_acquisizione timestamp,
    PRIMARY KEY(Utilizzatore));


  • User

    Ah! Mi sono accorto di aver sbagliato!
    Venduto_Dismesso non deve essere nullo!


  • ModSenior

    Se un utilizzatore può avere più strumenti come hai detto prima, quella tabella non và bene in quanto fà in modo che un utilizzatore abbia un solo strumento.


  • User

    Hai ragione... Che babbo che sono... XD devo mettere come chiave una variabile contatore? (invisibile all'utente ovviamente...)


  • ModSenior

    Si, dovresti creare un campo apposito.


  • User

    Ok, ora lo modifico! Grazie! 😄


  • User

    Come posso definire in MySQL un contatore?