Avatar billede grauholm Nybegynder
22. maj 2003 - 08:02 Der er 8 kommentarer og
1 løsning

Opdateringaf flere rækker på 1 gang

Dette sprøgsmål har jeg fået besvaret 1 gang, men jeg står stadig tilbage med lidt af problemet:

Min idé er at lave en tabel hvor jeg kan plotte 3 forskellige tal ind for hver sælger . Sælgerne henter jeg fra en den tabel der skal opdateres.

Her er er det svar jeg har fået (og bruger):

eksempel:

html-fil med formen:
<form action="./salgupdate.php" method="GET">
Opdatering af salgstal:<br />
Sælger 1<input type="text" name="sælger[0]"><br />
Sælger 2<input type="text" name="sælger[1]"><br />
Sælger 3<input type="text" name="sælger[2]"><br />
Sælger 4<input type="text" name="sælger[3]"><br />
Sælger 5<input type="text" name="sælger[4]"><br />
Sælger 6<input type="text" name="sælger[5]"><br />
Sælger 7<input type="text" name="sælger[6]"><br />
<input type="submit" name="send" Value="Send">
</form>
// salgupdate.php:

<?
// forbind til din database her //
$tabel = "navnet på din tabel";
if($_GET['send'] == "Send") {
foreach($_GET['sælger'] as $key => $value) {
$qry_update = "UPDATE $tabel SET salgstal=$value WHERE saelgerID=$key";
mysql_query($qry_update) or die(ERROR());
echo "Salgstal er opdteret for sælger nr. " . $key;
}
}
?>

Med den opdatere kun 1 tal for hver sælger, og den skal kunne opdatere 3 og nu har jeg kæmpet og kæmpet - men kan ikke finde løsningen.
Avatar billede schaefner Juniormester
22. maj 2003 - 08:05 #1
Prøv med:

<form action="./salgupdate.php" method="post">
Opdatering af salgstal:<br />
Sælger 1<input type="text" name="sælger[]"><br />
Sælger 2<input type="text" name="sælger[]"><br />
Sælger 3<input type="text" name="sælger[]"><br />
Sælger 4<input type="text" name="sælger[]"><br />
Sælger 5<input type="text" name="sælger[]"><br />
Sælger 6<input type="text" name="sælger[]"><br />
Sælger 7<input type="text" name="sælger[]"><br />
<input type="submit" name="send" Value="Send">
</form>

<?
// forbind til din database her //
$tabel = "navnet på din tabel";
if($_GET['send'] == "Send") {
  foreach($_POST['sælger'] AS $key => $value) {
    mysql_query("UPDATE $tabel SET salgstal=$value WHERE saelgerID=$key") or die(mysql_error());
    echo "Salgstal er opdateret for sælger nr. $key<br>";
  }
}
?>
Avatar billede schaefner Juniormester
22. maj 2003 - 08:06 #2
if($_GET['send'] == "Send") {
skal så lige være:
if($_POST['send'] == "Send") {
Avatar billede schaefner Juniormester
22. maj 2003 - 08:09 #3
Bare lige for at være helt sikker. det du ønsker er at opdatere flere rækker på en gang, ikke?
Avatar billede grauholm Nybegynder
22. maj 2003 - 08:11 #4
Ja, men jeg troi ikke i helt har forstået mit problem, jeg skal bruge 3 tal for hver sælger ala:
Sælger 1<input type="text" name="tal[1]" /> <input type="text" name="tal2[1]"><br /><input type="text" name="tal3[1]"><br />
etc.
Avatar billede feldt Nybegynder
22. maj 2003 - 08:13 #5
Jeg ved ikke helt om det kan lade sig gøre. Jeg kan ikke efterprøve det, for min Apache er lige nede. Er det ikke noget med, at du skal lave et dobbelt array?
Sælger 1<input type="text" name="sælger[0][0]"> <input type="text" name="sælger[0][1]"> <input type="text" name="sælger[0][2]"><br />

Og så skal du have tilpasset din indlæsnings-rutine, så den kan håndtere et dobbelt array.
Måske noget med

$qry_update = "UPDATE $tabel SET salgstal1=$value[0] salgstal2=$value[1] salgstal3=$value[2] WHERE saelgerID=$key";

Jeg ved ikke om det virker, eller om jeg har misforstået opgaven, men det er da et bud.

/feldt
Avatar billede grauholm Nybegynder
22. maj 2003 - 08:15 #6
Jeg har heller ikke mulighed for at tjekke det før i aften
Avatar billede sostack Nybegynder
22. maj 2003 - 10:31 #7
Dette virker:
Tabellen:
CREATE TABLE saelgere (
  id int(11) NOT NULL auto_increment,
  sælgernr tinyint(3) NOT NULL default '0',
  salg1 float NOT NULL default '0',
  salg2 float NOT NULL default '0',
  salg3 float NOT NULL default '0',
  PRIMARY KEY  (id)
) TYPE=MyISAM;

_______________________________________________________________________________________________
Her starter formen indtast.php:

<form action="./salgupdate.php" method="GET">
Opdatering af salgstal:<br />
<?php
$host = "localhost";
$base = "salgstal";
$tabel = "saelgere";
$bruger = "root";
$kode = "";
$cn = mysql_connect($host, $bruger, $kode) OR DIE(mysql_error());
mysql_select_db($base, $cn) OR DIE(mysql_error());
$saelgerequery = "SELECT * FROM " . $tabel;
// echo $squery;
$squery = mysql_query($saelgerequery);
$saelger = mysql_num_rows($squery);
// echo $saelger;
if($saelger)
{
while($saelgere = mysql_fetch_row($squery))
{
echo "Sælger " . $saelgere[1] . "<input type='text' name='saelger[" . $saelgere[1] . "][0]'><input type='text' name='saelger[" . $saelgere[1] . "][1]'><input type='text' name='saelger[" . $saelgere[1] . "][2]'><br />";
}
}
mysql_close($cn);
?>
<input type="submit" name="send" Value="Send">
</form>

_______________________________________________________________________________________________
Her starter salgupdate.php:

<?
// forbind til din database her //
$host = "localhost";
$base = "salgstal";
$tabel = "saelgere";
$bruger = "dit brugernavn";
$kode = "din adgangskode";
$cn = mysql_connect($host, $bruger, $kode) OR DIE(mysql_error());
mysql_select_db($base, $cn) OR DIE(mysql_error());
if($_GET['send'] == "Send") {
foreach($_GET['saelger'] as $key => $value) {
$qry_update = "UPDATE $tabel SET salg1=$value[0], salg2=$value[1], salg3=$value[2]  WHERE sælgernr=$key";
mysql_query($qry_update) or die(mysql_error());
echo "Salgstal er opdateret for sælger nr. " . $key;
}
}
?>

//sostack
Avatar billede sostack Nybegynder
22. maj 2003 - 10:35 #8
$bruger = "root";
$kode = "";
skal self. være:
$bruger = "dit brugernavn";
$kode = "din adgangskode";


//sostack
Avatar billede grauholm Nybegynder
23. maj 2003 - 08:06 #9
tak for hjælpen (endnu en gang) - det var et svar jeg kunne bruge
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