Avatar billede sjakaldk Nybegynder
04. maj 2007 - 14:43 Der er 17 kommentarer

php/mysql UPDATE parameter

Hej Alle

Jeg mangler en fungerende kode til knappen på www.sjak.dk/vidcom. Det skal være sådan at når man på siden retter tallene skal man kunne trykke på "ret data" knappen og derefter opdaterer den dataene i SQL tabellen.

Her er hvilke filer det drejer sig om

index.php (kommer frem når man klikker ind på www.sjak.dk/vidcom)
opdater_skema.php (aktiveres når man klikker på knappen)

Her er hvad der er lavet indtil videre

----------
index.php
----------
<html>
<?
    require('logon.php');

$resultat = mysql_query("Select * from `vidcom` ORDER BY navn");
$num_rows = mysql_num_rows($resultat);


if ($num_rows<1) {
echo "<center><h1>Der er ingen data i øjeblikket</h1></center>";} else {

echo "<table width=100%>";
echo "<tr><td></td>";
echo "<td align=right><b>Lars</b></td><td></td>";
echo "<td align=right><b>Claus</b></td><td></td>";
echo "<td align=right><b>Morten</b></td><td></td>";
echo "<td align=right><b>I alt</b></td><td></td>";
echo "<td align=right><b>Mangler</b></td></tr>";

echo "<tr><td></td>";
echo "<td>Solgt</td><td>Budget</td>";
echo "<td>Solgt</td><td>Budget</td>";
echo "<td>Solgt</td><td>Budget</td>";
echo "<td>Solgt</td><td>Budget</td></tr>";


while($test=mysql_fetch_array($resultat))
{
    echo "<tr width=100%>";
    ?>
    <form method="post" action="opdater_skema.php">
    <?



    echo "<td bgcolor=#CCCCCC>".$test['navn']. "</td>";

    echo "<td><input type=text name=\"values[" . $test['navn'] . "][solgt_lars]\" value=".$test['solgt_lars']. "></td>";
    echo "<td><input type=text name=\"values[" . $test['navn'] . "][budget_lars]\" value=".$test['budget_lars']. "></td>";
    echo "<td><input type=text name=\"values[" . $test['navn'] . "][solgt_claus]\" value=".$test['solgt_claus']. "></td>";
    echo "<td><input type=text name=\"values[" . $test['navn'] . "][budget_claus]\" value=".$test['budget_claus']. "></td>";
    echo "<td><input type=text name=\"values[" . $test['navn'] . "][solgt_morten]\" value=".$test['solgt_morten']. "></td>";
    echo "<td><input type=text name=\"values[" . $test['navn'] . "][budget_morten]\" value=".$test['budget_morten']. "></td>";

    $samlet = $test['budget_lars']+$test['budget_claus']+$test['budget_morten'];
    $samlet2 = $test['solgt_lars']+$test['solgt_claus']+$test['solgt_morten'];

    echo "<td bgcolor=#CCCCCC>".$samlet2. "</td>";
    echo "<td bgcolor=#CCCCCC>".$samlet. "</td>";

    $mangler = $samlet-$samlet2;

    echo "<td align=right>".$mangler. "</td></tr>";

}
?>
<tr align=center><input type="Submit" name="submit" value="Ret Data"></tr>
<?
}
echo "</table>";

?>
</html>


------------------
opdater_skema.php
------------------
<html>

<?

require ('logon.php');

$q2 = "UPDATE vidcom set solgt_lars = " . $HTTP_POST_VARS["values"]["navn"]["solgt_lars"] . "";
mysql_query($q2);

?>
Denne er nu opdateret..

<a href="index.php">gå tilbage</a>

</html>



