Avatar billede basketball Nybegynder
01. oktober 2004 - 23:04 Der er 17 kommentarer og
1 løsning

Slet og kopi af tabeller

Hej allesammen,

Har kigge lidt rundt her på eksperten, og har fundet spørgsmål der ligner, men ikke helt tæt nok, da jeg er newbie :) Det jeg tænkte på var, om det er muligt at når man trækker en portion data ud af mysql så kan man trykke på en knap eller lignende i bunden og så sletter den det udhevende data i pågælden tabel, men ligger over i en anden tabel ?? (det er i samme db)
Avatar billede googolplex Novice
01. oktober 2004 - 23:05 #1
Hvad er det præcis du skal bruge det til ?
Avatar billede mollevp Nybegynder
01. oktober 2004 - 23:11 #2
// Hent data fra tabel1
$result = mysql_query("SELECT * FROM tabel1 WHERE id = '$id'") or die(mysql_error());

while($row = mysql_fetch_array($result)) {

// Gem data i variabler

}

// Slet fra tabel1
mysql_query("delete from tabel1 where id='$id'") or die(mysql_error());


// Indsæt data i tabel2

mysql_query("INSERT INTO tabel2 (variabelnavn i tabel)" . "VALUES ('$variabel')") or die(mysql_error());


Noget ligende det måske?
Avatar billede basketball Nybegynder
01. oktober 2004 - 23:29 #3
ser godt ud, men er total newbie.. Så er det muligt du kan fortælle mig hvor det skal indsættes.. Jeg benytter følgende output

<?php
mysql_connect("localhost", "XXXXX", "XXXXX")or die(mysql_error());
mysql_select_db("XXXXX")or die(mysql_error());

$sql = mysql_query("SELECT handel FROM fips")or die(mysql_error());

while ($row = mysql_fetch_array($sql)) {
?>
<HTML>

<TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<TR><TD COLSPAN="2">test:</TD></TR>
<TR><TD WIDTH="110px">Handel:</TD><TD CLASS="TableStyle1Cell"><?php echo $row["handel"]; ?></TD></TR>

</HTML>
<?php
}
?>

googolplex>> Vil benytte det som en simple måde til at se hvilken data fra DBen jeg har kigget igennem.. altså tømme ud efter tingene bliver kigget igennem, men stadigvæk beholde en backup i en anden tabel :)
Avatar billede sthen Nybegynder
01. oktober 2004 - 23:39 #4
Så må det da i bund og grund være nemmere at have et ekstra felt der f.eks. hedder "laest" som pr. default er "0", og som du så f.eks. ænderer til "1" når det er læst.
Her kan du så bruge funktionen UPDATE
Avatar billede basketball Nybegynder
01. oktober 2004 - 23:44 #5
jo men vil meget gerne have det ud af tabellen :)
Avatar billede mollevp Nybegynder
01. oktober 2004 - 23:45 #6
Lave en knap hvor du sender id på den række du vil slette:

fx.

<form action="<?php echo"$PHP_SELF"; ?>" method="POST">
<input class=button type="submit" value="Slet" name="slet">
<input type="hidden" value="<?php echo"$id"; ?>" name="id">
</form>

Så kan du jo bare tjekke køre scriptet hvis det trykkes på knappen

fx.

<?php

if(isset($_POST['slet']) && isset($_POST['id']))
{
$result = mysql_query("SELECT * FROM tabel1 WHERE id = '$id'") or die(mysql_error());

while($row = mysql_fetch_array($result)) {

// Gem data i variabler

}

// Slet fra tabel1
mysql_query("delete from tabel1 where id='$id'") or die(mysql_error());


// Indsæt data i tabel2

mysql_query("INSERT INTO tabel2 (variabelnavn i tabel)" . "VALUES ('$variabel')") or die(mysql_error());


echo"Udført";
}
?>

// Resten af kode


Et forslag..
Avatar billede basketball Nybegynder
02. oktober 2004 - 00:25 #7
nu spørg jeg måske lidt dumt, men er det meningen jeg skal definere noget her
{

// Gem data i variabler

}
Er som sagt rimelig ny i det her.. Vil gerne sætte flere point af hvis det kræves..
Avatar billede mollevp Nybegynder
02. oktober 2004 - 01:13 #8
Ja du skal gemme de variabler du vil have over i tabel2
Avatar billede basketball Nybegynder
02. oktober 2004 - 09:51 #9
Bare for at være ekstra dum :) i forhold til mit indlæg med kode, kan jeg så skrive

{

$variabel1 = "<?php echo $row["handel"]; ?>";

}

takker mange gnage for hjælp indtil videre :)
Avatar billede mollevp Nybegynder
02. oktober 2004 - 12:09 #10
{

$varHandel = $row["handel"];

}

// Indsæt data
mysql_query("INSERT INTO tabel2 (handel)" . "VALUES ('$varHandel')") or die(mysql_error());

// Slet data


mysql_query("delete from tabel1 where id='$id'") or die(mysql_error());


Noget ligende det
Avatar billede mollevp Nybegynder
02. oktober 2004 - 12:10 #11
Hov byttede lige om på 2 udtryk, men det burde ikke betyde noget
Avatar billede basketball Nybegynder
02. oktober 2004 - 23:50 #12
nu har jeg lavet en hel del med det :) og indtil videre opretter den en ny række i tabel2 men den overflytter ikke nogen data ej heller slette i tabel1..
Avatar billede basketball Nybegynder
03. oktober 2004 - 00:53 #13
WEE, nu lykkeder det :) ligger du et svar..

P.s. skal nu har jeg omkring 50 kolonner, skal man så sidde og definere hver enkelt?? der findes ikke en kommando der automatisk tager alle kolonner?
Avatar billede basketball Nybegynder
03. oktober 2004 - 19:13 #14
lukker
Avatar billede basketball Nybegynder
03. oktober 2004 - 19:13 #15
Haxholm ligger du et svar
Avatar billede mollevp Nybegynder
03. oktober 2004 - 20:36 #16
svar
Avatar billede mollevp Nybegynder
03. oktober 2004 - 20:39 #17
er ikke sikker på at jeg helt er med på hvad du mener.. men hvis du gerne vil hente indholdet af de 50 kolonner er

extract($row);

måske noget du kan bruge...
Avatar billede basketball Nybegynder
03. oktober 2004 - 20:58 #18
takker :)

Så skriver jeg blot extract($row); istedetfor $varHandel = $row["handel"]; og det resten det samme? :)
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