- Home
- Categorie
- Coding e Sistemistica
- PHP
- Chi mi aiuta con il PHP?\
-
Come posso definire in MySQL un contatore?
-
Devi mettere il campo come autoincrement e chiave primaria.
-
Guarda non prende l'autoincrement...
-
Che query usi per modificare la tabella?
-
Ho cancellato la precendente... La sto ricreando...
E' questa:
CREATE TABLE strumenti
(Matricola auto_increment Not null,
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(Matricola));
-
Ho sistemato! XD Falso allarme! XD
-
Hai dimenticato di inserire il tipo int(11)
-
Si, piccolo errore...
-
Ok allora se il nome è Matricola, cosi dovrebbe andare:
[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();
?>
<form method="post" action="confirm-cancel.php">
<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) {
$Matricola = mysql_result($result,$i,"Matricola");
$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>
<td align="center"><input type="checkbox" name="identificatore[]" value="<?php echo $Matricola; ?>" /></td>
</tr>
<?php
$i++;
}
?>
</table>
<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]
[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['identificatore']))
$identificatore = $_POST['identificatore'];
else
die('Input mancante');foreach($identificatore AS $tmp)
if(!is_numeric($tmp))
die('Input manomessi');if(isset($_POST['conferma']))
{
$identificatori = implode(',', $identificatore);
mysql_query("DELETE FROM strumenti WHERE Matricola IN '".mysql_real_escape_string($identificatori)."'");
die('Eliminato/i correttamente');
}
?>
<form method="post" action="">
<input type="submit" name="conferma" value="Conferma eliminazione" />
</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]Vedi se funziona perchè l'ho scritto velocemente.
-
All'ultima pagina mi dice "Input mancante".. Da dove viene?
-
Hai selezionato qualche checkbox?
-
Si, è proprio questo che mi chiedo... Nonostante abbia selezionato il checkbox mi da' problemi!
-
Chiunque possa aiutarmi lo faccia, per cortesia... E' urgentissimo!
-
Devi avere un pò di pazienza, non possiamo risponderti in 2 ore.
Ho provato in locale e non ho problemi, il campo della tabella lo hai chiamato Matricola o hai cambiato nome?
-
Il campo è Matricola, ho appena controllato...
-
Ma tu che programma usi per gestire il DB?
-
Uso phpMyAdmin, quell'errore mi sembra impossibile da avere in quanto nel form c'è quell'input correttamente.
Al posto di:
[php]
if(isset($_POST['identificatore']))
$identificatore = $_POST['identificatore'];
else
die('Input mancante');
[/php]
Metti:
[php]
var_dump($_POST);
if(isset($_POST['identificatore']))
$identificatore = $_POST['identificatore'];
else
die('Input mancante');
[/php]
E incollami qui cosa mostra.
-
Questo è quello che mi fa' vedere:
array(1) { ["identificatore"]=> array(1) { [0]=> string(1) "2" } }
Cos'è?
-
Ah! Poi mi esce anche questo!
array(1) { ["conferma"]=> string(21) "Conferma eliminazione"
-
Io ora ho provato a mettere i codici in questo modo:
if(isset($_POST['identificatore']))
{
$identificatore = $_POST['identificatore'];
$identificatori = implode(',', $identificatore);
$sql = mysql_query("DELETE FROM strumenti WHERE Matricola IN '".mysql_real_escape_string($identificatori)."'");
if(!$sql)
echo 'Richiesta di cancellazione respinta';
else
echo 'Record eliminati correttamente!';
}
else
{
echo 'Errore. Selezione dei record da eliminare non effettuata.';
?>
<br />
<br />
<form method="post" action="cancel.html">
<input type="submit" value="Vai alla pagina precedente" />
</form>
<br />
<br />
<form method="post" action="index.html">
<div align="right"><input type="submit" value="Vai alla pagina principale" /></div>
</form>
<?php
exit();
}
foreach($identificatore AS $tmp)
if(!is_numeric($tmp))
die('Input manomessi');E ora mi da' questo errore:
Richiesta di cancellazione respinta
Non è che c'è qualcosa che fa' interferenza? Io utilizzo come gestore generale di Apache, Filezilla, phpMyAdmin, Mercury e TomCat l'applicativo Xampp... Può darsi che sia quello il problema?