Avatar billede human Nybegynder
09. april 2003 - 17:11 Der er 25 kommentarer og
1 løsning

Update sætning

Hvordan skal den se ud hvis tabellen er tom?

mysql_query("UPDATE reg_forside SET teksten='$teksten' WHERE id=1")or die(mysql_error());


// Human
Avatar billede human Nybegynder
09. april 2003 - 17:12 #1
Det skal ¨måske lige siges at tabellen kun indeholder 1 felt, derned kun id 1.
Avatar billede mjl Nybegynder
09. april 2003 - 17:15 #2
mysql_query("UPDATE reg_forside SET teksten='$teksten' WHERE id=1 AND id != ''")or die(mysql_error());
Avatar billede mjl Nybegynder
09. april 2003 - 17:15 #3
!= 'tomt mellem disse'
Avatar billede mjl Nybegynder
09. april 2003 - 17:16 #4
Sorry
Avatar billede mjl Nybegynder
09. april 2003 - 17:16 #5
if ($teksten != '') {
mysql_query("UPDATE reg_forside SET teksten='$teksten' WHERE id=1")or die(mysql_error());
}
Avatar billede mjl Nybegynder
09. april 2003 - 17:17 #6
Hvis teksten ikke er lig med ingenting - skal den opdatere....!!!
Avatar billede schaefner Juniormester
09. april 2003 - 17:18 #7
Er lidt i tivl om hvad du ønsker.
mysql_query("INSERT INTO reg_forside (teksten) VALUES ('$teksten')");
Avatar billede schaefner Juniormester
09. april 2003 - 17:19 #8
Min indsætter en række i tabellen.
Avatar billede human Nybegynder
09. april 2003 - 17:27 #9
mjl: virker ikke.

Schaef: Ja... Men hvad så hvis jeg senere vil update den?`

Indsætter sådan:
mysql_query("UPDATE reg_profil SET teksten='$teksten' WHERE id=1")or die(mysql_error());

Min tabel:
create table reg_forside (
id        integer not null primary key auto_increment,
teksten        text null
);

Hvordan kringles den lige?
Avatar billede human Nybegynder
09. april 2003 - 17:28 #10
mjl:
if ($teksten != '') {
mysql_query("UPDATE reg_forside SET teksten='$teksten' WHERE id=1")or die(mysql_error());
}
Id 1 eksistere stadig ikke, og kommer heller ikke til det med den sætning.

Hvis id 1 ikke eksistere, skal det laves. Det er det jeg vil have.
Avatar billede mjl Nybegynder
09. april 2003 - 17:45 #11
if ($teksten != '') {
mysql_query("UPDATE reg_forside SET teksten = '$teksten', id = '1' WHERE id != '1'")or die(mysql_error());
}
Avatar billede mjl Nybegynder
09. april 2003 - 17:48 #12
Nu skal jeg lige forstå dig ret...

Du har en tabel, der skal "fyldes" med teksten og id...

Teksten skal kunne ændres, men id skal hele tiden være 1

...er dette korrekt?
Avatar billede mjl Nybegynder
09. april 2003 - 17:49 #13
...og id = 1 skal oprettes, hvis den ikke er der i forvejen?
Avatar billede human Nybegynder
09. april 2003 - 17:53 #14
Det er korrekt.
Burde dette så ikke virke?:

    case "Pupdate":
require("conn_inc.php");
if($_POST) {
if ($teksten != '') {
mysql_query("UPDATE reg_profil SET teksten = '$teksten', id = '1' WHERE id != '1'")or die(mysql_error());
}
}
    header("Location: edit.php");
exit;
Avatar billede mjl Nybegynder
09. april 2003 - 17:55 #15
Jo - men den kræver at $teksten er lig med noget - og auto_increment gi'r automatisk dit id-felt en værdi, startende med 1 derefter 2 i næste linie o.s.v.
Avatar billede mjl Nybegynder
09. april 2003 - 17:56 #16
Dit id-felt, skal nok være uden auto_increment
Avatar billede human Nybegynder
09. april 2003 - 17:56 #17
Så hvad er det du siger? Kan sagtens ændre i min tabel hvis det er dét problemet ligger.
Avatar billede mjl Nybegynder
09. april 2003 - 17:58 #18
Hvis dit if-felt er INT 1 uden auto_increment - bliver den default 0 og sættes til 1 når du kører ovennævnte - og vil derefter opdatere, i det felt, hvor id=1
Avatar billede human Nybegynder
09. april 2003 - 17:59 #19
Virker heller ikke uden auto_increment.
Der skal ikke være flere id'er en 1, hvis det er til nogen hjælp.
Avatar billede mjl Nybegynder
09. april 2003 - 18:01 #20
Så skal du lave et tjek i DB'en først, og sige INSERT hvis ikke id 1 eksisterer - og hvis den gør, skal den i stedet opdatere...
Avatar billede human Nybegynder
09. april 2003 - 18:03 #21
Okay.. lad os sige jeg har dette:
if($_POST) {
mysql_query("UPDATE reg_forside SET teksten='$teksten' WHERE id=1")or die(mysql_error());
}

Hvordan vil du så kringle det?

har smidt 15 point mere i.
Avatar billede mjl Nybegynder
09. april 2003 - 18:04 #22
2 sek.
Avatar billede mjl Nybegynder
09. april 2003 - 18:10 #23
Måske dette virker?

<?
include "conn_inc.php";
if ($teksten) {
$tjek = mysql_num_rows(mysql_query("SELECT * FROM reg_profil WHERE id = '1'"));
if ($tjek != '') {
mysql_query("INSERT INTO reg_forside (id, teksten) VALUES ('1','$teksten')");
}
elseif ($tjek == '1') {
mysql_query("UPDATE reg_forside SET teksten='$teksten' WHERE id=1")or die(mysql_error());
}
}
?>
Avatar billede mjl Nybegynder
09. april 2003 - 18:11 #24
Rettelse...

<?
include "conn_inc.php";
if ($teksten) {
$tjek = mysql_num_rows(mysql_query("SELECT * FROM reg_profil WHERE id = '1'"));
if ($tjek == '') {
mysql_query("INSERT INTO reg_forside (id, teksten) VALUES ('1','$teksten')");
}
elseif ($tjek == '1') {
mysql_query("UPDATE reg_forside SET teksten='$teksten' WHERE id=1")or die(mysql_error());
}
}
?>
Avatar billede human Nybegynder
09. april 2003 - 18:26 #25
Virker perfekt! :o)
Takker for indsatsen schaef

Takker der!
Avatar billede mjl Nybegynder
09. april 2003 - 18:52 #26
No Problem
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
Computerworld tilbyder specialiserede kurser i database-management

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