iNeo Skrevet 25. juni 2007 Del Skrevet 25. juni 2007 (endret) 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 25. juni 2007 av Tt.mrX Lenke til kommentar
Crowly Skrevet 25. juni 2007 Del Skrevet 25. juni 2007 (endret) Du kan gjøre det på flere måter #1 Slett hele tabellen, gjør en insert PHP <?phpmysql_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 <?phpmysql_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. Endret 25. juni 2007 av crowly Lenke til kommentar
Runar0 Skrevet 25. juni 2007 Del Skrevet 25. juni 2007 Det lettaste er vel å bruke UPDATE. PHP <?php mysql_query('UPDATE copyright SET message="'.$message); // Eventuelt mysql_query('UPDATE copyright SET message="'.$message.' WHERE id=1'); ?> Lenke til kommentar
Crowly Skrevet 25. juni 2007 Del Skrevet 25. juni 2007 Update vil ikke fungere hvis tabellen er tom. Løsning #3 tar høyde for det, gjør en insert hvis tomt, og update hvis noe eksisterer. Lenke til kommentar
Peter Skrevet 25. juni 2007 Del Skrevet 25. juni 2007 med mysql har du INSERT REPLACE såvidt jeg husker. Det er dog ikke standard SQL. Lenke til kommentar
itsmebth Skrevet 25. juni 2007 Del Skrevet 25. juni 2007 Er det virkelig nødvendig å ha en tabell bare til copyright-teksten? Lenke til kommentar
iNeo Skrevet 25. juni 2007 Forfatter Del Skrevet 25. juni 2007 Er det virkelig nødvendig å ha en tabell bare til copyright-teksten? 8944149[/snapback] Nei, men jeg liker å ha muligheten til å endre. Lenke til kommentar
pulse Skrevet 25. juni 2007 Del Skrevet 25. juni 2007 Edit: Ser at problemet med flere php tags i en post ikke fungere ved editering, php tag nr 2 -> blir lik den første. 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
itsmebth Skrevet 25. juni 2007 Del Skrevet 25. juni 2007 (endret) 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 25. juni 2007 av itsmebth Lenke til kommentar
iNeo Skrevet 25. juni 2007 Forfatter Del Skrevet 25. juni 2007 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
iNeo Skrevet 25. juni 2007 Forfatter Del Skrevet 25. juni 2007 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
Crowly Skrevet 26. juni 2007 Del Skrevet 26. juni 2007 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå