Avatar billede lordwizzy Nybegynder
20. august 2003 - 22:03 Der er 6 kommentarer

Opdatering af flere rækker på én gang

Hej

Jeg ønsker at opdatere flere felter i flere rækker på én gang.
Jeg har taget udgangspunkt i det script jeg har postet her:
http://www.pastebin.com/14127
Det er dog kun til opdatering af ét felt i flere rækker.
selve delen i det nye script som den er 'gal med' er den her:
http://www.pastebin.com/14128

For helhedens skyld kommer hele mit script her:

<!-- Minus AutoDato -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<head>
    <title>Hedelandsridtet 2003</title>
<meta name="Generator" content="Stone's WebWriter 4 BETA 5">
</head>
<link href="hej1.css" rel="stylesheet" type="text/css">
<body>
<html>

<h1><center>Hedelandsridtet 2003</h1></center></center>
<br><br>
<? require("mysql_connect.php"); ?>

<CENTER><table width=700><tr><td><center><h2>Opret ny rytter</h2></center></tr></td></table><table width=700>

<tr><td><FORM METHOD=POST ACTION=<? echo $PHP_SELF;?>></tr></td>
<tr><td><INPUT TYPE=hidden NAME=write1 VALUE=1></tr></td>
<tr><td>Rytter navn:        <INPUT TYPE="text" NAME="rytternavn" size="40"></tr></td>
<tr><td>Hest/Pony navn: <INPUT TYPE="text" NAME="ridedyr" size="40"></tr></td>
<tr><td>Klub: <INPUT TYPE="text" NAME="klub" size="40"></tr></td>
<tr><td>Nr: <INPUT TYPE="text" NAME="nr" size="40"></tr></td>
<tr><td>Vet. tid: <INPUT TYPE="text" NAME="vet" size="40"></tr></td>
<tr><td>Starttid: <INPUT TYPE="text" NAME="start" size="40"></tr></td>
<tr><td>Klasse: <select size="4" name="klasse">
    <option>Klasse 1</option>
    <option>Klasse 2</option>
    <option>Klasse 3</option>
    <option>Klasse 4</option>
    <option>Klasse 5</option>
</select></tr></td>

<tr><td>
<INPUT TYPE=submit VALUE="indsend"></tr></td>
</FORM></table>
<BR><BR>

<? if ($write1){
$message = str_replace("\n","<BR>",$message);
mysql_query("INSERT INTO hedelandsridtet_2003 (rytternavn, ridedyr, klub, nr, vet, start, klasse) VALUES ('$rytternavn','$ridedyr','$klub','$nr','$vet','$start','$klasse')");
$date_array = getdate();
echo"<table width=700>
<tr><td><center><h1>Rytter tilføjet med success!</h1></center><br><br>$rytternavn på $ridedyr fra $klub som er rytter nummer $nummer der starter $klasse med vet. tid klokken $vet og skal starte klokken $start er blevet tilføjet!<br><br></td></tr></table>";
}
?>
<?
$foresp = mysql_query("SELECT id, rytternavn, ridedyr, klub, nr, vet, start, klasse FROM hedelandsridtet_2003 ORDER BY rytternavn ASC");
echo "
    <FORM METHOD=POST ACTION=opret.php>
    <INPUT TYPE=hidden NAME=write VALUE=1>
    <center><table width=700><tr><td><center><h2>Opdatér info</h2></center></tr></td></table>
      <table width=700>
      <tr>
                <td>ID</td>
        <td>Rytternavn</td>
        <td>Hest/Pony navn</td>
        <td>Klub</td>
        <td>Nr</td>
        <td>Vet tid</td>
                <td>Starttid</td>
                <td>Klasse</td>
      <tr>";
list($antal)=mysql_fetch_row(mysql_query("SELECT count(id) as id FROM hedelandsridtet_2003"));
for ($tosse4 = 0; $tosse4 < $antal; $tosse4++)
{
$data = mysql_fetch_row($foresp);
echo "<td>$data[0]</td>
      <td><INPUT type=text NAME=$tosse1 size=20 value=$data[1]></td>
      <td><INPUT type=text NAME=$tosse2 size=10 value=$data[2]></td>
      <td><INPUT type=text NAME=$tosse3 size=4 value=$data[3]></td>
      <td><INPUT type=text NAME=$tosse4 size=2 value=$data[4]></td>
            <td><INPUT type=text NAME=$tosse5 size=5 value=$data[5]></td>
<td>
      <INPUT type=text NAME=$tosse6 size=5 value=$data[6]>
      </td>
<td>$data[7]</td>
<tr>";
if (strlen($_POST[$4]) > 0)
{
  $rytternavn = $_POST[$tosse1];
    $ridedyr = $_POST[$tosse2];
    $klub = $_POST[$tosse3];
    $nr = $_POST[$tosse4];
    $vet = $_POST[$tosse5];
    $start = $_POST[$tosse6];

  mysql_query("UPDATE hedelandsridtet_2003 SET rytternavn = '$rytternavn', SET ridedyr = '$ridedyr', SET klub ='$klub', SET nr = '$nr', SET vet = '$vet', SET start = '$start'  WHERE id = '$data[0]'") or die(mysql_error());
header("Location: opret.php");
}
}
echo "
    <tr>
      <td>
      <INPUT TYPE=submit VALUE=\"Opdater point\">
      </tr>
    </td>
    </table><br><br>";
?>
<CENTER><table width=700><td><h2><center>Slet rytter</center></h2></td>
<tr>
<tr><td><FORM METHOD=POST ACTION=<? echo $PHP_SELF;?>></tr></td>
<tr><td>Indtast ID: <INPUT TYPE="text" NAME="idnummer" size="40"></tr></td>
<tr><td><INPUT TYPE=submit VALUE=Slet></td>
<? if($idnummer)
{
mysql_query("DELETE FROM hedelandsridtet_2003 WHERE id = '$idnummer'") or die(mysql_error());
header("Location: opret.php");
} ?>
Avatar billede lordwizzy Nybegynder
20. august 2003 - 22:08 #1
Jeg har forresten rettet mine variabler $1 $2 osv... til $tosse1 $tosse2 osv... da jeg fik at vide at man ikke måtte bruge enkelte tal til variabler, har dog ikke fået den til at køre endnu :(
Avatar billede tipsen Nybegynder
20. august 2003 - 22:20 #2
Prøv:

mysql_query("UPDATE hedelandsridtet_2003 SET rytternavn = '$rytternavn',
ridedyr = '$ridedyr', klub ='$klub', nr = '$nr', vet =
'$vet', start = '$start' WHERE id = '$data[0]'") or die(mysql_error());

Dvs. uden flere SET-kommandoer.
Avatar billede lordwizzy Nybegynder
20. august 2003 - 22:57 #3
Er hermed gjort, det fungerer stadigt ikke, selvom det jo nok også ville vise sig som en fejl ;)

Jeg skal lige have fundet ud af hvordan man giver delvis point og så'n...
Avatar billede tipsen Nybegynder
20. august 2003 - 23:08 #4
får du en fejl eller?

Prøv evt:

mysql_query("UPDATE hedelandsridtet_2003 SET rytternavn = '$rytternavn',
ridedyr = '$ridedyr', klub ='$klub', nr = '$nr', vet =
'$vet', start = '$start' WHERE id = $data[0]") or die(mysql_error());
Avatar billede lordwizzy Nybegynder
20. august 2003 - 23:21 #5
Hej.. jeg får bare 'hvid skærm' når jeg forsøger at åbne siden:
http://www.team-rideklub.dk/staevner/2003/hedelandsridtet/opret.php

Det tyder på at der er noget galt, hvis jeg klipper den sektion ud jeg har beskrevet på
http://www.pastebin.com/14128
og gemmer filen og uploader igen, så virker det... dog uden den sektion... Så jeg går ud fra at det er der fejlen ligger
Avatar billede tipsen Nybegynder
20. august 2003 - 23:32 #6
Prøv at udkommenter linien med header("Location: opret.php");

og brug:

$sql = "UPDATE hedelandsridtet_2003 SET rytternavn = '$rytternavn',
ridedyr = '$ridedyr', klub ='$klub', nr = '$nr', vet =
'$vet', start = '$start' WHERE id = $data[0]";
$res = mysql_query($sql) or die(mysql_error());
echo $sql . '<br>';
echo mysql_affected_rows($res);

og fortæl output!
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