Gå til innhold
🎄🎅❄️God Jul og Godt Nyttår fra alle oss i Diskusjon.no ×

[LØST]Slette inhold av table FØR opplasting av ny?


Anbefalte innlegg

Hei! Jeg holder på med ett lite cms, men er relativt ny. Jeg har fått til og laste opp meldingen jeg vil laste opp, men hvis jeg gjør det flere ganger på rad blir jo alle meldingene lagret etter hverandre, som ett stort rot. Derfor for hver gang jeg laster opp en melding (til mysql database) vil jeg slette den forige som er i mysqldatabasen.

 

Her er scriptet

PHP
<form id="form1" name="form1" method="post" action="">

<label>message:

<input name="message" type="text" id="message" size="150" />

</label>

<p>

<label>

<input type="submit" name="submit" id="submit" value="Submit" />

</label>

<input type="reset" name="reset" id="reset" value="Reset" />

</p>

</form>

<? 

 

if($_POST['submit']) //If submit is hit

{

 

include ("../config/config.php");

include ("../config/dbopen.php");

 

include ("../config/dbselect.php");

 

 

 $message $_POST['message'];

 

 

 $result=MYSQL_QUERY("INSERT INTO copyright (message)".

"VALUES ('$message')"); 

 

 

 echo "Melding endret!"

 include ("../config/dbclose.php");

}

?>

 

Altså, jeg vil ikke laste opp en i tillegg til den gamle, jeg vil endre den gamle!

Endret av Tt.mrX
Lenke til kommentar
Videoannonse
Annonse

Du kan gjøre det på flere måter

 

#1

Slett hele tabellen, gjør en insert

PHP
<?php

mysql_query("TRUNCATE copyright");

mysql_query("INSERT INTO copyright (message) VALUES ('".$message."'));

?>

Forutsetter at det kun er en rad i tabellen

 

#2

Slett raden, gjør en insert

PHP
<?php

mysql_query("DELETE FROM copyright WHERE id=1");

mysql_query("INSERT INTO copyright (id,message) VALUES (1,'".$message."'));

?>

Hvis det kun er en rad i tabellen så trenger du ikke WHERE (og da blir det i praksis det samme som med TRUNCATE). Hvis det er flere rader så bytt ut id=1 med det som unikt identifiserer raden og rett opp feltene og verdien i INSERT'en

 

#3

Sjekk om tabellen/raden inneholder data, gjør en update eller insert

PHP
<?php

$r=mysql_fetch_row(mysql_query("SELECT count(*) FROM copyright WHERE id=1"));

if ($r[0]==0)

mysql_query("INSERT INTO copyright (id,message) VALUES (1,'".$message."')");

else

mysql_query("UPDATE copyright SET message = '".$message."' WHERE id=1");

?>

Hvis det kun er en rad i tabellen så trenger du ikke WHERE. Hvis det er flere rader så bytt ut id=1 med det som unikt identifiserer raden

 

Edit: Ser at problemet med flere php tags i en post ikke fungere ved editering, php tag nr 2 -> blir lik den første. :mad:

Endret av crowly
Lenke til kommentar
Edit: Ser at problemet med flere php tags i en post ikke fungere ved editering, php tag nr 2 -> blir lik den første.  :mad:

8943331[/snapback]

OT: mhm, la merke til dette jeg og, og laget en tilbakemelding på det. Skriv gjerne under denne, ettersom det er indikasjon over at det ikke bare er jeg som har dette problemet lokalt hos meg. Her er en link til den posten: https://www.diskusjon.no/index.php?showtopic=787777
Lenke til kommentar
Er det virkelig nødvendig å ha en tabell bare til copyright-teksten?

8944149[/snapback]

 

Nei, men jeg liker å ha muligheten til å endre.

8944448[/snapback]

Da burde du kanskje ha en tabell til alle sånne tekster, f.eks navn, beskrivelse etc.

Endret av itsmebth
Lenke til kommentar
Er det virkelig nødvendig å ha en tabell bare til copyright-teksten?

8944149[/snapback]

 

Nei, men jeg liker å ha muligheten til å endre.

8944448[/snapback]

Da burde du kanskje ha en tabell til alle sånne tekster, f.eks navn, beskrivelse etc.

8945029[/snapback]

 

Det er planen ja, det er noen veldig ikke-datakyndige personer som skal ha dette skjønner du!

Lenke til kommentar

Okey. Bruker

PHP
mysql_query("TRUNCATE copyright");

mysql_query("INSERT INTO copyright (message) VALUES ('".$message."')");

til å gjøre det jeg trenger, og det fungerer helt perfekt. Takk til alle som har hjulpet meg!
Lenke til kommentar

Klikk for å se/fjerne innholdet nedenfor
Er det virkelig nødvendig å ha en tabell bare til copyright-teksten?

8944149[/snapback]

 

Nei, men jeg liker å ha muligheten til å endre.

8944448[/snapback]

Da burde du kanskje ha en tabell til alle sånne tekster, f.eks navn, beskrivelse etc.

8945029[/snapback]

 

Det er planen ja, det er noen veldig ikke-datakyndige personer som skal ha dette skjønner du!

8945102[/snapback]

 

Dette er da ikke noe problem, løsning nr 2 tar hånd om dette. Hvordan du presenterer det for brukerene er hva som avgjør hvor lett/brukervennlig det er, ikke koden bak.

 

Så du kan fint legge slike ting i en felles tabell, og så skille det med en unik id. Da er det bare å gjøre en "SELECT tekst FROM felles_tabell WHERE id=" for å plukke ut det du trenger der du trenger det, bare å endre id= til den raden du trenger teksten i fra. Når du skal oppdatere/legg til ny informasjon så er det bare å ett parameter i skjemaet (forskjellig action eller ett hidden felt) som da styrer hvilken php kode som skal benyttes for å oppdatere riktig rad/felt i tabellen. Som sagt, dette er ting bruker alldri har behov for å se. Du trenger ikke å vite hvordan en motor i en bil fungerer for å kunne kjøre den ;)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...