Ho un database (MySQL) che contiene diverse tabelle che vengono usate per memorizzare informazioni simili, ma non identiche. Ogni tabella raccoglie informazioni di una certa categoria di prodotti.
Per esempio, una tabella memorizza le informazioni sulle penne (colore, materiale, spessore punta, ecc), un'altra tabella memorizza informazioni sulle matite (colore, durezza, ecc). Alcuni campi sono identici, altri diversi. Alcune tabelle hanno, per esempio, 5 campi, altre 6, e così via.
Le tabelle sono davvero tante...
Sto creando delle pagine che mi permettano di scrivere in questo database, ma non posso scrivere una pagina per ogni tabella (categoria), ma vorrei scrivere una sola pagina per aggiungere i prodotti, una per modificarli, ecc.
Mi sto muovendo in questo modo.
Nella pagina di aggiunta prodotto, ho inserito una combo che mi permette di scegliere la categoria (che corrisponde ad una certa tabella).
Fatto questo, costruisco il form, dove vengono mostrati i campi della tabella corrispondente a quella categoria.
Questo è il form
Codice PHP:
sqlString = "SELECT * FROM " & tabella
SET RS = Conn.Execute(sqlString)
Response.Write("<form method=""post"" name=""gestione"" action=""gestione_prodotti.asp?id_categoria=")
Response.Write(id_categoria)
Response.Write(""">")
For Each f In RS.Fields
IF f.Name <> "id" And f.Name <> "attiva" Then
IF f.Name = "img" Then
UCase(Left(f.Name,1))
Response.Write ("[b]" & (UCase(Left(f.Name,1)) & Mid(f.Name,2) & ":[/b]
"))
Response.Write ("<input name=""" & f.Name & """ size=""20"" maxlength=""20"">")
Response.Write("[url=""]Inserisci immagine[/url]
")
Response.Write("
")
Else
UCase(Left(f.Name,1))
Response.Write ("[b]" & (UCase(Left(f.Name,1)) & Mid(f.Name,2) & ":[/b]
"))
Response.Write ("<input name=""" & f.Name & """ size=""20"" maxlength=""20"">
")
End If
End If
Next
RS.Close
Set RS = Nothing
Response.Write("<input name=""submit"" type=""submit"" value=""Aggiungi prodotto"">")
Response.Write("<input name=""AggiungiProdotto"" value=""1"" type=""hidden"">")
Response.Write("</form>")
Con questo codice ottengo la mia pagina con il form.
Il problema adesso è recuperare i valori del form nell'altra pagina.
Non conoscendo a priori i nomi dei campi, non posso scrivere nella pagina dove recupero i valori del codice tipo:
Codice PHP:
img = TRIM(Request("img"))
.
Nell'altra pagina riesco a farmi mostrare l'elenco dei campi con questo codice:
Codice PHP:
sqlString = "SELECT * FROM " & tabella
SET RS = Conn.Execute(sqlString)
For Each f In RS.Fields
If f.Name <> "id" Then
Response.Write(f.Name)
Response.Write("
")
End if
Next
Vedo solo i nomi dei campi, ma non ho idea di come recuperare i dati dal form.
Qualche idea?
Grazie!