Ciao a tutti. Sono alle prime armi con la programmazione.
In poche parole, dovrei fare un database per una di link. La tabella l'ho già creata con 3 colonne di nome id, nome, link.
Il form per inserire, modificare ed eliminare è qui di seguito
programma_preset.php:
Codice PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8"/>
<meta http-equiv="cache-control" content="no-cache"/>
<meta http-equiv="expires" content="0"/>
<meta http-equiv="pragma" content="no-cache"/>
<meta http-equiv="expires" content="-1"/>
<meta name="robots" content="none,noindex"/>
<script language="javascript" type="text/javascript">
function addtext(txt)
{
var string = txt.replace(/(\r)/g, '\n') ;
var string2 = string.split('|');
var id = (string2[0]);
var nome = (string2[1]);
var codice = (string2[2]);
document.getElementById("textaarea").value = codice;
document.getElementById("id").value = id;
document.getElementById("nome").value = nome;
}
</script>
</head>
<body>
<center> <!-- Inizio centratura tabella contenitore modifica preset -->
<table id="table_modifica_preset" border="1"> <!-- Inizio tabella contenitore modifica preset -->
<tr>
<td height="27px" align="center">
<b>Modifica link nel database della tabella preset</b>
</td>
</tr>
<tr>
<td>
<center> <!-- Inizio centratura tabella contenitore form modifica preset -->
<table id="table_form_modifica_preset" border="1"> <!-- Inizio tabella contenitore form modifica preset -->
<form name="form" id="form" action="modifica_preset.php" method="post"> <!-- Inizio form modifica preset -->
<tr>
<td width="105px" align="right">Lista Preset</td>
<td align="left" width="200px">
<select name="preset" onchange="addtext(this.value);">
<option value="">-- Seleziona --</option>
<?php
include 'config.php';
//Seleziona i record da aggiungere al menù di selezione
$query = 'SELECT nome, codice, id FROM preset';
$result = mysql_query($query, $connessione) or die (mysql_error ());
//Popola le opzioni della select con i risultati
while ($row = mysql_fetch_assoc($result))
{
if ($row['codice'] == $preset)
{
echo '<option value="' .$row['codice']. '">';
}
else
{
echo '<option value="' .$row['codice']. '">';
}
echo $row['nome']. '</option>';
}
?>
</select>
</td>
</tr>
<tr>
<td align="right">Nome </td>
<td align="left">
<input id="nome" type="text" name="nome">
</td>
</tr>
<tr>
<td align="right">Codice </td>
<td align="left">
<textarea id="textarea" name="codice" rows="3" cols="60"></textarea>
</td>
</tr>
<tr>
<td align="right"></td>
<td align="left">
<input type="reset" value="Cancella">
<input type="submit" name="aggiungi" value="Aggiungi">
<input type="submit" id="01" name="modifica" value="Modifica">
<input type="submit" id="03" name="elimina" value="Elimina" onclick="return confirm('Vuoi realmente CANCELLARE ? \nIl processo è irreversibile! \n\nPensaci bene.');">
</td>
</tr>
</form> <!-- Fine form modifica preset -->
</table> <!-- Fine tabella contenitore form modifica preset -->
</center> <!-- Fine centratura tabella contenitore form modifica preset -->
</td>
</tr>
</table> <!-- Fine tabella contenitore modifica preset -->
</center> <!-- Fine centratura tabella contenitore modifica preset -->
</body>
</html>
Con una query e un while, ho popolato il menù di selezione. Nel campo value ho messo il link e tra i tag option il nome, così nella textarea viene visualizzato il link e nell'input nome il nome.
Qui di seguito inserisco il file config.php:
Codice PHP:
<?php
//Definisco:
// Il nome dell'host (hostname) su cui si trova mysql
$host = "localhost";
// Il nome del nostro database
$namedb = "my_database";
// Il nostro nome utente (username)
$username = "username";
// La nostra password
$password = "*****";
//Mi connetto al server mysql
$connessione = @mysql_connect($host, $username, $password) or die ("Impossibile stabilire una connessione");
//Mi connetto al database specificato
$data_base= @mysql_select_db($namedb, $connessione) or die ("Impossibile selezionare il database");
// Impostiamo la codifica della connessione
mysql_set_charset('utf8'); // attenzione è 'utf8' NON 'utf-8'
?>
Ora viene la parte in cui mi blocco, cioè quella della modifica sia del nome che del link, che dovrebbero avvenire insieme, o uno o l'altro.
modifica_preset.php:
Codice PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8"/>
<meta http-equiv="cache-control" content="no-cache"/>
<meta http-equiv="expires" content="0"/>
<meta http-equiv="pragma" content="no-cache"/>
<meta http-equiv="expires" content="-1"/>
<meta name="robots" content="none,noindex"/>
</head>
<body>
<center>
<table border="1">
<tr>
<td><b>Esito operazione effettuata sulla lista preset</b></td>
</tr>
<tr>
<td>
<center>
<table>
<tr>
<td>
<?php
// Connessione al database
include('config.php');
if(isset($_POST['aggiungi']))
{
// Processo recupero dati
$id = $_POST['id'];
$nome = $_POST['nome'];
$link = $_POST['link'];
$query = "INSERT INTO preset (id, nome, link) VALUES (NULL , '$nome', '$id|$nome|$link')";
if (@mysql_query($query, $connessione))
{
echo ("<b>Record inserito con successo.</b><br><br>Attendere 4 secondi per il reflesh automatico.");
echo '<meta http-equiv="refresh" content="5;url=programma_modifica_preset.php">';
}
else
{
echo ("<b>Errore inserimento record: " .mysql_error(). "</b>");
}
mysql_close();
}
?>
<?php
// Connessione al database
include('config.php');
if(isset($_POST['modifica']))
{
// Processo recupero dati
$id = $_POST['id'];
$nome = $_POST['nome'];
$link = $_POST['link'];
$query = "UPDATE preset SET link='$link' WHERE nome='$nome'";
if (@mysql_query($query, $connessione))
{
echo ("<b>Record modificato con successo.</b><br><br>Attendere 4 secondi per il reflesh automatico.");
echo '<meta http-equiv="refresh" content="5;url=programma_modifica_preset.php">';
}
else
{
echo ("<b>Errore modifica record: " .mysql_error(). "</b>");
}
mysql_close();
}
?>
<?php
// Connessione al database
include('config.php');
if(isset($_POST['elimina']))
{
// Processo recupero dati
$id = $_POST['id'];
$nome = $_POST['nome'];
$link = $_POST['link'];
$query = "DELETE FROM preset WHERE id='$id' OR nome='$nome' OR link='$link'";
if (@mysql_query($query, $connessione))
{
echo ("<b>Record cancellato con successo.</b><br><br>Attendere 4 secondi per il reflesh automatico.");
echo '<meta http-equiv="refresh" content="5;url=programma_modifica_preset.php">';
}
else
{
echo ("<b>Errore eliminazione record: " .mysql_error(). "</b>");
}
mysql_close();
}
?>
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
</center>
</body>
</html>
Chiedo se possibile ricevere un aiuto per terminare questo form. Non riesco ad andare avanti.
Metto a disposizione una pagina col form programma_modifica_preset.php
Grazie anticipatamente a chi partecipa a questa discussione