Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Form per cancellazione record

    Salve a tutti.
    Ecco cosa vorrei fare.

    Ho una tabella FORNITORI e la chiave è un CODICE FORNITORE.

    Vorrei che, inserendo nel form il codice del fornitore, si cancellassero anche gli altri dati corrispettivi di quel fornitore ed eventualmente anche alcuni altri record di altre tabelle collegati a quel fornitore.
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    <html>
    <head>

    <link rel="stylesheet" href="stile.css" type="text/css">
    <title>Inserimento di un Fornitore nel database</title></head>
    <body bgcolor="#ffc80b">

    <h1 align="center">Cancellazione Fornitore</h1>
    <p align="center">TORNA AMMINISTRAZIONE VEDI FORNITORI PRESENTI </p>
    <form action="<?php echo $PHP_SELF; ?>" method="get">
    <table style="background-color: #ffc80b">
    <tr>
    <th align="left">Codice Forniore</th>
    <td><input type="text" name="Cod_Fornitore" size="50" style="text-align: right"></td>
    </tr>
    <tr>
    <td colspan="2" align="center">
    <input type="submit" value="Registra nuovo Fornitore">
    <input type="hidden" name="action" value="insert_newitem">
    </td>
    </tr>
    </table>
    </form>
    <?php

    $DBhost = "localhost";
    $DBuser = "root";
    $DBpass = "";
    $DBName = "biblioteca";
    $table = "fornitore";


    if ($action=="insert_newitem") {
    $messaggio="";

    // inizio i controlli sui dati di input, gli errori
    // verranno posti in $messaggio
    if ($Cod_Fornitore=='') {
    $messaggio .= "
    Non è stato inserito il codice del Libro";
    };

    if ($messaggio=='') {
    // il codice seguente è sotto commento perché su questo server
    // non può essere eseguito



    $db = @mysql_connect("localhost", "root", "")
    or die ("Connessione al db impossibile...");
    @mysql_select_db("$DBName", $db)
    or die ("Impossibile selezionare il db...");
    $query = "DELETE $table (Cod_Fornitore)
    VALUES ('$Cod_Fornitore', '$Ragione_Sociale', '$Indirizzo', '$Telefono')";


    echo "

    Messaggio di debug: sto per eseguire la query

    <em style=\"background-color: yellow\">[/i]";

    $rq = mysql_query($query);

    echo "

    Query eseguita...: $rq";
    if ($rq) {
    echo "

    Cancellazione Fornitore effettuata con successo. Q1</p>";
    }
    }else {
    echo "

    Sono stati riscontrati i seguenti errori nei dati di input:
    $messaggio</p>


    La cancellazione non può avvenire.</p>";
    }

    }

    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    442
    $fornitore=$_POST['fornitore'] //questo è il valore del codice del fornitore passato alla pagina che esegue la query per viapost

    $query = "DELETE $table where Cod_fornitore='$fornitore'";

  3. #3
    Grazie e se volessi cancellare anche le copie presenti nelle tabelle FORNITURA e COPIA inerenti a quei fornitori?

  4. #4
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Codice PHP:
    // recupero il codice del fornitore
    $fornitore=$_POST['fornitore']

    // tabelle da cui cancellare ogni riferimento
    $tabelle[] = "FORNITORI";
    $tabelle[] = "FORNITURA";
    $tabelle[] = "COPIA";

    // ciclo le tabelle e cancello
    for($i=0;$i<count($tabelle);$i++)
    {
        
    $query "DELETE FROM ".$tabelle[$i]." WHERE Cod_fornitore='".$fornitore."'";
        
    mysql_query($query);


  5. #5
    volevo ringraziare entrambi, ma forse ho sbagliato qualcosina.

    La cancellazione che ho in mente di fare è la seguente.


    C'è un form in cui si inserisce il fornitore da eliminare:

    <?php
    PRINT '
    <form method="POST" action="cercaFornitoreDEL.php">
    <input type="text" name="Cod_Fornitore">
    <input type="submit" value="Cancella" >
    </form>
    (Inserire il codice fornitore)';
    ?>

    Poi l'amministratore ha la conferma che il fornitore da eliminare è effettivamente presente nella tabella:

    <?php
    include_once("connessione.php");

    $Cod_Fornitore=@trim($_POST['Cod_Fornitore']);

    if( !$Cod_Fornitore){
    echo"Nessun titolo specificato
    ";
    echo"<a href=\"java-script:history.go(-1)\">Indietro</a>";
    exit();
    }

    $query = "SELECT distinct fornitore.*
    FROM fornitore
    WHERE fornitore.Cod_Fornitore='$Cod_Fornitore'";

    $result = mysql_query($query, $conn);

    $number = mysql_num_rows($result);

    if ($number ==0) {
    echo " Non ci sono risultati nella tua ricerca
    ";
    exit();
    }

    while ($row=mysql_fetch_array($result)) {

    echo"
    <a href=\"fornitoreDELETE.php\">CANCELLA FORNITORE</a>
    ";
    echo" Cod.Fornitore: $row[Cod_Fornitore] Ragione: $row[Ragione_Sociale]
    Indirizzo: $row[Indirizzo] Telefono: $row[Telefono]

    ";

    }
    ?>

    Avuta la conferma dell'esistenza del record clicca su CANCELLA e il record dovrebbe venire eliminato:

    <form action="<?php echo $PHP_SELF; ?>" method="get">
    <table style="background-color: #ffc80b">
    <tr>
    <th align="left">Codice Forniore</th>
    <td><input type="text" name="Cod_Fornitore" size="50" style="text-align: right"></td>
    </tr>
    <tr>
    <td colspan="2" align="center">
    <input type="submit" value="Registra nuovo Fornitore">
    <input type="hidden" name="action" value="insert_newitem">
    </td>
    </tr>
    </table>
    </form>
    <?php

    $DBhost = "localhost";
    $DBuser = "root";
    $DBpass = "";
    $DBName = "biblioteca";
    $table = "fornitore";


    if ($action=="insert_newitem") {
    $messaggio="";

    // inizio i controlli sui dati di input, gli errori
    // verranno posti in $messaggio
    if ($Cod_Fornitore=='') {
    $messaggio .= "
    Non è stato inserito il codice del Libro";
    };

    if ($messaggio=='') {
    // il codice seguente è sotto commento perché su questo server
    // non può essere eseguito



    $db = @mysql_connect("localhost", "root", "")
    or die ("Connessione al db impossibile...");
    @mysql_select_db("$DBName", $db)
    or die ("Impossibile selezionare il db...");
    $fornitore=$_POST['fornitore'];

    $query = "DELETE $table (Cod_Fornitore)
    Cod_fornitore='$fornitore' ";


    echo "

    Messaggio di debug: sto per eseguire la query

    <em style=\"background-color: yellow\">[/i]";

    $rq = mysql_query($query);

    echo "

    Query eseguita...: $rq";
    if ($rq) {
    echo "

    Cancellazione Fornitore effettuata con successo. Q1</p>";
    }
    }else {
    echo "

    Sono stati riscontrati i seguenti errori nei dati di input:
    $messaggio</p>


    La cancellazione non può avvenire.</p>";
    }

    }

    ?>

  6. #6
    Originariamente inviato da Treep
    volevo ringraziare entrambi, ma forse ho sbagliato qualcosina.

    La cancellazione che ho in mente di fare è la seguente.


    C'è un form in cui si inserisce il fornitore da eliminare:

    <?php
    PRINT '
    <form method="POST" action="cercaFornitoreDEL.php">
    <input type="text" name="Cod_Fornitore">
    <input type="submit" value="Cancella" >
    </form>
    (Inserire il codice fornitore)';
    ?>

    Poi l'amministratore ha la conferma che il fornitore da eliminare è effettivamente presente nella tabella:

    <?php
    include_once("connessione.php");

    $Cod_Fornitore=@trim($_POST['Cod_Fornitore']);

    if( !$Cod_Fornitore){
    echo"Nessun titolo specificato
    ";
    echo"<a href=\"java-script:history.go(-1)\">Indietro</a>";
    exit();
    }

    $query = "SELECT distinct fornitore.*
    FROM fornitore
    WHERE fornitore.Cod_Fornitore='$Cod_Fornitore'";

    $result = mysql_query($query, $conn);

    $number = mysql_num_rows($result);

    if ($number ==0) {
    echo " Non ci sono risultati nella tua ricerca
    ";
    exit();
    }

    while ($row=mysql_fetch_array($result)) {

    echo"
    <a href=\"fornitoreDELETE.php\">CANCELLA FORNITORE</a>
    ";
    echo" Cod.Fornitore: $row[Cod_Fornitore] Ragione: $row[Ragione_Sociale]
    Indirizzo: $row[Indirizzo] Telefono: $row[Telefono]

    ";

    }
    ?>

    Avuta la conferma dell'esistenza del record clicca su CANCELLA e il record dovrebbe venire eliminato:

    <form action="<?php echo $PHP_SELF; ?>" method="get">
    <table style="background-color: #ffc80b">
    <tr>
    <th align="left">Codice Forniore</th>
    <td><input type="text" name="Cod_Fornitore" size="50" style="text-align: right"></td>
    </tr>
    <tr>
    <td colspan="2" align="center">
    <input type="submit" value="Registra nuovo Fornitore">
    <input type="hidden" name="action" value="insert_newitem">
    </td>
    </tr>
    </table>
    </form>
    <?php

    $DBhost = "localhost";
    $DBuser = "root";
    $DBpass = "";
    $DBName = "biblioteca";
    $table = "fornitore";


    if ($action=="insert_newitem") {
    $messaggio="";

    // inizio i controlli sui dati di input, gli errori
    // verranno posti in $messaggio
    if ($Cod_Fornitore=='') {
    $messaggio .= "
    Non è stato inserito il codice del Libro";
    };

    if ($messaggio=='') {
    // il codice seguente è sotto commento perché su questo server
    // non può essere eseguito



    $db = @mysql_connect("localhost", "root", "")
    or die ("Connessione al db impossibile...");
    @mysql_select_db("$DBName", $db)
    or die ("Impossibile selezionare il db...");
    $fornitore=$_POST['fornitore'];

    $query = "DELETE $table (Cod_Fornitore)
    Cod_fornitore='$fornitore' ";


    echo "

    Messaggio di debug: sto per eseguire la query

    <em style=\"background-color: yellow\">[/i]";

    $rq = mysql_query($query);

    echo "

    Query eseguita...: $rq";
    if ($rq) {
    echo "

    Cancellazione Fornitore effettuata con successo. Q1</p>";
    }
    }else {
    echo "

    Sono stati riscontrati i seguenti errori nei dati di input:
    $messaggio</p>


    La cancellazione non può avvenire.</p>";
    }

    }

    ?>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.