Kun haen SQL- kyselyllä taulusta tietoa, ja tulostan ne näytölle html- taulukkona, niin miten saan mahdolliset muutokset taulukossa, esim. kappalemäärät jne. syötettyä takaisin samaan tauluun ?
Ilmeisesti tarkoitat lähettämättä samaa sivua uudelleen?
Jos et halua lähettää sivua uudestaan, on mielestäni luontevin tapa käyttää ajaxia.
Siitä vaaan opettelemaan.
https://www.ohjelmointiputka.net/oppaat/opas.
B_R_H kirjoitti:
Ilmeisesti tarkoitat lähettämättä samaa sivua uudelleen?
Jos et halua lähettää sivua uudestaan, on mielestäni luontevin tapa käyttää ajaxia.Siitä vaaan opettelemaan.
https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=ajax
Miten tuo onnistuisi lähettämällä sama sivu uudelleen ?
Eipä kai siinä oikein muita vaihtoehtoja siiten ole kuin rakentaa sivu uudelleen.
Tässä on esimerkki, josta on ehkä apua. Taulun nimi on tuotteet, ja siinä ovat kentät id, nimi ja hinta. Ideana on tehdä HTML-taulukosta lomake, jonka tiedot pystyy tallentamaan takaisin tietokantaan. Lomakkeessa muuttujat nimet[id] ja hinnat[id] vastaavat tuotetta, jonka numero on id.
<?php
// lista.php
mysql_connect("localhost", "", "");
mysql_select_db("testit");
$lista = mysql_query("SELECT id, nimi, hinta FROM tuotteet");
echo "<form action=\"muokkaus.php\" method=\"post\">";
echo "<table border>";
echo "<tr><th>nimi</th><th>hinta</th></tr>";
for ($i = 0; $i < mysql_num_rows($lista); $i++) {
$id = mysql_result($lista, $i, 0);
$nimi = mysql_result($lista, $i, 1);
$nimi = htmlspecialchars($nimi);
$hinta = mysql_result($lista, $i, 2);
$hinta = htmlspecialchars($hinta);
echo "<tr>";
echo "<td><input type=\"text\"
name=\"nimet[$id]\"
value=\"$nimi\"></td>";
echo "<td><input type=\"text\"
name=\"hinnat[$id]\"
value=\"$hinta\"></td>";
echo "</tr>";
}
echo "</table>";
echo "<br><input type=\"submit\" value=\"Tallenna\">";
echo "</form>";
?><?php
// muokkaus.php
mysql_connect("localhost", "", "");
mysql_select_db("testit");
$nimet = $_POST["nimet"];
$hinnat = $_POST["hinnat"];
foreach ($nimet as $id => $nimi) {
$id = intval($id);
$nimi = mysql_real_escape_string($nimi);
mysql_query("UPDATE tuotteet SET nimi = '$nimi' WHERE id = $id");
}
foreach ($hinnat as $id => $hinta) {
$id = intval($id);
$hinta = mysql_real_escape_string($hinta);
mysql_query("UPDATE tuotteet SET hinta = '$hinta' WHERE id = $id");
}
header("Location: lista.php");
?>Aihe on jo aika vanha, joten et voi enää vastata siihen.