Avatar billede linuxn00b Nybegynder
20. januar 2003 - 22:04 Der er 20 kommentarer og
1 løsning

Gemme i mysql

Jeg har følgende kode, det er en liste over nogle valgmuligheder, den henter dem fra en tabel i MySQL, når man har valgt en skal den gemme det i et felt i en anden tabel i MySQL, er der nogen der kan hjælpe mig med det?

<?
require_once("db.php");
echo '<form action="vaelg.php?action=vaelg" method="post" name="frmMenu">';
echo '&nbsp;<select style="background:#B9E1FD" name="menu" onchange="document.frmMenu.submit();">';
echo '<option>Vælg type her';
$res = mysql_query("SELECT * FROM typer ORDER BY type");
while ($row = mysql_fetch_array($res)) {
echo "<option value=\"".$row['type']."\">". $row['type'] ."";
}
echo "</select>";
echo "</form>";
?>
Avatar billede avminarm Juniormester
20. januar 2003 - 22:15 #1
mysql_query("INSERT INTO tabelnavn (type) VALUES ('$_POST[frmMenu]')");
Avatar billede Slettet bruger
20. januar 2003 - 23:10 #2
filen vaelg.php
<?php
require_once("db.php");
if($_GET["action"]=="vaelg")
{
  //Eventuelt noget validering af de sendte variabler!
  $sql = "INSERT INTO tablename (rowname) values ('".$_POST["menu"]."')";
  mysql_query($sql);
}
?>
Avatar billede Slettet bruger
20. januar 2003 - 23:12 #3
Besides:
Du skal huske at lukke dine options!
Sådan her:
echo "<option value=\"en værdi!\">teksten</option>\n";

Er retter her!
<?php
require_once("db.php");
echo '<form action="vaelg.php?action=vaelg" method="post" name="frmMenu">\n';
echo '&nbsp;<select style="background:#B9E1FD" name="menu" onchange="document.frmMenu.submit();">\n';
echo '<option>Vælg type her</option>\n';
$res = mysql_query("SELECT * FROM typer ORDER BY type");
while ($row = mysql_fetch_array($res)) {
echo "<option value=\"".$row['type']."\">". $row['type'] ."</option>\n";
}
echo "</select>\n";
echo "</form>";
?>
Avatar billede linuxn00b Nybegynder
21. januar 2003 - 19:37 #4
Den gemmer stadigvæk ikke :(
Avatar billede Slettet bruger
21. januar 2003 - 19:59 #5
Giv lige et dump af den tabel du skal gemme dataen i!
Avatar billede linuxn00b Nybegynder
21. januar 2003 - 20:14 #6
det er sættes ind i feltet "text"

#
# Struktur dump for tabellen `brugersystem`
#

DROP TABLE IF EXISTS brugersystem;
CREATE TABLE brugersystem (
  id int(255) NOT NULL auto_increment,
  brugernavn varchar(20) NOT NULL default '',
  kodeord varchar(20) NOT NULL default '',
  online varchar(50) NOT NULL default '',
  oprettet varchar(50) NOT NULL default '',
  sidst varchar(50) NOT NULL default '',
  status int(2) NOT NULL default '0',
  tid int(10) NOT NULL default '0',
  ip varchar(50) NOT NULL default '',
  speci char(3) NOT NULL default 'nej',
  aktiv char(3) NOT NULL default 'ja',
  text varchar(50) NOT NULL default '10',
  UNIQUE KEY id (id)
) TYPE=MyISAM;
Avatar billede Slettet bruger
21. januar 2003 - 21:32 #7
filen vaelg.php
<?php
require_once("db.php");//Går udfra, at der connectes til databasen!?
if($_GET["action"]=="vaelg")
{
  //Eventuelt noget validering af de sendte variabler!
  $sql = "INSERT INTO brugersystem (text) values ('".$_POST["menu"]."')";
  mysql_query($sql);
}
?>
Avatar billede Slettet bruger
21. januar 2003 - 21:33 #8
Hvis det ikke virker så skriv:

  echo $sql;

i bunden og fortæl mig, hvad der bliver udskrevet!?
Avatar billede linuxn00b Nybegynder
21. januar 2003 - 21:37 #9
<?php
require_once("db.php");//Går udfra, at der connectes til databasen!?
if($_GET["action"]=="vaelg")
{
  //Eventuelt noget validering af de sendte variabler!
  $sql = "INSERT INTO brugersystem (text) values ('".$_POST["menu"]."') WHERE '$data[id]'";
  mysql_query($sql);
}
?>

hvis det skal være ved den rigtige bruger ik?
Avatar billede linuxn00b Nybegynder
21. januar 2003 - 21:39 #10
<?php
require_once("db.php");//Går udfra, at der connectes til databasen!?
if($_GET["action"]=="vaelg")
{
  //Eventuelt noget validering af de sendte variabler!
  $sql = "INSERT INTO brugersystem (text) values ('".$_POST["menu"]."') WHERE userid = '$data[id]'";
  mysql_query($sql);
}
?>

mente jeg
Avatar billede Slettet bruger
21. januar 2003 - 21:39 #11
$sql = "UPDATE brugersystem set text = '".$_POST["menu"]."' where id='".$brugerid."'";

$brugerid svarer selvfølge lig til den rigtige bruger!?
Avatar billede linuxn00b Nybegynder
21. januar 2003 - 21:40 #12
jeg har <? include("db.php"); ?> længere oppe i filen ;)
Avatar billede Slettet bruger
21. januar 2003 - 21:40 #13
$brugerid = $date[id]; //!?!?!
Avatar billede linuxn00b Nybegynder
21. januar 2003 - 21:51 #14
når jeg skriver:

echo $sql;

skriver den:

INSERT INTO brugersystem (text) values ('15') WHERE userid = '1'
Avatar billede linuxn00b Nybegynder
21. januar 2003 - 21:52 #15
ja
Avatar billede Slettet bruger
21. januar 2003 - 21:53 #16
Ja, men brug nedenstående!
$sql = "UPDATE brugersystem set text = '".$_POST["menu"]."' where id='".$brugerid."'";

"insert" - er kun til at oprette nye rækker! "update" er til at skrive i rækker som er oprettede!
Avatar billede linuxn00b Nybegynder
21. januar 2003 - 22:04 #17
ok tak det virker nu....

echo '<option>Vælg type her</option>';
skal vel så sådan her ud hvis den skal vise det valgte ik?
echo "<option>$data[text]</option>";
Avatar billede linuxn00b Nybegynder
21. januar 2003 - 22:05 #18
regin opret lige et svar :)
Avatar billede Slettet bruger
21. januar 2003 - 22:07 #19
sure! :P
Avatar billede Slettet bruger
21. januar 2003 - 22:10 #20
linux på den måde risikerer du at vise $data[text] dobbelt!

Kør din løkke på denne måde:

while ($row = mysql_fetch_array($res))
{
  $selected = "";
  if($row['type']==$date[text])
  {
      $selected = " SELECTED";
  }
  echo "<option value=\"".$row['type']."\"$selected>". $row['type'] ."";
}
Avatar billede Slettet bruger
21. januar 2003 - 22:12 #21
Smid dette ovenover løkken!
if($data[text]=="")
{
  echo "<option>Vælg type her</option>\n";
}
//Her køres resten af løkken!
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