Eliminare dati selezionati da una form di select

elpirata

Utente Attivo
18 Mar 2009
264
7
18
Buongiorno a tutti,
ho una form che recupera tramite una select dei dati da un db mysql.

Ora i dati vengono recuperati correttamente, quello che mi viene difficile fare è recuperare il valore del form select, passarlo ad una pagina php che ne elimini il record dal database.

Questa la form :

HTML:
<form action="deltecnico.php" method="POST"> 
	<fieldset>
	<legend>Elimina Tecnico</legend>
	<select name="n_tecnico" required="required" class="uppercase" id="n_tecnico">
		<?php 
		include ('connessione.php');
		$query = "SELECT * FROM tecnico ORDER BY cognome ASC";
		$risultato = mysql_query ($query) or die ("Errore nella query" . mysql_error());
		echo "<option value=''> - </option>"; 
		while ($riga = mysql_fetch_assoc($risultato)){
			
		echo "<option value='$riga[id]'>$riga[cognome] $riga[nome]</option>";
		}
		mysql_free_result ($risultato);
		mysql_close ($myconn);
		?>
	</select>
	<p align = "center"><input type="submit" class="button" value="Elimina Tecnico"></p>
	</fieldset>
	</form>


Questa la query di eliminazione:

PHP:
<?php

include("conngo2.php");

$idtecnico = $_POST['id'];  
$query = "DELETE  FROM tecnico WHERE id='$idtecnico'"; 

if (mysql_query ($query))
{
   echo "Query eseguita: " . mysql_affected_rows() . " record sono stati eliminati";
}
else
{
   echo "Errore: " . mysql_error ();
}  


?>


:byebye:
 
ragazzi scusatemi restando sempre in tema ho una form modifica che invia tramite POST dei campi ad una pagina update che esegue una query di update su un db

Questo l'estratto della pagina modifica dove tramite una select recupero dei possibili valori da una tabella mysql

HTML:
<select name="modpagamento">		
		<?php 
		include ('connessione.php');
		$query = "SELECT * FROM tipopagamento ORDER BY statopagamento ASC";
		$risultato = mysql_query ($query) or die ("Errore nella query" . mysql_error());
		echo "<option value=''> - </option>"; 
		while ($riga = mysql_fetch_assoc($risultato)){
			
		echo "<option value='$riga[id]'>$riga[statopagamento]</option>";
		}
		mysql_free_result ($risultato);
		mysql_close ($myconn);
		?>
	</select>

Questo l'estratto della query presente in update.php che recupera i campi POST e aggiorna il DB

Codice:
$sql = "UPDATE tabella SET veicolo bla bla bla ... pagamento = ('$pagamento'), data = STR_TO_DATE('$data', '%d/%m/%Y') WHERE id = '".$_SESSION[id]."'";

Questo il campo POST:

Codice:
$pagamento = $_POST['modpagamento'];

In sostanza la query di update funziona correttamente per tutti i campi eccetto per il campo pagamento che viene valorizzato vuoto pagamento = ('')

:confused:
 
ciao
se non capisco male dalla select prelevi un id, generalmente l'id è un numero intero quindi

PHP:
$query="UPDATE tabella SET veicolo bla bla bla ... pagamento = $pagamento, data = STR_TO_DATE('$data', '%d/%m/%Y') WHERE id = '".$_SESSION[id]."'";
analogo per l'id nel where
PHP:
$query="UPDATE...WHERE id = ".$_SESSION[id];
poi perchè non scrivi le chiavi degli array associativi come dio comanda $_SESSION['id']
array vettoriale $pinco[33] - array associativo $pinco['pallo']
altra domanda nella pagina in cui hai la select fai altre chiamate al db?
se si perche metti l'include della connessione dentro la select, poi generalmente le istruzioni
PHP:
mysql_free_result ($risultato);
mysql_close ($myconn);
non servono, ci pensa php a farle quando serve
 
Mi rispondo da solo :)

HTML:
<select name="pagamento" id="pagamento">
          <option value="<?php echo $pagamento ?>"><?php echo $pagamento ?></option>
          <?php 
		include ('connessione.php');
		$query = "SELECT * FROM tipopagamento";
		$risultato = mysql_query ($query) or die ("Errore nella query" . mysql_error());
		echo "<option value=''> - </option>"; 
		while ($riga = mysql_fetch_assoc($risultato)){
			
		echo "<option value='$riga[statopagamento]'>$riga[statopagamento]</option>";
		}
		mysql_free_result ($risultato);
		mysql_close ($myconn);
		?>
        </select>
 
ciao
se non capisco male dalla select prelevi un id, generalmente l'id è un numero intero quindi

PHP:
$query="UPDATE tabella SET veicolo bla bla bla ... pagamento = $pagamento, data = STR_TO_DATE('$data', '%d/%m/%Y') WHERE id = '".$_SESSION[id]."'";
analogo per l'id nel where
PHP:
$query="UPDATE...WHERE id = ".$_SESSION[id];
poi perchè non scrivi le chiavi degli array associativi come dio comanda $_SESSION['id']
array vettoriale $pinco[33] - array associativo $pinco['pallo']
altra domanda nella pagina in cui hai la select fai altre chiamate al db?
se si perche metti l'include della connessione dentro la select, poi generalmente le istruzioni
PHP:
mysql_free_result ($risultato);
mysql_close ($myconn);
non servono, ci pensa php a farle quando serve

Ciao, avevo risposto alla mia domanda, ma dal cellulare non mi ero reso conto che avevi già risposto tu ... sorry.

Detto questo naturalmente ti ringrazio per la prontissima risposta fornita, non ho però capito il discorso degli array associativi.
 

Discussioni simili