- Home
- Categorie
- Coding e Sistemistica
- PHP
- Chi mi aiuta con il PHP?\
-
Ti invio la prima pagina PHP... Riusciresti a sistemarmela?
-
Se le posti qui entrambe, risolviamo sicuramente.
-
Questa è la prima!
<html lang="en">
<head>
<title>Cancellazione strumenti</title>
</head>
<body>
<marquee width="100%" direction="left" scrollamount="8"><img src="img/logo.jpg" /></marquee>
<?php
$conn = mysql_connect("localhost","root","");
if (!$conn)
{
die('Connessione mancata con il root. Errore: ' . mysql_error());
}
$select = mysql_select_db("sabicom",$conn);
if (!$select)
{
die("Errore nella connessione con il database. Errore: " . mysql_error());
}
$utiliz = trim($_POST['utiliz']);
session_start();
$_SESSION["utiliz"] = $utilizz;
session_register("utiliz");
$strum = trim($_POST['strum']);
session_start();
$_SESSION["strum"] = $strume;
session_register("strum");
$sql = "SELECT * FROM strumenti WHERE Utilizzatore = '$utiliz' AND Strumento = '$strum';";
$result = mysql_query($sql, $conn);
if (!$result)
{
die('Errore durante il trasferimento dei dati');
}
$num=mysql_numrows($result);
mysql_close();
?>
<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) {
$fornitore=mysql_result($result,$i,"Fornitore");
$assistenza=mysql_result($result,$i,"Assistenza");
$utilizzatore=mysql_result($result,$i,"Utilizzatore");
$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_Dismesso");
$data_acquis=mysql_result($result,$i,"Data_acquisizione");
?>
<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>
</tr>
<?php
$i++;
}
?>
<form method="post" action="confirm-cancel.php">
<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>La seconda la trovi alla pagina precedente!
-
Sto sistemando le pagine, però la pagina che hai appena postato prende dei dati con il metodo POST, ma il form da cui arrivano dov'è?
-
Eccola qua!
<html lang="en">
<head>
<title>Cancellazione strumenti</title>
</head>
<body>
<marquee width="100%" direction="left" scrollamount="8"><img src="img/logo.jpg" /></marquee>
<form method="post" action="cancel.php">
<table border="0" align="center">
<tr>
<td align="center">Utilizzatore ></td>
<td align="center"><input type="text" name="utiliz" /></td>
</tr>
<tr>
<td align="center">Strumento ></td>
<td align="center"><input type="text" name="strum" /></td>
</tr>
<tr>
<td align="center"><input type="submit" value="Invia dati al database" /></td>
<td align="center"><input type="reset" value="Cancella dati nei box" /></td>
</tr>
</table>
</form>
<br />
<br />
<form method="post" action="index.html">
<div align="right"><input type="submit" value="Vai alla pagina principale" /></div>
</form>
</body>
</html>Come posso ringraziarti?
-
Allora la pagina 1, un pò snellita anche se la tabella si poteva fare più semplicemente diversamente:
[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();
?>
<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) {
$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>
</tr>
<?php
$i++;
}
?>
<form method="post" action="confirm-cancel.php">
<input type="hidden" name="utiliz" value="<?php echo $utiliz; ?>" />
<input type="hidden" name="strum" value="<?php echo $strum; ?>" />
<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]La pagina 2, come base va bene questa:
[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['utiliz']))
$utiliz = trim($_POST['utiliz']);
else
die('Input mancante');if(isset($_POST['strum']))
$strum = trim($_POST['strum']);
else
die('Input mancante');
?>
<br />
<br />
<form method="post" action="index.html">
<div align="right"><input type="submit" value="Vai alla pagina principale" /></div>
</form>
</body>
</html>
[/php]In pagina 2 (confirm-cancel.php) dovresti avere un pulsante di conferma eliminazione da quanto ho capito giusto?
-
Si, teoricamente si...
Il problema che non ho idea di come gestirla!
-
Adesso ti posto io il codice, rimane un ultimo problema l'ultima pagina che mi hai postato punta a cancel.php, che ti può trovare ad esempio 4 dati diversi. Tu dovresti fare in quel caso 4 form per cancellare singolarmente un dato, in questo modo non puoi.
Hai fatto parecchia confusione all'inizio.
-
La pagina che punta a cancel.php è la pagina html iniziale, dove inserisco i valori! Quella è una pagina statica!
-
Mi serve il nome della chiave primaria della tabella strumenti.
-
Utilizzatore è la chiave! Grazie 1000! Mi stai dando una grossissima mano!
-
Se Utilizzatore è la chiave primaria, perchè stiamo usando anche strumento? Non è necessario.
-
Strumento è fondamentale... Serve per fare una selezione ulteriore durante la visualizzazione!
-
Se c'è già la condizione con la chiave primaria è inutile, in quanto la chiave primaria deve per forza identificare univocamente un record. O non è quella la chiave primaria o stavi utilizzando un campo inutile.
-
Il campo Utilizzatore è la chiave... Se tu mi metti anche la checkbox allora ti adorerò per sempre! Almeno togliamo anche strumenti!
-
Dipende che tipo di chiave è.
Qualcosa non mi quadra, puoi postarmi la query di creazione della tabella?
Il checkbox va bene se hai più di un record mostrato, ma se usi un chiave primaria che senso ha?
-
Un Utilizzatore può utilizzare più strumenti! Per questo ce l'ho bisogno! Va' bene lo stesso se ti do solo le caratteristiche principali?
-
Se un utilizzatore può usare più strumenti il campo Utilizzatore non è chiave primaria, ma è chiave esterna. La tabella strumenti deve comunque avere una chiave primaria.
Dovresti postarmi proprio la query che hai usato perchè creo che tra quello che stai facendo tu, e quello che dovevi ottenere c'è qualche leggera differenza e non riesco a scriverti il codice esatto da utilizzare.
-
CREATE TABLE strumenti
(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(Utilizzatore));
-
Ah! Mi sono accorto di aver sbagliato!
Venduto_Dismesso non deve essere nullo!