Pagina dinamica - avvicinarsi ai cms

  • Creatore Discussione Creatore Discussione pup3770
  • Data di inizio Data di inizio

pup3770

Utente Attivo
30 Mag 2012
122
0
16
Ciao Forum,
come da titolo avrei la necessità di una pagina dinamica.

Mi spiego meglio, vorrei realizzare un sito formato da front-end e back-end.

Il front-end deve visualizzare le informazioni prelevate da un database, ad esempio se io cercassi la parola "pastore tedesco" dovrei visualizzare tutte le informazioni relative al cane pastore tedesco.

La parte back-end mi deve dare la possibilità di inserire tutte le informazioni nelle varie celle del database in modo dinamico ovvero che se oggi imposto degli insert in un menù a tendina:

nome_razza
provenienza_razza
dimensione_razza

e domani oltre questo vorrei avere anche "cibo_razza", che abbia la possibilità senza dover mettere nuovamente mano al codice.

Come potrei fare per dare la possibilità di back-end di una personalizzazione nella configurazione?

Potrei fare con "create table" ma poi come aggiorno il menù a tendina aggiungendo anche la tabella con le relative celle appena create?

Grazie
 
Ciao, grazie per la risposta e scusate se rispondo solo adesso.. cmq questo per prelevare ma se io volessi fare una tabella di un database che modifico come voglio ovvero aggiungo o rimuovo colonne o modifico il nome delle colonne, devo farla con ALTER TABLE giusto?
Poi gli applico la SELECT dinamica e il gioco è fatto.
 
Ultima modifica:
Ciao Ragazzi,
mi faccio sentire nuovamente. Allora per quanto riguarda la selezione ok, utilizzando la select dinamica riesco.

Adesso ho un problema, mi spiego meglio. Vorrei non accedere costantemente al codice, vorrei una pagina che mi dia la possibilità di inserire dei dati nel database, ma per avere una certa dinamicità non so come fare.

Se io facessi una pagina collegata ad un db, nella pagina trovo le aree di testo ad esempio:

Nome db: cane

Pagina:
Area di inserimento:
Nome razza:
Dimensioni razza:
Peso Razza:

Se io volessi dopo tempo inserire un altro campo per esempio: Colore Razza:

Come posso fare senza accedere al codice? C'è un modo oppure bisogna creare sempre un
Codice:
<INPUT TYPE ....
e aggiungere il parametro nella
Codice:
"INSERT INTO ..... con relativo VALUES
?

Spero di essermi spiegato bene.

Esempio i CMS offrono la possibilità da remoto di farlo senza accedere al codice.
 
Ragazzi gentilmente, ditemi se è fattibile o meno..Eventualmente cerco di trovare un'altra strada
 
No, la modifica deve essere fatta essenzialmente alla struttura della tabella... se non implementi il record non puoi inserire nulla.
Ciao

si ok, per quanto riguarda la creazione di una nuova colonna utilizzerei
Codice:
ALTER TABLE
ma l'
Codice:
INSERT
credo non si possa modificare. Ma ad esempio i CMS come fanno a permettere di fare tutto?
 
Perdonami, i CMS non li utilizzo... Il codice lo scrivo io mano manina. Lascio a chi ne sa più di me...
Ciao

Ah perfetto, cercavo proprio uno come te che mi potesse dare aiuto perché io non voglio utilizzare i CMS ma creare delle pagine semplici, schematiche che:

- diano la possibilità all'utente di inserire dei dati nel db
- diano la possibilità all'utente di modificare dei dati nel db
- diano la possibilità all'utente di rimuovere dei dati nel db
- diano la possibilità all'utente di aggiungere nuovi campi per i nuovi dati da inserire nel db

Per i primi 3 punti ok ci sono, per l'ultimo no.
 

Grazie per il link. Questo per quanto concerne la tabella. Ma come anticipato prima, avendo un menù a tendina con 5 elementi, allora con
Codice:
ALTER
aggiungo campi e con un
Codice:
SELECT
dinamica prelevo tutti i campi compresi quelli nuovi.

