Avatar billede lordwizzy Nybegynder
25. august 2003 - 21:17 Der er 5 kommentarer

Opdatering af flere rows på én gang?

Hej

Mit script driller lidt, og mine FOR sætninger er temmeligt skumle, nogen der har mod på at hjælpe en newbie?
Jeg ønsker at opdatere alle rækkerne med en værdi jeg skriver på en formular.
Scriptet det drejer sig om er det her:
http://www.pastebin.com/14725

Det kan ses i 'aktion' her:
http://www.team-hedegaarden.dk/priser.php

På forhånd tak...
Avatar billede jakoba Nybegynder
25. august 2003 - 21:43 #1
til opdatering i en database benytter du en UPDATE kommando. Den kan have en WHERE linie præcis ligesom SELECT kommandoen. WHERE bestemme så hvilke rækker i databasen der bliver opdateret.

mvh JakobA
Avatar billede lordwizzy Nybegynder
25. august 2003 - 21:46 #2
Hej, jeg tror jeg har kludder i begreberne, jeg har kun én række, men 7 felter såvidt jeg kan se nu...
Avatar billede detox Nybegynder
25. august 2003 - 22:09 #3
Hvad laver den her konstruktion?:

for ($sba = 0; $sba < $antal; $sba++);
for ($lba = 0; $lba < $antal; $lba++);
for ($sbp = 0; $sbp < $antal; $sbp++);
for ($lbp = 0; $lbp < $antal; $lbp++);
for ($dp = 0; $dp < $antal; $dp++);
for ($sp = 0; $sp < $antal; $sp++);
for ($rp = 0; $rp < $antal; $rp++);
Avatar billede jakoba Nybegynder
25. august 2003 - 22:15 #4
de 7 linien gør ingenting som helst udover at bruge noget servertid.

Eller jo: variablene $sba, $lba, $sbp, ... ender med at have samme værdi som variabelen $antal.

Fet ligner noget ret gyllet kode.
Avatar billede lordwizzy Nybegynder
25. august 2003 - 22:35 #5
Jeg fik det til at virke:
<!-- Minus AutoDato -->
<center><h1>Priser</h1><BR><BR><BR><BR></center>
<? require("mysql_connect.php"); ?>
<? $foresp = mysql_query("SELECT id, stor_boks_antal, lille_boks_antal, stor_boks_pris, lille_boks_pris, dressur_pris, spring_pris, rideskole_pris FROM priser ORDER BY id")
    or die("Forkert forespørgsel: " . mysql_error());



{
$data = mysql_fetch_row($foresp);

echo "
    <FORM METHOD=POST ACTION=priser.php>
    <INPUT TYPE=hidden NAME=write VALUE=1>
    <center><table width=700><tr><td><center><h2>Opdatér priser</h2></center></tr></td></table>
      <table width=700>
      <tr>
                <td>Antal store bokse</td>
        <td>Antal små bokse</td>
        <td>Pris stor boks</td>
        <td>Pris lille boks</td>
        <td>Dressur pris</td>
        <td>Spring pris</td>
                <td>Rideskole pris</td>
      <tr>";
echo "<td><INPUT type=text NAME=sba size=4 value=$data[1]></td>
      <td><INPUT type=text NAME=lba size=4 value=$data[2]></td>
      <td><INPUT type=text NAME=sbp size=4 value=$data[3]></td>
      <td><INPUT type=text NAME=lbp size=4 value=$data[4]></td>
      <td><INPUT type=text NAME=dp size=4 value=$data[5]></td>
<td><INPUT type=text NAME=sp size=4 value=$data[6]></td>
<td><INPUT type=text NAME=rp size=4 value=$data[7]></td>
<tr>";
if ($write)
$data = array();
{
  $data['stor_boks_antal'] = $_POST['sba'];
    $data['lille_boks_antal'] = $_POST['lba'];
    $data['stor_boks_pris'] = $_POST['sbp'];
    $data['lille_boks_pris'] = $_POST['lbp'];
    $data['dressur_pris'] = $_POST['dp'];
    $data['spring_pris'] = $_POST['sp'];
    $data['rideskole_pris'] = $_POST['rp'];



$sql = "UPDATE priser SET stor_boks_antal = '$data[stor_boks_antal]', lille_boks_antal = '$data[lille_boks_antal]', stor_boks_pris = '$data[stor_boks_pris]', lille_boks_pris= '$data[lille_boks_pris]', dressur_pris = '$data[dressur_pris]', spring_pris = '$data[spring_pris]', rideskole_pris= '$data[rideskole_pris]' WHERE id = '1'";
$res = mysql_query($sql) or die(mysql_error());
echo $sql . '<br>';
echo mysql_affected_rows();
}
}
echo "
    <tr>
      <td>
      <INPUT TYPE=submit VALUE=\"Opdater point\">
      </tr>
    </td>
    </table><br><br>"; ?>
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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