Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    Tasto HTML e delete query mysql

    Salve,
    diciamo che è da sempre che leggo questo forum ma non ho mai avuto modo di postarci poichè le vostre risposte sono sempre state esaustive ai miei problemi ma stavolta ahimè no ... vi chiedo aiuto

    ho una rubrica sviluppata in php che invia i dati ad un db mysql.

    sto sviluppando la parte che permette di eliminare contatti già inseriti.

    Sono riuscito con php a connettermi al db ed a ricevere la lista dei contatti inseriti alla cui fine ho inserito un bottone in html.

    La funzione di questo bottone (sto provando onClick) è quella che alla sua pressione mi elimina il contatto dal db.

    Come query ho scritto questo :

    (" DELETE * FROM contatti WHERE id = $id ", "connessione);

    il problema e che non so come diavolo applicarla o farla eseguire al bottone con onClick o senza.

    Vi prego illuminatemi

  2. #2
    Puoi anche non usare onClick.
    Ti spiego come farei io.

    Per ogni contatto, nel tag form che racchiude il bottone, metti questo codice.

    Codice PHP:
    <form action="cancella_contatto.php" enctype="multipart/form-data" method="POST">
       <input type="button" name="bottone" id="bottone" value="cancella" />
       <input type="hidden" name="numero_record" id="numero_record" value="<?php echo $identificativo_utente_nel_db;  ?>" />
    </form>
    La pagina cancella_contatto.php sarà composta come segue:

    Codice PHP:
    $dentificativo_utente_nel_db $_POST['numero_record'];

    $sql "
    DELETE FROM nome_tabella WHERE id = 
    $dentificativo_utente_nel_db
    "
    ;
    // eccetera eccetera 
    Il mio consiglio, però, è quello di non usare un bottone da form (c'è la ripetizione di tanto codice) ma di usare un semplice LINK e di passare la variabile che identifica il record da cancellare via GET.
    Eccoti un esempio.

    Codice PHP:
    echo "
    <a href=\\"
    cancella_contatto.php?record=$identificativo_utente_nel_db\\">
      Cancella
    </a>
    "

    Spero di essere stato chiaro.


    p.s. - Ho omesso tutti gli eventuali controlli di sicurezza sulle variabili passate allo script, ma spero ne farai o almeno ti informerai su come fare.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    ciao alcio74,

    grazie mille per l'interessamento ...

    per quello che hai scritto qualcosa l'ho capito ed ho fatto qualche tentativo a vuoto naturalmente

    ti riporto il codice della pagina in cui mi richiamo la lista delle query :

    Codice PHP:
    <?



        
    echo "<font color=\"#red\"> :: LISTA DEI CONTATTI </font>
    "
    ;
        
    $cn mysql_connect("ip""user""passw");
        
    mysql_select_db("nomedb_5"$cn);
        
    $query mysql_query("SELECT * FROM contatti"$cn);
        
    $cancella mysql_query("DELETE * FROM contatti where id = 2 "$cn);
        
    $result mysql_query($cancella);
        
    $quanti mysql_num_rows($query);
        if (
    $quanti == 0)
        {
            echo 
    "Nessun record!";
        }
        else
        {
            for(
    $x=0$x<$quanti$x++)
            {
                
    $rs mysql_fetch_row($query);
                
    $id $rs[0];
                
    $rag_sociale $rs[1];
                
    $nome $rs[2];
                
    $cognome $rs[3];
                
    $citta $rs[4];
                            echo 
    "<table bgcolor=\"#ffffff\" border=\"1\"><tr><td>[b]Ragione Sociale :[/b] " $rag_sociale "</td><td>[b]Nome :[/b] " $nome "</td><td>[b]Cognome : [/b]" $cognome "</td><td>[b]Citta' : [/b]" $citta "<a href=\"cancella_contatto.php?record=$id\">Cancella</a></td></tr></table>
    "
    ;
            }
        }
        
    mysql_close($cn);

    ?>
    ho inserito solo alcuni valori della rubrica ... al fianco della lista sulla dx ci starebbe il link come mi ha consigliato tu per la cancellazione di quella riga ...

    ogni riga avrà il suo id e corrisponderà al suo cancella ...

    ma nn funziona ti prego aiutami o illuminami su dove sbaglio ... sto fuso proprio !!!!!!

    per quanto riguarda i controlli vorrei prima che il tutto funzionasse in quanto mi manca ancora la parte di modifica del contatto.

    ti ringrazio del tuo tempo ...
    nicola

  4. #4
    Se fai la query come hai scritto, allora la pagina xxx deve essere così composta:

    Codice PHP:
    <?php
    $record 
    $_GET['record']; 

    $sql 
    DELETE FROM nome_tabella WHERE id = 
    $record
    "

    // eccetera eccetera


    ?>
    Fatto sta, come dico sempre, che se scrivi solamente "non funziona" senza specificare altro, è un po' difficile capire come darti una mano.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Un'altra cosa che ho notato leggendo meglio il tuo script.

    <?



    echo "<font color=\"#red\"> :: LISTA DEI CONTATTI </font>
    ";
    $cn = mysql_connect("ip", "user", "passw");
    mysql_select_db("nomedb_5", $cn);
    $query = mysql_query("SELECT * FROM contatti", $cn);
    $cancella = mysql_query("DELETE * FROM contatti where id = 2 ", $cn);
    $result = mysql_query($cancella);
    $quanti = mysql_num_rows($query);
    if ($quanti == 0)
    {
    echo "Nessun record!";
    }
    else
    {
    for($x=0; $x<$quanti; $x++)
    {
    $rs = mysql_fetch_row($query);
    $id = $rs[0];
    $rag_sociale = $rs[1];
    $nome = $rs[2];
    $cognome = $rs[3];
    $citta = $rs[4];
    echo "<table bgcolor=\"#ffffff\" border=\"1\"><tr><td>Ragione Sociale : " . $rag_sociale . "</td><td>Nome : " . $nome . "</td><td>Cognome : " . $cognome . "</td><td>Citta' : " . $citta . "<a href=\"cancella_contatto.php?record=$id\">Cancella </a></td></tr></table>
    ";
    }
    }
    mysql_close($cn);

    ?>
    Codice PHP:
        $cancella mysql_query("DELETE * FROM contatti where id = 2 "$cn); 
    Cosa significa questo messo lì????
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  6. #6
    Originariamente inviato da alcio74
    Un'altra cosa che ho notato leggendo meglio il tuo script.


    Codice PHP:
        $cancella mysql_query("DELETE * FROM contatti where id = 2 "$cn); 
    Cosa significa questo messo lì????
    era una precedente prova dove avevo assegnato al tasto su onclick la funzione($cancella) ... credo sia una cosa sbagliatissima e naturalmente non succede nulla.

    per lo script, premo cancella ma mida un errore nel cancella_contatto.php alla riga 28 del codice.

    Stasera faccio ulteriori prove su quanto mi hai segnalato e ti faccio sapere

    Grazie Mille

  7. #7
    Scrivi l'errore!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  8. #8
    Originariamente inviato da alcio74
    Scrivi l'errore!

    l'errore riscontrato alla riga 28 del processore è

    Parse error: syntax error, unexpected $end

    grazie come al solito ;D

  9. #9
    Ecco... ora ci siamo!

    L'errore ch hai segnalato viene di solito restituito quando non vengono chiuse le parentesi graffe di un IF, per esempio, quando non viene messo il ; al termine di un'istruzione o cose simili.
    La riga segnalata è sempre l'ultima del tuo script, solitamente quella del tag di chiusura del PHP "?>".

    L'unica cosa che ti posso consingliare è di spulciare il tuo codice in cerca di quello che ti ho detto.
    Un editor di codice PHP, grazie al syntax highlightning, ti potrebbe aiutare a scovare il problema.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  10. #10
    ciao alcio,

    eccomi qua che mi rifaccio vivo :...

    sono andamo molto avanti con la rubrica e sono a buon punto ma ci sono dei punti vuoi che sia la stanchezza data l'ora o la mia incapacità che non riesco a superare.

    PROBLEMA 1

    Vorrei inserire nel form di aggiunta contatto un controllo ke mi faccia il confronto tra i dati che si vojono inserire e quelli nel database con conseguente azione.

    ho provato questo codice :
    codice:
    	// preparo la query
    	$query = "INSERT INTO contatti (rag_sociale,tipologia,nome,cognome,indirizzo,citta,cap,tel_fisso,tel_fax,tel_mob,email,sito,note)
    			  VALUES ('$rag_sociale','$tipologia','$nome','$cognome','$indirizzo','$citta','$cap','$tel_fisso','$tel_fax','$tel_mob','$email','$sito','$note')";
    
            $controllo = "SELECT * INTO contatti";
    
    	// invio la query
    	
            if ($query == $controllo) {
                        echo "$errore";
    
                               } else {
                $result = mysql_query($query);
            }
    ma purtroppo anche se mi viene restituito a video l'errore giusto la query prosegue.

    PROBLEMA 2

    ho fatto un form per la modifica di un record già presente ma mi restituisce questo errore e non capisco a cosa sia riferito.

    codice:
    Errore nella query UPDATE utenti SET rag_sociale = 'tuscas informatica', tipologia = 'aasdasd', nome = '', cognome = '', indirizzo = '', citta = '', cap = '', tel_fisso = '', tel_fax = '', tel_mob = '', email = '', sito = '', note = '', WHERE id = 36: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = 36' at line 16
    il codice del motore di modifica è questo :

    codice:
    	<head>
    	<style type="text/css">
    <!--
    .Stile1 {color: #1A7CAB}
    body {
    	background: #1A7CAB;
    }
    a:link {
    	color: #FFBD2B;
    }
    a:visited {
    	color: #FFBD2B;
    }
    a:hover {
    	color: #FFBD2B;
    }
    a:active {
    	color: #FFBD2B;
    }
    -->
    </style> </head>
    <?php
    // richiamo il file di configurazione
    require 'config.php';
    
    // richiamo lo script responsabile della connessione a MySQL
    require 'connect.php';
    
    if($_POST && isset($_GET['id']))
    {
    	aggiorna_record();
    }
    elseif(isset($_GET['id']))
    {
    	mostra_record();
    }
    else
    	mostra_lista();
    
    function mostra_lista()
    {
    	// mostro un eventuale messaggio
    	if(isset($_GET['msg']))
    		echo ''.htmlentities($_GET['msg']).'
    
    ';
    
    	// preparo la query
    	$query = "SELECT id,rag_sociale,nome,cognome,citta,tel_fisso FROM contatti";
    
    	// invio la query
    	$result = mysql_query($query);
    
    	// controllo l'esito
    	if (!$result) {
    		die("Errore nella query $query: " . mysql_error());
    	}
    
    	echo "
    	<table border=\"0\" bordercolor=\"#FFBD2B\" align=\"center\">
    	<tr><div align=\"center\"><img src=\"images/modifica_contatto.jpg\"></div>
    		<tr>
    		        <th><font color=\"#FFBD2B\"><div align=\"left\">| ID |</div></font></th>
    			<th><font color=\"#FFBD2B\"><div align=\"center\">| Ragione Sociale |</div></font></th>
    			<th><font color=\"#FFBD2B\"><div align=\"center\">| Nome |</div></font></th>
    			<th><font color=\"#FFBD2B\"><div align=\"center\">| Cognome |</div></font></th>
    			<th><font color=\"#FFBD2B\"><div align=\"center\">| Citta |</div></font></th>
    			<th><font color=\"#FFBD2B\"><div align=\"center\">| Telefono Fisso |</div></font></th>
    			<th><font color=\"#FFBD2B\"><div align=\"center\"> .modifica. </div></font></th>
    							</tr>";
    
    	while ($row = mysql_fetch_assoc($result))
    	{
                    $id = htmlspecialchars($row['id']);
    		$rag_sociale = htmlspecialchars($row['rag_sociale']);
    		$nome = htmlspecialchars($row['nome']);
    		$cognome = htmlspecialchars($row['cognome']);
    		$citta = htmlspecialchars($row['citta']);
    		$tel_fisso = htmlspecialchars($row['tel_fisso']);
    
    		// preparo il link per la modifica dei dati del record
    		$link = $_SERVER['PHP_SELF'] . '?id=' . $row['id'];
    
    		echo "<tr>
    		                
    		                <td><font color=\"#FCFCFC\"><div align=\"left\">|$id|</div></font></td>
    				<td><font color=\"#FCFCFC\"><div align=\"center\">$rag_sociale</div></font></td>
    				<td><font color=\"#FCFCFC\"><div align=\"center\">$nome</div></font></td>
    				<td><font color=\"#FCFCFC\"><div align=\"center\">$cognome</div></font></td>
    				<td><font color=\"#FCFCFC\"><div align=\"center\">$citta</div></font></td>
    				<td><font color=\"#FCFCFC\"><div align=\"center\">$tel_fisso</div></font></td>
    				<td><font color=\"#FCFCFC\"><div align=\"center\"> <a href=\"$link\">.modifica.</a></div></font></td>
    							</tr>";
    	}
    
    	echo "</table>";
    
    	// libero la memoria di PHP occupata dai record estratti con la SELECT
    	mysql_free_result($result);
    
    	// chiudo la connessione a MySQL
    	mysql_close();
    }
    
    function aggiorna_record()
    {
    
    // recupero i campi di tipo "stringa"
    	$rag_sociale      = trim($_POST['rag_sociale']);
            $tipologia        = trim($_POST['tipologia']);
    	$nome             = trim($_POST['nome']);
    	$cognome          = trim($_POST['cognome']);
    	$indirizzo        = trim($_POST['indirizzo']);
    	$citta            = trim($_POST['citta']);
    	$cap              = trim($_POST['cap']);
    	$tel_fisso        = trim($_POST['tel_fisso']);
    	$tel_fax          = trim($_POST['tel_fax']);
    	$tel_mob          = trim($_POST['tel_mob']);
    	$email            = trim($_POST['email']);
    	$sito             = trim($_POST['sito']);
            $note             = trim($_POST['note']);
    
    	// verifico se devo eliminare gli slash inseriti automaticamente da PHP
    	if(get_magic_quotes_gpc())
    	
            {
              
            $rag_sociale      = stripslashes($rag_sociale);
            $tipologia        = stripslashes($tipologia);
    	$nome             = stripslashes($nome);
    	$cognome          = stripslashes($cognome);
    	$indirizzo        = stripslashes($indirizzo);
    	$citta            = stripslashes($citta);
    	$cap              = stripslashes($cap);
    	$tel_fisso        = stripslashes($tel_fisso);
    	$tel_fax          = stripslashes($tel_fax);
    	$tel_mob          = stripslashes($tel_mob);
    	$email            = stripslashes($email);
    	$sito             = stripslashes($sito);
            $note             = stripslashes($note);
    
    	}
    
            $rag_sociale      = mysql_real_escape_string($rag_sociale);
            $tipologia        = mysql_real_escape_string($tipologia);
    	$nome             = mysql_real_escape_string($nome);
    	$cognome          = mysql_real_escape_string($cognome);
    	$indirizzo        = mysql_real_escape_string($indirizzo);
    	$citta            = mysql_real_escape_string($citta);
    	$cap              = mysql_real_escape_string($cap);
    	$tel_fisso        = mysql_real_escape_string($tel_fisso);
    	$tel_fax          = mysql_real_escape_string($tel_fax);
    	$tel_mob          = mysql_real_escape_string($tel_mobile);
    	$email            = mysql_real_escape_string($email);
    	$sito             = mysql_real_escape_string($sito);
            $note             = mysql_real_escape_string($note);
    
            $id = intval($_GET['id']);
    
    	// preparo la query
    	$query = "UPDATE utenti SET
    				rag_sociale = '$rag_sociale',
    				tipologia   = '$tipologia',
    				nome        = '$nome',
    				cognome     = '$cognome',
    				indirizzo   = '$indirizzo',
    				citta       = '$citta',
    				cap         = '$cap',
    				tel_fisso   = '$tel_fisso',
    				tel_fax     = '$tel_fax',
    				tel_mob     = '$tel_mob',
    				email       = '$email',
    				sito        = '$sito',
    				note        = '$note',
    
    				WHERE id = $id";
    
    	// invio la query
    	$result = mysql_query($query);
    
    	// controllo l'esito
    	if (!$result) {
    		die("Errore nella query $query: " . mysql_error());
    	}
    
    	// chiudo la connessione a MySQL
    	mysql_close();
    
    	$messaggio = urlencode('Aggiornamento del Contatto effettuato con successo !');
    	header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
    }
    
    function mostra_record()
    {
    	// mostro un eventuale messaggio
    	if(isset($_GET['msg']))
    		echo ''.htmlentities($_GET['msg']).'
    
    ';
    
    	$id = intval($_GET['id']);
    
    	// preparo la query
    	$query = "SELECT rag_sociale,tipologia,nome,cognome,indirizzo,citta,cap,tel_fisso,tel_fax,tel_mob,email,sito,note FROM contatti WHERE id = $id";
    
    	// invio la query
    	$result = mysql_query($query);
    
    	// controllo l'esito
    	if (!$result) {
    		die("Errore nella query $query: " . mysql_error());
    	}
    
    	// controllo che la SELECT abbia restituito un record
    	// l'id passato via GET potrebbe essere stato manipolato
    	if(mysql_num_rows($result) != 1) {
    		die("l'ID passato via GET è errato");
    	}
    
    	list($rag_sociale,$tipologia,$nome,$cognome,$indirizzo,$citta,$cap,$tel_fisso,$tel_fax,$tel_mob,$email,$sito,$note) = mysql_fetch_row($result);
    
            $rag_sociale      = htmlspecialchars($rag_sociale);
            $tipologia        = htmlspecialchars($tipologia);
    	$nome             = htmlspecialchars($nome);
    	$cognome          = htmlspecialchars($cognome);
    	$indirizzo        = htmlspecialchars($indirizzo);
    	$citta            = htmlspecialchars($citta);
    	$cap              = htmlspecialchars($cap);
    	$tel_fisso        = htmlspecialchars($tel_fisso);
    	$tel_fax          = htmlspecialchars($tel_fax);
    	$tel_mob          = htmlspecialchars($tel_mob);
    	$email            = htmlspecialchars($email);
    	$sito             = htmlspecialchars($sito);
            $note             = htmlspecialchars($note);
    
    	?>
    
    	<div align="center">[img]images/modifica_contatto.jpg[/img]</div>
    	<form name="form_registrazione" method="post" action="">
    <div align="center">
      <table width="474" border="0">
        <tr>
          <td colspan="2" bgcolor="#FFBD2B"></td>
        </tr>
        <tr>
          <td width="230"><div align="right" class="Stile2">Ragione Sociale :</div></td>
          <td width="228">
            <input name="rag_sociale" type="text" id="rag_sociale" value="<?echo $rag_sociale?>" size="38">
          </td>
        </tr>
        <tr>
          <td><div align="right" class="Stile2">Tipologia Contatto :</div></td>
          <td><input name="tipologia" type="text" id="tipologia" value="<?echo $tipologia?>" size="38"></td>
        </tr>
        <tr>
          <td><div align="right" class="Stile2">Nome :</div></td>
          <td><input name="nome" type="text" id="nome" value="<?echo $nome?>" size="38"></td>
        </tr>
        <tr>
          <td><div align="right" class="Stile2">Cognome :</div></td>
          <td><input name="cognome" type="text" id="cognome" value="<?echo $cognome?>" size="38"></td>
        </tr>
        <tr>
          <td><div align="right" class="Stile2">Indirizzo :</div></td>
          <td><input name="indirizzo" type="text" id="indirizzo" value="<?echo $indirizzo?>" size="38"></td>
        </tr>
        <tr>
          <td><div align="right" class="Stile2">Citta :</div></td>
          <td><input name="citta" type="text" id="citta" value="<?echo $citta?>" size="38"></td>
        </tr>
        <tr>
          <td><div align="right" class="Stile2">Cap :</div></td>
          <td><input name="cap" type="text" id="cap" value="<?echo $cap?>" size="38"></td>
        </tr>
        <tr>
          <td><div align="right" class="Stile2">Telefono Fisso :</div></td>
          <td><input name="tel_fisso" type="text" id="tel_fisso" value="<?echo $tel_fisso?>" size="38"></td>
        </tr>
        <tr>
          <td><div align="right" class="Stile2">Telefono Fax :</div></td>
          <td><input name="tel_fax" type="text" id="tel_fax" value="<?echo $tel_fax?>" size="38"></td>
        </tr>
        <tr>
          <td><div align="right" class="Stile2">Telefono Mobile :</div></td>
          <td><input name="tel_mob" type="text" id="tel_mob" value="<?echo $tel_mob?>" size="38"></td>
        </tr>
        <tr>
          <td><div align="right" class="Stile2">EMail :</div></td>
          <td><input name="email" type="text" id="email" value="<?echo $email?>" size="38"></td>
        </tr>
        <tr>
          <td><div align="right" class="Stile2">Sito Internet :</div></td>
          <td><input name="sito" type="text" id="sito" value="<?echo $sito?>" size="38"></td>
        </tr>
        <tr>
          <td><div align="right" class="Stile2">Note / Appunti :</div></td>
          <td><label>
            <textarea name="note" id="note" cols="29" rows="3" ><?echo $note?></textarea>
          </label></td>
        </tr>
        <tr>
          <td colspan="2" bgcolor="#FFBD2B"></td>
        </tr>
        <tr>
          <td><div align="center">
                  <input type="submit" name="Modifica Contatto" id="Modifica Contatto" value="Modifica Contatto">
               </div></td>
          <td><div align="center">
            <input type="reset" name="Resetta Form" id="Resetta Form" value="Resetta Form">
          </div></td>
        </tr>
      </table>
    </div>
     </form>
    	<?
    }
    ?>
    come al solito grazie mille mi sei di grande aiuto ;D

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.