Avatar billede rubaek Mester
30. marts 2020 - 20:31 Der er 3 kommentarer

Indsæt opdaterede data i en tabel

Mit spørgsmål er følgende:
Jeg har nogle data som jeg henter ind fra en tabel. Nogle af disse data vil jeg gerne kunne rette og returene rettelserne til tabellen.
Jeg er gået helt i stå. Noget der kan give et hint, eller komme med et løsningsforslag?

Jeg har dette script som henter data, og det ser ud til at virke fint.
Hent_data.php
<?php
include'../includes/connection.php';
include'../includes/topp.php';
// You should call this first
    session_start();
// Initialize the session value
    $_SESSION['P_NAME'] = $_POST["P_NAME"];
    $_SESSION['KLASSE'] = $_POST["KLASSE"];
echo $_SESSION['KLASSE'];
echo $_SESSION['P_NAME'];
?>
            <form role="form" method="post" action="update_prover1.php">
            <div class="card shadow mb-4">
            <div class="card-header py-3">
              <h4 class="m-2 font-weight-bold text-primary"><?PHP echo $_SESSION['KLASSE'];?></h4>
            </div>
            <div class="card-body">
              <div class="table-responsive">
                <table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
              <thead>
                  <tr>
                    <th>Klasse</th>
                    <th>Navn</th>
                    <th>Efternavn</th>
                    <th>Prøve 1</th>
                    <th>Prøve 2</th>
                    <th>Gennemsnit</th>
                    <th>Klasse</th>
                  </tr>
                <tr>
                  <th>  <button type="submit" formmethod="post">Submit using POST</button></th>
                </tr>
              </thead>
          <tbody>

<?php
         
           
           
echo  $_SESSION['KLASSE'];         
    $query = '
    SELECT *
    FROM `elevnavn` as `elevnavn1`
    INNER JOIN `product` as `product1`
    ON `elevnavn1`.`P_NAME` = `product1`.`P_NAME`
    WHERE `elevnavn1`.`P_NAME`="'.$_SESSION['P_NAME'].'" AND KLASSE = "'.$_SESSION['KLASSE'].'"
    ';
        $result = mysqli_query($db, $query) or die (mysqli_error($db));
     
            while ($row = mysqli_fetch_assoc($result)) {
                               
                echo '<tr>';
                echo '<td>'. $row['KLASSE'].'</td>';
echo '<td><input class="form-control" placeholder="First Name" name="F_NAME" value='.$row['F_NAME'].'></td>';
echo '<td><input class="form-control" placeholder="First Name" name="L_NAME" value='.$row['L_NAME'].'></td>';
                echo '<td>'. $row['P1'].'</td>';
                echo '<td>'. $row['P2'].'</td>';
                echo '<td>'. $row['KLASSE'].'</td>';
                echo '<td>'. $row['KLASSE'].'</td>';
                echo '</tr> ';
                        }
?>
                                   
                                </tbody>
                            </table>
                        </div>

Og så er jeg gået i stå her hvor jeg skal indsætte i tabellen igen.
Updater_tabel.php
<?php
include('../includes/connection.php');


// You should call this first
    session_start();
// Initialize the session value
    $_SESSION['F_NAME'] = $_POST["F_NAME"];
    $_SESSION['L_NAME'] = $_POST["L_NAME"];
echo $_SESSION['F_NAME'];
echo $_SESSION['L_NAME'];



       
                $query = 'UPDATE elevnavn
                F_NAME='.$row['F_NAME'].',
                L_NAME='.$row['L_NAME'].',
              ';
                    $result = mysqli_query($db, $query) or die(mysqli_error($db));                           
?>

PS. det er kun F_NAME og L_NAME jeg forsøger med i første omgang.
Avatar billede rubaek Mester
31. marts 2020 - 10:24 #2
Jeg er kommet frem til dette løsningsforslag, men det fejler.

Er der et oplagt fejl i scriptet?

Update.php
<?php
include('../includes/connection.php');

// You should call this first
    session_start();
// Initialize the session value
    $_SESSION['ELEV_ID'] = $_POST["ELEV_ID"];
    $_SESSION['F_NAME'] = $_POST["F_NAME"];
    $_SESSION['L_NAME'] = $_POST["L_NAME"];
echo $_SESSION['F_NAME'];
echo $_SESSION['L_NAME'];


14) $sql = "UPDATE elevnavn SET F_NAME='.$row['F_NAME'].', WHERE ELEV_ID='.$row['ELEV_ID'].'";

if (mysqli_query($conn, $sql)) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . mysqli_error($conn);
}

mysqli_close($conn);
?>

Fejl:
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /var/www/gmonskole.dk/public_html/tk/pages/update_prover1.php on line 14
Avatar billede rubaek Mester
31. marts 2020 - 10:46 #3
Fandt en løsning:
$sql = 'UPDATE `elevnavn` SET `F_NAME`="6" WHERE `ELEV_ID`=1';
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester