Allora, questa è l'immagine di una parte della tabella:
http://www.mwolf.altervista.org/tabella.gif
Come si vede chiaramente ci sono il campo ID, quello contatore, e il campo ordine.Questi campi sono della tabella dei post del blog.
Il campo "ordine" l'ho creato io...e per ogni post che viene aggiunto gli posso attribuire un numero(nel campo ordine).
Lo script che volevo realizzare è per poter modificare il campo ordine per ognuno dei post..quindi questo è il codice che ho provato:
Codice PHP:
<?php
$connessione = mysql_connect("localhost", "root", "password")
or die("Impossibile stabilire una connessione.");
if ($connessione) {
$msg = "Operazione riuscita!";
echo $msg;
}
$database = mysql_select_db('nadir');
$nome_tabella = "wp_posts";
$visua = "select ID, ordine from $nome_tabella ";
$risult = @mysql_query($visua,$connessione) or die ("Non si possono vedere i risultati.");
?>
<table border=0 width="700" align="center">
<tr><td colspan=2><h2>Tabella ID e Contatori</h2></td></tr>
<tr><td>ID</td><td>Ordine</td></tr>
<form method="POST" action="modificacontatti.php">
<input type="hidden" name="ID" value="<?php echo "$ID";?>">
<?php
while ($row = mysql_fetch_array($risult)) {
$ID = $row['ID'];
$ordine = $row['ordine'];
echo "<tr><td><h3> ID</h3></td><td><h3>Modifica Ordine</h3></td></tr>"; ?>
<tr><td><h3><?php echo"$ID"?></h3></td><td><h3><?php echo"$ordine"?></h3></td></tr>
<tr><td><input type="text" name="ID" value="<?php echo"$ID"?>" ></td><td><input type="text" name="ordine" value="<?php echo"$ordine"?>" ></td></tr>
<?php
}
?>
Con questo script creo il form dove ci sono sia l'id che il contatore per ogni post(spero sia giusto).Con il form tramite il metodo "post" mando tutto al file che modificherà il database,e questo file(modificacontatti.php) contiene questo script:
Codice PHP:
<?php
$connessione = mysql_connect("localhost", "root", "password")
or die("Impossibile stabilire una connessione.");
if ($connessione) {
$msg = "Operazione riuscita!";
echo $msg;
}
$database = mysql_select_db('nadir') or die ("Impossibile selezionare il database.");
$nome_tabella = "wp_posts";
$sele = "select ordine from $nome_tabella";
$vai = @mysql_query($sele,$connessione) or die ("Non si può eseguire la query!");
$ordine = $_POST['ordine'];
$avviamodifica = "UPDATE $nome_tabella SET ordine = \"$ordine\"
WHERE ID = \"$ID\"
";
$modifica = @mysql_query($avviamodifica, $connessione) or die ("Impossibile effettuare la modifica.");
?>
Solo che facendo la prova, questo codice mi modifica solo l'ultimo dei post inseriti, cioè nella visualizzazione li visualizza tutti, ma se modifico(tramite il file di prima) il numero "ordine" in tanti campi, l'unico che prende è l'ultimo.
E' come se il ciclo fosse sbagliato, e di tutti quelli che fa modifica solo l'ultimo della lista.
Dove sbaglio? :(
P.S. ovviamente i codici che ho postato sono privi della formattazione della tabella che ritenevo di poca importanza.)
[DS] Usa dei link al posto delle immagini pesanti, pensa anche a chi ha una connessione lenta...
nessuno ha qualche idea su come incrementare il valore di ordine quando si va a modificare il database?:(
[DS] Non inviare messaggi consecutivi, usa la funzione EDIT del forum...