Ma se io avessi:

Codice:
<b>Nome animale:</b><br> <INPUT TYPE="text" NAME="nomeAnimale" VALUE="Inserisci un termine"><br><br>
		
		
		<!FORM utile per il menu' a tendina>
	<tr>
	<b><td>Categorie:</td></b><br>
	<td>
	<select name="categoria">
	<option value="cane">Cane</option>
	<option value="gatto">Gatto</option>
	<option value="volatile">Volatile</option>
	<option value="rettile">Rettile</option>
	</select>
	</td>
	</tr> <br><br>

Se da Front-end si desidera inserire un nuovo campo:

Codice:
<b>Alimentazione:</b><br> <INPUT TYPE="text" NAME="alimentazione" VALUE="Inserisci un termine"><br><br>

è possibile farlo oppure bisogna rivedere il codice e modificare da Back-end? Ho ragionato molto e googlato molto ma non ho trovato riscontro positivo. Eppure i CMS lo permettono di fare.. quindi come fanno a permetterlo?

Grazie in anticipo
 
Guarda personalmente non mi sono mai posto il problema, eseguo tutto da phpmyadmin...
Ma nulla toglie formulare una query e provarci...

Grazie per la risposta. Si capisco però pensa che se l'inserimento dei dati dev'essere fatto da terzi, magari deve aspettare te per la creazione di una categoria o simile
 
Non ho testato, prova così:
PHP:
require_once('connessione.php');
if (!$connessione->query("ALTER TABLE TuaTabella ADD $nuovo_record VARCHAR(40)")){
{
  echo "Errore della query: " . $connessione->error . ".";
}else{
  echo "Tabella creata correttamente.";
}
Ovviamente la variabile:
PHP:
$nuovo_record
La recuperi dal post dell'utente.
 
Ultima modifica:
Non ho testato, prova così:
PHP:
require_once('connessione.php');
if (!$connessione->query("ALTER TABLE TuaTabella ADD $nuovo_record VARCHAR(40)")){
{
  echo "Errore della query: " . $connessione->error . ".";
}else{
  echo "Tabella creata correttamente.";
}
Ovviamente la variabile:
PHP:
$nuovo_record
La recuperi dal post dell'utente.


Grazie per la risposta.

Questo altera la tabella aggiungendo una nuova colonna. L'inserimento in questa nuova colonna bisogna implementarlo scrivendolo nel file php altrimenti l'inserimento dei dati nella nuova colonna. Giusto? Oppure esiste anche un modo per aggiungere alla
PHP:
INSERT
il nuovo indice riferito alla nuova colonna?
 
Ok però ad esempio faccio una:

Codice:
<b>NuovoCampo:</b><br> <INPUT TYPE="text" NAME="nuovoCampo" VALUE="Inserisci nuova colonna"><br><br>

e con:
PHP:
$_POST['nuovoCampo']
mi recupero quanto inserito.

Con:
PHP:
$result = mysql_query("ALTER TABLE `nomeTabella` ADD $nuovoCampo
creo la nuova colonna;

Adesso come faccio a far visualizzare nella pagina un nuovo campo di inserimento in cui andare ad inserire il valore futuro che dovrà popolare le righe della colonna appena creata "nuovoCampo"?

Potrei anche predisporre nella pagina un nuovo campo di inserimento utente:
Codice:
<b>Inserisci nuova info:</b><br> <INPUT TYPE="text" NAME="perNuovoCampo" VALUE="Inserisci nuova colonna"><br><br>

PHP:
$query1 = "INSERT INTO smartphone (perNuovoCampo) VALUES ('{$_POST['perNuovoCampo']}');

Ma facendo così dovrei predisporre "n" campi per quante sono le "n" nuove colonne che vorrei far inserire. E successivamente modificare questi campi "provvisori" con definitivi direttamente accedendo al codice.

Ma sembra molto macchinosa la cosa.
 

Discussioni simili