--------------------------------------------------
Håber der er nogen som kan hjælpe med evt. færdig kode til opdater_skema.php
Avatar billede michael_stim Ekspert
04. maj 2007 - 14:51 #1
<?
if(isset($_POST['submit'])){
require ('logon.php');

$q2 = "UPDATE vidcom set solgt_lars = '" . $_POST["values"]["navn"]["solgt_lars"] ."' WHERE id=".enVariabel."";
mysql_query($q2);
}
?>
Avatar billede michael_stim Ekspert
04. maj 2007 - 14:52 #2
Ikke testet eller noget ;o)
Avatar billede sjakaldk Nybegynder
04. maj 2007 - 14:56 #3
Den virker ikke..
Avatar billede michael_stim Ekspert
04. maj 2007 - 14:58 #4
jaha???
Avatar billede michael_stim Ekspert
04. maj 2007 - 15:00 #5
mysql_query($q2)or die(mysql_error());
Avatar billede sjakaldk Nybegynder
04. maj 2007 - 15:25 #6
Unknown column 'enVariabel' in 'where clause'
Avatar billede michael_stim Ekspert
04. maj 2007 - 15:31 #7
Det er jo noget du selv skal sätte ind...
Basen skal jo vide hvad den skal opdatere. Ved den ikke det opdaterer den alle räkker.
Avatar billede sjakaldk Nybegynder
04. maj 2007 - 15:33 #8
Det kan jeg godt følge dig i.. Kan bare ikke gennemskue hvad den skal hedde. Den kan jo både blive sat til id feltet og navnefeltet, men det er bare lige hvordan..
Avatar billede michael_stim Ekspert
04. maj 2007 - 15:37 #9
Når du henter din data ud (den side hvor du trykker på knappen for at opdatere), kan du smide dit id i et hiddenfelt.
Avatar billede sjakaldk Nybegynder
04. maj 2007 - 15:41 #10
Men så skal den jo have mange hidden id numre da hver linje har hver sit id nummer.

Sådan ser databasen ud

    Feltnavn Datatype Attributter Nulværdi Standardværdi Ekstra Handling
  id int(11)  Nej  auto_increment             
  navn text  Nej               
  budget_lars int(11)  Nej 0               
  budget_morten int(11)  Nej 0               
  budget_claus int(11)  Nej 0               
  budget_ialt int(11)  Nej 0               
  solgt_lars int(11)  Nej 0               
  solgt_morten int(11)  Nej 0               
  solgt_claus int(11)  Nej 0               
  solgt_ialt int(11)  Nej 0               
  mangler_lars int(11)  Nej 0               
  mangler_claus int(11)  Nej 0               
  mangler_morten int(11)  Nej 0               
  mangler_ialt int(11)  Nej 0               


hvis det kan hjælpe.. Jeg leder efter hvad der skal stå i koden før det virker.. Det er jo meningen man skal kunne rette flere tal af gangen.
Avatar billede sjakaldk Nybegynder
04. maj 2007 - 15:45 #11
Jeg har bare taget udgangspunkt i rækken Lars -> Solgt. Når først den kan opdateres skal koden jo bare modificeres lidt.. :)
Avatar billede michael_stim Ekspert
04. maj 2007 - 15:45 #12
Du bliver nöd til at have noget unikt at identifiere med. Og de mange linier bliver vel genereret i en lökke?
Avatar billede sjakaldk Nybegynder
04. maj 2007 - 15:52 #13
Ja, men hvordan ville koden se ud og kunne man bruge id feltet som er unikt?
Avatar billede sjakaldk Nybegynder
04. maj 2007 - 16:14 #14
Kan du indsætte det du snakker om i koden så vil jeg kalde det for et accepteret svar. :) Jeg vil bare gerne have dette til at virke. :)
Avatar billede sjakaldk Nybegynder
04. maj 2007 - 16:15 #15
Og hvis det viser sig at virke efter planen sætter jeg den op til 90 point..
Avatar billede michael_stim Ekspert
04. maj 2007 - 16:21 #16
Du kan ikke opbygge dine tabeller sådan der. Der er jo ingen dynamik i det.

Tabel Person:

id
fornavn
efternavn
osv
osv

Tabel Budget:

id
personid
budget
solgt
osv
osv

Eller hvis du er 100% på at de kun har en post hver:
id
fornavn
efternavn
budget
solgt
osv
osv
Avatar billede michael_stim Ekspert
04. maj 2007 - 16:22 #17
Pointene er jeg ligeglad med. Samler ikke på dem.
Men nu er det weekend for mig. Har ikke tid til at kigge på det idag.
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
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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