eliminare righe di una tabella con form html

91andrea91

Nuovo Utente
7 Ott 2015
8
0
1
Buonasera, sono nuovo del forum piacere di conoscervi:cool:. da una tabella del database (di nome categorie) dovrei prelevo due campi...1 IDCategorie (autoincrement) e il secondo Categoria (dove sono inserite tutte le categorie). Le righe del campo Categorie la riempio in maniera dinamica tramite un form e da un altro form posso visualizzare e selezionare la riga che desidero. Adesso vorrei poter tramite un form o link...poter eliminare le righe del campo Categoria....vi posto il codice (come errore mi da :Unknown column 'id' in 'where clause'). Grazie anticipatamente a chi si interesserà al mio problema.
PHP:
<?php

	
        

// connessione al db...


// estraggo i dati dalla tabella
$sql = 'SELECT * FROM categorie';
$query = mysql_query($sql) or die (mysql_error());

echo "<table border=\"1\">\n";

//verifico che sia presente almeno un record
if(mysql_num_rows($query) > 0){

// se la tabella contiene records li mostro attraverso un ciclo
  while($row = mysql_fetch_array($query)){
    $id = $row["IDCategoria"];
    $davisualizzare = stripslashes($row["Categoria"]);
   

//impagino i records
echo "<tr><td width=\"80%\"><font size=\"2\" face=\"Segoe Print\">\n";
echo $davisualizzare;
echo "</font></td>\n";
echo "<font size=\"2\" face=\"Segoe Print\"><td>\n";

//creo il bottone per l'eliminazione del record
echo "<form method=\"post\" action=\"#\">\n";
echo "<input type=\"submit\" name=\"Submit\" value=\"Rimuovi\"></form>\n";
echo "</td></font></tr>\n";

}
}else{
  // se in tabella non ci sono records...
  echo "<tr><td><font size=\"3\">\n";
  echo "Non ci sono iscritti";
  echo "</font></td></tr>\n";
}
echo "</table>\n";

//ora la query per cancellare il record
if(isset($_POST["Submit"]))
    {
    $id = $_POST["Submit"];
    $sql = "DELETE FROM categorie WHERE id=".$id;
    
  if (mysql_query($sql) or die (mysql_error())){
    echo "Eliminazione di " . $davisualizzare . " effettuata con successo";
    }
        }
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
sei sicuro che il campo esista e si chiami id?
ma poi non vedo in alcun punto dello script dove trasmetti il valore di $id

p.s.
il tag font è deprecato, usa i css
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
scusa accorto adesso
$id = $row["IDCategoria"];
intanto quindi correggi
PHP:
<?php
//.....
 $sql = "DELETE FROM categorie WHERE id=".$id; 
 //....
 ?>
in
PHP:
 <?php
//.....
 $sql = "DELETE FROM categorie WHERE IDCategoria=".$id; 
 //....
 ?>
o meglio
PHP:
<?php
//.....
 $sql = "DELETE FROM categorie WHERE IDCategoria=$id"; 
 //....
 ?>
 

91andrea91

Nuovo Utente
7 Ott 2015
8
0
1
ciao
scusa accorto adesso
$id = $row["IDCategoria"];
intanto quindi correggi
PHP:
<?php
//.....
 $sql = "DELETE FROM categorie WHERE id=".$id; 
 //....
 ?>
in
PHP:
 <?php
//.....
 $sql = "DELETE FROM categorie WHERE IDCategoria=".$id; 
 //....
 ?>
o meglio
PHP:
<?php
//.....
 $sql = "DELETE FROM categorie WHERE IDCategoria=$id"; 
 //....
 ?>

Ciao Borgo grazie per la risposta:byebye:
Ho fatto la modifica che mi hai suggerito e adesso mi da l'errore: string(47) "DELETE FROM categorie WHERE IDCategoria=Rimuovi" Unknown column 'Rimuovi' in 'where clause'. Il fatto che "cancelli" quando IDCategoria sia uguale a Rimuovi dovrebbe andare bene ma sembra che non risconosca il Rimuovi perchè pare cerchi questo parametro nel database, non lo trova e non cancella niente(forse è una cavolata). Quando scrivo
PHP:
if(isset($_POST["Submit"]))
    { 
    $sql = "DELETE FROM categorie WHERE IDCategoria= $id";
    var_dump($sql);
    if (mysql_query($sql) or die (mysql_error())){
    echo "Eliminazione di " . $davisualizzare . " effettuata con successo"; 
  }
        }
?>

invece mi cancella sempre l'ultimo parametro perchè cancellando l'associazione con 'submit' la variabile id uscita dal ciclo while ha il valore dell'ultimo ID...ho fatto questa prova per vedere se riconosceva IDCategoria. Ti ringrazio di nuovo per l'attenzione0:)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
intanto guardiamo il while
PHP:
<?php
//....
	while($row = mysql_fetch_array($query)){
		$id = $row["IDCategoria"];
		//......
	}
//....
?>
e ipotizziamo che tu abbia tre record
al primo ciclo legge il primo id
al secondo legge l'id del secondo sovrascrivndolo al primo
al terzo legge l'id del terzo sovrascrivndolo al secondo
così tu avrai all'uscita del while solo l'id dell'ultimo record
secondo, metti un var_dump
PHP:
<?php
///
if(isset($_POST["Submit"])){ 
	var_dump($id);
	$sql = "DELETE FROM categorie WHERE IDCategoria= $id"; 
//.....
?>
e guarda cosa ti riporta
poi se hai pazienza ti posto come faccio io
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
questo è uno schema di come faccio io
PHP:
<?php
//.....
$sql = 'SELECT * FROM categorie';
$query = mysql_query($sql) or die (mysql_error());
echo "<table  style=\"border:1px;\">";//comunque sarebbe meglio con css esterno
if(mysql_num_rows($query) > 0){
	while($row = mysql_fetch_array($query)){
		$id = $row["IDCategoria"];
		$davisualizzare = stripslashes($row["Categoria"]);
		//impagino i records
		echo "<tr>";
		echo "<td style=\"font-size:12px; font-family:pinco pallo; width:80%\">$davisualizzare</td>";
		echo "<td style=\"font-size:12px; font-family:pinco pallo\"><a href=\"?delete=$id&vedi=$davisualizzare\" onclick='confirm(\"conferma eliminazione di $davisualizzare\")'>delete</a></td>";//ci sta bene un confirm
		echo "</tr>";
    }
}else{
	echo "<tr>";
	echo "<td style=\"font-size:12px;\">Non ci sono iscritti</td>";
	echo "</tr>";
}
echo "</table>";
if(isset($_GET["delete"]) && is_int($_GET["delete"])){
	$id=(int)$_GET["delete"];
	$vedi=$_GET["vedi"];
	$sql = "DELETE FROM categorie WHERE IDCategoria=".$id; 
	if (mysql_query($sql)){
		echo "Eliminazione di  $vedi effettuata con successo";
	}else{
		echo "ERRORE, $vedi non eliminato";
	}
	//e qui un ritorno automatico alla lista
}
//....
?>
provalo, puo essere che abbia fatto qualche errore buttandolo giu di brutto
 

91andrea91

Nuovo Utente
7 Ott 2015
8
0
1
ciao
questo è uno schema di come faccio io
PHP:
<?php
//.....
$sql = 'SELECT * FROM categorie';
$query = mysql_query($sql) or die (mysql_error());
echo "<table  style=\"border:1px;\">";//comunque sarebbe meglio con css esterno
if(mysql_num_rows($query) > 0){
	while($row = mysql_fetch_array($query)){
		$id = $row["IDCategoria"];
		$davisualizzare = stripslashes($row["Categoria"]);
		//impagino i records
		echo "<tr>";
		echo "<td style=\"font-size:12px; font-family:pinco pallo; width:80%\">$davisualizzare</td>";
		echo "<td style=\"font-size:12px; font-family:pinco pallo\"><a href=\"?delete=$id&vedi=$davisualizzare\" onclick='confirm(\"conferma eliminazione di $davisualizzare\")'>delete</a></td>";//ci sta bene un confirm
		echo "</tr>";
    }
}else{
	echo "<tr>";
	echo "<td style=\"font-size:12px;\">Non ci sono iscritti</td>";
	echo "</tr>";
}
echo "</table>";
if(isset($_GET["delete"]) && is_int($_GET["delete"])){
	$id=(int)$_GET["delete"];
	$vedi=$_GET["vedi"];
	$sql = "DELETE FROM categorie WHERE IDCategoria=".$id; 
	if (mysql_query($sql)){
		echo "Eliminazione di  $vedi effettuata con successo";
	}else{
		echo "ERRORE, $vedi non eliminato";
	}
	//e qui un ritorno automatico alla lista
}
//....
?>
provalo, puo essere che abbia fatto qualche errore buttandolo giu di brutto

Eccomi....ho risolto grazie a un tuo post che ho trovato eheheh, ho aggiunto un pulsante radio con il valore dell'ID e successivamente se è spuntato leggo il suo valore e poi elimino il valore con il pulsante che ho messo fuori dalle righe del form.
PHP:
//connessione db...
// estraggo i dati dalla tabella
$sql = 'SELECT * FROM categorie';
$query = mysql_query($sql) or die (mysql_error());

echo "<table border=\"1\">\n";

//verifico che sia presente almeno un record
if(mysql_num_rows($query) > 0){

// se la tabella contiene records li mostro attraverso un ciclo
  while($row = mysql_fetch_array($query)){
    $id = $row["IDCategoria"];
    $valoreDaVisualizzare = $row['Categoria'];
   

//impagino i records
echo "<tr><td width=\"80%\" size = \"5\" face=\"Segoe Print\">\n";
echo $id;
echo "</td>\n";
echo "<td><size = \"5\" face=\"Segoe Print\"><td>\n";

//creo il bottone per l'eliminazione del record
echo "<form method=\"POST\"  size = \"3\" action=\"#\">\n";
echo " <input name=\"submit\" type=\"radio\" value=\"$id\">\n"; 
echo "</td></tr>\n";
}

echo "<tr><input type=\"Submit\" name=\"esegui\" value=\"elimina\"></tr>\n";
}else{
  // se in tabella non ci sono records...
  echo "<tr> <size = \"3\"><td>\n";
  echo "Non ci sono iscritti";
  echo "</td></tr>\n";
}
echo "</table>\n";


//ora la query per cancellare il record
if (isset($_POST["submit"])){
    $a = $_POST["submit"];
    $sql = "DELETE FROM categorie WHERE IDCategoria = $a";
    $query =mysql_query ($sql);
     
    if (mysql_query($sql) or die (mysql_error())){
    echo "Eliminazione effettuata con successo"; 
  }
        }
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
S [VB 17]: Eliminare doppioni in listbox Visual Basic 1
spider81man Eliminare primo ed ultimo carattere di una colonna MySQL 0
G Eliminare l'effetto refresh di una pagina internet PHP 8
M eliminare padding logo sito HTML e CSS 2
A eliminare caratteri speciali mettendo uno spazio PHP 0
A eliminare caratteri diacritici con codice ascii PHP 4
MarcoGrazia Eliminare in automatico i caratteri spuri all'inizio e alla fine di una stringa Snippet PHP 0
L Eliminare estensione .html HTML e CSS 9
L [RISOLTO] Eliminare una discussione creata PHP 3
S Eliminare spazio iniziale PHP 2
S [PHP] Eliminare doppioni array e rinumerare le posizioni PHP 2
maxnegri Eliminare url index.php con variabili e reindirizzare alla home del sito PHP 7
D [ASP] Eliminare gli zeri che nn servono Classic ASP 1
K Come eliminare attributi regex per validazione con javascript Javascript 0
maxnegri [PHP] Eliminare risultati duplicati da ciclo foreach ottenuti da una select php mysqli PHP 18
P [HTML] Eliminare doppio menu in wordpress WordPress 2
P [WordPress] Eliminare scritta Categories da post WordPress 4
C [PHP] eliminare elemento da un array multidimensionale PHP 9
L Mi trovo nell'impossibilità di eliminare un record nella tabella Database 1
A [WordPress] Eliminare riga codice HTML WordPress 6
loois come eliminare una discussione fata in questo forum ? Discussioni Varie 1
trattorino [PHP] Eliminare piu frasi PHP 1
C [PHP] RISOLTO - Eliminare elementi duplicati da array multidimensionale PHP 1
L [HTML] versione mobile eliminare stile menu da nav HTML e CSS 0
T Come eliminare canonical url da blogger SEO e Posizionamento 0
dany81 [Photoshop] Eliminare più sfondo possibile... Photoshop 3
Monital [PHP] Eliminare la Barra di caricamento file alla fine dell'esecuzione PHP 11
asevenx [PHP] Eliminare record automaticamente dopo una certa data PHP 12
L Eliminare suono da iframe HTML e CSS 3
G Eliminare scrollbar laterale di visuallightbox jQuery 0
H Eliminare div creato da javascript Javascript 1
M Eliminare un cookie PHP 1
elpirata Eliminare dati selezionati da una form di select PHP 6
Marco_88 Eliminare una colonna da una LEFT JOIN MySQL 4
A come eliminare i suggerimenti della barra degli indirizzi su google chrome? Windows e Software 3
M Eliminare immagini da directory / *dal database fatto! PHP 2
K eliminare il carriage return Javascript 4
S Problema nell'eliminare un'immagine PHP 2
felino Eliminare stringa compresa tra due tags PHP 4
Creatt Eliminare macchine in centos Linux e Software 2
filippino Eliminare lo sfondo di una foto Photoshop 1
D [VB.NET] Eliminare Cartella e sottocartelle TRAMITE FTP .NET Framework 1
D Eliminare voce da campo db Classic ASP 5
filippino Eliminare le barre scorrimento HTML e CSS 1
A come eliminare Awesomehp Sicurezza e Virus 1
L eliminare un prodotto dal carrello tramite l'id della sessione PHP 1
felino Array: eliminare gli elementi che soddisfano una condizione PHP 5
A Eliminare bordo blu al click di un'immagine mappata HTML e CSS 3
L Eliminare Tag in runtime... jQuery 1
D Eliminare elementi da pagina html tramite pulsante HTML e CSS 7

Discussioni simili