Anders Moen Skrevet 29. april 2007 Del Skrevet 29. april 2007 Hei! Driver med en side og der kan man legge igjen kommentarer, og der kan de som eier sida gå inn i et adminpanel for å administrere kommentarer og sånn, men når de trykker på "Slett denne kommentaren", så blir det ikke en kommentar mindre på forsida.. Altså noe sånt: if (isset($_POST['submit'])) { $id = $_GET['id']; mysql_query("DELETE FROM kommentarer WHERE id = '$id'"); mysql_query("UPDATE nyheter SET kommentarer = kommentarer-1 WHERE id = '$id'"); echo 'Vellykket'; } Slettinga funker flott, men ikke oppdateringa...hadde jeg satt et plusstegn (+) i stedet for minus (-) så ville det ha fungert bare at omvendt...noen måter å få dette til å fungere på? Lenke til kommentar
grimjoey Skrevet 29. april 2007 Del Skrevet 29. april 2007 (endret) prøv queryen direkte med mysql cli. så kan du prøve å slashe ut minustegnet \- Endret 29. april 2007 av grimjoey Lenke til kommentar
Anders Moen Skrevet 29. april 2007 Forfatter Del Skrevet 29. april 2007 Det skjønte jeg ikke helt..? Lenke til kommentar
grimjoey Skrevet 29. april 2007 Del Skrevet 29. april 2007 (endret) mysql command line interface. eventuelt phpmyadmin. da kan du sjekke om det er en gyldig sql setning. dersom den er det betyr det at noe skjer i overføringen fra scriptet. da kan det hende det hjelper å slashe ut minustegnet. mysql_query("UPDATE nyheter SET kommentarer = kommentarer\-1 WHERE id = '$id'"); slik at dersom minus betyr noe spesielt innenfor "..." vil det nå oppføre seg som tekst. Endret 29. april 2007 av grimjoey Lenke til kommentar
Anders Moen Skrevet 29. april 2007 Forfatter Del Skrevet 29. april 2007 Sorry, men den funka ikke...fortsatt bare slettet fra kommentarer, men ikke oppdatért i nyheter. Lenke til kommentar
Peter Skrevet 29. april 2007 Del Skrevet 29. april 2007 (endret) Hvorfor har du et egent felt for å telle antall kommentarer det finnes til en nyhet? SELECT COUNT( id ) as antall_kommentarer FROM kommentarer WHERE nyhets_id = $id Dette er dessuten et databasespørsmål, ikke et PHP-spørsmål, og egner seg derfor bedre i databasekategorien. ( https://www.diskusjon.no/index.php?showforum=233 ) Endret 29. april 2007 av Nazgul Lenke til kommentar
Anders Moen Skrevet 29. april 2007 Forfatter Del Skrevet 29. april 2007 (endret) Edit: Tok bort post siden jeg skjønte hva du mente etter en liten stund nå... Men åssen skal jeg få det til der det er 5 nyheter per side da? Der det bare er SELECT * FROM nyheter ORDER BY id DESC ? Endret 29. april 2007 av Anders-Moen Lenke til kommentar
Crowly Skrevet 29. april 2007 Del Skrevet 29. april 2007 Edit:Tok bort post siden jeg skjønte hva du mente etter en liten stund nå... Men åssen skal jeg få det til der det er 5 nyheter per side da? Der det bare er SELECT * FROM nyheter ORDER BY id DESC ? 8499092[/snapback] Sjekk ut hvordan du bruker LIMIT, feks SELECT * FROM nyheter ORDER BY id DESC LIMIT 5 vil plukke ut de fem første postene SELECT * FROM nyheter ORDER BY id DESC LIMIT 5,5 vil plukke ut post nr 6-10 Så er det bare å styre LIMIT verdiene med variabler. Vil også anbefale http://phpbuilder.com/board/ hvor det er en haug med nyttig info. Lenke til kommentar
Anders Moen Skrevet 29. april 2007 Forfatter Del Skrevet 29. april 2007 Crowly, tror ikke du skjønte hva jeg mente der... Åssen skal jeg få til den her koden: SELECT COUNT( id ) as antall_kommentarer FROM kommentarer WHERE nyhets_id = $id på hver artikkel når jeg bruker et pagination script når den ikke henter en id (?id=et_tall)? Lenke til kommentar
Crowly Skrevet 29. april 2007 Del Skrevet 29. april 2007 Crowly, tror ikke du skjønte hva jeg mente der... Åssen skal jeg få til den her koden: SELECT COUNT( id ) as antall_kommentarer FROM kommentarer WHERE nyhets_id = $id på hver artikkel når jeg bruker et pagination script når den ikke henter en id (?id=et_tall)? 8499574[/snapback] Missforsto nok litt ja Du må kjøre den select'en for hver gang du henter frem en ny artikkel o.l som det kommenteres til. Da gjør noe noe som dette $sql=sprintf("SELECT COUNT(*) antall FROM kommentarer WHERE id = %d",$id); $antall=mysql_fetch_row(mysql_query($sql)); echo $antall[0]." kommentarer"; Hadde vært litt enklere hvis jeg hadde sett litt mer av koden, litt vanskelig å komme med spesifike kode forslag med det jeg har sett hittil. Få sett tabell definisjonene kunne også være kjekt. mysql_query("UPDATE nyheter SET kommentarer = kommentarer-1 WHERE id = '$id'"); Slettinga funker flott, men ikke oppdateringa...hadde jeg satt et plusstegn (+) i stedet for minus (-) så ville det ha fungert bare at omvendt...noen måter å få dette til å fungere på? Det skal ikke være noe galt med den sql settningen, så lenge kommentarer er ett tall felt. Du kan prøve en litt annen vri $sql=sprintf("SELECT kommentarer FROM nyheter WHERE id = %d",$id); $x=mysql_fetch_row(mysql_query($sql)); $x[0]--; $sql=sprintf("UPDATE nyheter SET kommentarer = %d WHERE id = %d",$x,$id); mysql_query($sql); Dette er tungvindt, men en annen måte å gjøre det på. Får håpe jeg har forstått litt mere nå, og at dette er til noe hjelp 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å