PDA

View Full Version : inserimento


Fede83
29-09-2004, 11:22
Ciao a tutti, ho un problemino, devo inserire dei prodotti, in delle specifiche categorie, per cui ho fatto una tabella dove devo scrivere i dati del prodotto, e poi ce un menu a tendina dove posso scegliere in quale categoria inserire il prodotto.
Per cui ho fatto un database, che contiene la tabella con tutte le categorie, e quella dove vengono inseriti i prodotti.

Il mio problema č: che nel menu a tendina non compaiono tutte le categorie, e poi come faccio a dire che voglio che il prodotto si inserisca in quella determinata categoria?
Vi mando il codice dei prodotti e spero che possiate darmi una mano:





<html>
<head>
<title>ComputerGratis.it</title>
</head>

<body bgcolor=#F7FBA4>
<br><br>
<center><h1>Inserisci un nuovo Prodotto</h1></center>
<br><br><br><br><br>
<?php
error_reporting (0);
if(!isset($_POST)) $_POST=$HTTP_POST_VARS;

else{
$nome=addslashes($_POST['nome']);
$marca=addslashes($_POST['marca']);
$descrizione=addslashes($_POST['descrizione']);
$codice=addslashes($_POST['codice']);
$prezzo=addslashes($_POST['prezzo']);
$conn = @mysql_connect("localhost","root","") or die("connessione fallita");
@mysql_select_db("computergratis") or die ("connessione fallita");

$sql = "INSERT INTO prodotti(nome, marca, descrizione, codice, prezzo) VALUES ('$nome','$marca','$descrizione','$codice','$prezzo')";
$risultato = @mysql_query($sql) or die ("query fallita");
print "<font size=3 face=terminal>Inserimento effettuato correttamente.</font><a href=scheda.php>SCHEDA PRODOTTI</a>";


}
?>
<form action="index.php" method="post">
<table border=1 bordercolor=black align=center>
<tr>
<td colspan=2 bgcolor=white><font align=center size=5 face=Courier>Dati del Prodotto</font></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Nome Prodotto</font></td>
<td><input type=text name=nome></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Categoria</font></td>
<td><select name=categoria>
<option value=<? $categoria=($_POST['categoria']);?></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Marca</font></td>
<td><input type=text name=marca></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Descrizione</font></td>
<td><input type=text name=descrizione></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Codice</font></td>
<td><input type=text name=codice></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Prezzo</font></td>
<td><input type=text name=prezzo></td>
</tr>
<tr>
<td colspan=2 align=center bgcolor=white><input type=submit name=inserisci value=inserisci></td>
</tr>
</table>
</form>

<br><br><br><br><br><br><br><br>
<a href=catalogo.php><img border=0 src=logo/indietro.gif></a>
<a href=index.php><img align=right border=0 src=logo/home.gif></a>
</body>
</html>


Vi ringrazio. Ciao :mc:

maxnaldo
29-09-2004, 15:38
penso tu abbia fatto un po' di confusione, fra la tabella Prodotti e quella Categorie ci deve essere un campo "codice" che le collega tra loro:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>

<body>
<html>
<head>
<title>ComputerGratis.it</title>
</head>

<body bgcolor=#F7FBA4>
<br><br>
<center><h1>Inserisci un nuovo Prodotto</h1></center>
<br><br><br><br><br>
<?php
error_reporting (0);
if(!isset($_POST)) $_POST=$HTTP_POST_VARS;

else{
$categoria=addslashes($_POST['categoria']);
$nome=addslashes($_POST['nome']);
$marca=addslashes($_POST['marca']);
$descrizione=addslashes($_POST['descrizione']);
$codice=addslashes($_POST['codice']);
$prezzo=addslashes($_POST['prezzo']);
$conn = @mysql_connect("localhost","root","") or die("connessione fallita");
@mysql_select_db("computergratis") or die ("connessione fallita");

// il codice della categoria di appartenenza č una chiave di riferimento che deve essere presente anche nella tabella prodotti
$sql = "INSERT INTO prodotti(categoria,nome, marca, descrizione, codice, prezzo) VALUES ('$categoria','$nome','$marca','$descrizione','$codice','$prezzo')";

$risultato = @mysql_query($sql) or die ("query fallita");
print "<font size=3 face=terminal>Inserimento effettuato correttamente.</font><a href=scheda.php>SCHEDA PRODOTTI</a>";


}
?>
<form action="index.php" method="post">
<table border=1 bordercolor=black align=center>
<tr>
<td colspan=2 bgcolor=white><font align=center size=5 face=Courier>Dati del Prodotto</font></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Nome Prodotto</font></td>
<td><input type=text name=nome></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Categoria</font></td>
<td><select name=categoria>
<?
// presumo che nella tabella categorie ci sia almeno un campo "codice" e un campo "descrizione"
$sql="SELECT * FROM tabellacategorie WHERE 1 order by descrizione";
$request = mysql_query($sql);
while ($tmp = mysql_fetch_array($request))
{
$codicecategoria=$tmp['codice'];
$descrizionecategoria=$tmp['descrizione'];
print("<option value=\"".$codicecategoria."\" ");if($_POST['categoria']==$codicecategoria) print('SELECTED'); print(">".$descrizionecategoria."</option>");
}
?>
</select></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Marca</font></td>
<td><input type=text name=marca></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Descrizione</font></td>
<td><input type=text name=descrizione></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Codice</font></td>
<td><input type=text name=codice></td>
</tr>
<tr>
<td bgcolor=white><font size=3 face=arial>Prezzo</font></td>
<td><input type=text name=prezzo></td>
</tr>
<tr>
<td colspan=2 align=center bgcolor=white><input type=submit name=inserisci value=inserisci></td>
</tr>
</table>
</form>

<br><br><br><br><br><br><br><br>
<a href=catalogo.php><img border=0 src=logo/indietro.gif></a>
<a href=index.php><img align=right border=0 src=logo/home.gif></a>
</body>
</html>



</body>
</html>




ps. il campo "categoria" nella tabella prodotti conterrā i valori che sono presenti nella tabella delle categorie nel campo "codice"

a quel punto per estrarre ad esempio tutti i prodotti di una categoria ti basterā fare una select nella tabella prodotti con il codice che ti interessa.

Fede83
29-09-2004, 15:49
ok grazie provo e ti faccio sapere.

:oink: grazie millle