stian90_2 Skrevet 12. april 2006 Del Skrevet 12. april 2006 (endret) hei. Jeg ønsker og skjekke om navnet til en bruker f.eks har blit skrevet inn i en rad dem siste 3 innlegga. Jeg prøvde med denne. $sqlc1= mysql_query("SELECT * FROM chat WHERE navn='$navn' ORDER BY id DESC LIMIT 0, 3"); if(mysql_num_rows($sqlc1) =="0"){ //Legge til innlegg } else { echo "Du kan ikke skrive i chatten enda"; } Men det funket jo ikke. Noen som har en ide om hvordan det kan funke ? den velger liksom alle rader, og ignonerer LIMIT 0, 3. Har det noe med mysql_num_rows funksjonen og gjøre? Endret 12. april 2006 av stianiquniez Lenke til kommentar
CruellaDeVille Skrevet 12. april 2006 Del Skrevet 12. april 2006 (endret) hei.Jeg ønsker og skjekke om navnet til en bruker f.eks har blit skrevet inn i en rad dem siste 3 innlegga. Jeg prøvde med denne. $sqlc1= mysql_query("SELECT * FROM chat WHERE navn='$navn' ORDER BY id DESC LIMIT 0, 3"); if(mysql_num_rows($sqlc1) =="0"){ //Legge til innlegg } else { echo "Du kan ikke skrive i chatten enda"; } Men det funket jo ikke. Noen som har en ide om hvordan det kan funke ? den velger liksom alle rader, og ignonerer LIMIT 0, 3. Har det noe med mysql_num_rows funksjonen og gjøre? 5911590[/snapback] Får du alltid ut at personen ikke kan skrive? Det du sier er "velg de tre siste innleggene som Ola Dunk har skrevet". Hvis han overhode har skrevet noe i chatten din vil resultat aldri bli 0. Så vidt jeg forstår ønsker du å vite om Ola Dunk har postet et innlegg som er blant de tre siste innleggene lagt inn (noe sånt?) Da må du endre where-clausen din til noe slikt som dette: $query = mysql_query("select navn from chat where navn not in(select navn from chat where navn=$navn) limit 0,3"); if(!mysql_num_rows($query) == 0){ // post innlegg }else{ // skriv ut melding til bruker om at han ikke kan chatte enda } Edit: liten kortslutning i hjernen, denne koden vil aldri funke. Endret 12. april 2006 av CruellaDeVille Lenke til kommentar
Ernie Skrevet 12. april 2006 Del Skrevet 12. april 2006 (endret) Uhhmm ... da får du jo ut de 3 siste innleggene som ikke er skrevet av den brukeren. Poenget er jo å bare finne de 3 siste og sjekke om en eller flere av de er skrevet av den brukeren. Altså: SELECT * FROM chat WHERE navn = '$navn' AND navn in (SELECT navn FORM chat ORDER BY id DESC LIMIT 0, 3) Endret 12. april 2006 av Ernie Lenke til kommentar
CruellaDeVille Skrevet 12. april 2006 Del Skrevet 12. april 2006 Uhhmm ... da får du jo ut de 3 siste innleggene som ikke er skrevet av den brukeren. Poenget er jo å bare finne de 3 siste og sjekke om en eller flere av de er skrevet av den brukeren. Altså: SELECT * FROM chat WHERE navn = '$navn' AND navn in (SELECT navn FORM chat ORDER BY id DESC LIMIT 0, 3) 5912241[/snapback] I know. Det var derfor jeg redigerte innlegget mitt til å si at det aldri ville fungere. Litt kortslutning i hjernen. sorry Lenke til kommentar
Ernie Skrevet 12. april 2006 Del Skrevet 12. april 2006 Ahh ... så det først etter jeg posta innlegget Lenke til kommentar
stian90_2 Skrevet 12. april 2006 Forfatter Del Skrevet 12. april 2006 (endret) hmm, den blir bare skrevet inn og inn, =) Scriptet ser sli ut nå =) $sqlc2 = mysql_query("SELECT * FROM chat WHERE navn = '$navn' AND navn in (SELECT navn FORM chat ORDER BY id DESC LIMIT 0, 3)"); if(mysql_num_rows($sqlc2)=="0") { //skrive inn } else { //feilmld } Endret 12. april 2006 av stianiquniez Lenke til kommentar
CruellaDeVille Skrevet 12. april 2006 Del Skrevet 12. april 2006 hmm, den blir bare skrevet inn og inn, =) Scriptet ser sli ut nå =) $sqlc2 = mysql_query("SELECT * FROM chat WHERE navn = '$navn' AND navn in (SELECT navn FORM chat ORDER BY id DESC LIMIT 0, 3)"); if(mysql_num_rows($sqlc2)=="0") { //skrive inn } else { //feilmld } 5912352[/snapback] Tror (kanskje) jeg har løsningen for deg: Du velger ut det antall navn du skal sammenligne med, putter de i en array. hvis verdien $navn finnes i arrayet skriv ut feilmelding, hvis ikke post data: $sqlc2 = mysql_query("SELECT navn FROM chat LIMIT 0, 3)"); $row = mysql_fetch_array($query); if(!in_array($navn, $row)) //skrive inn } else { //feilmld } Du trenger ikke alt (*), du skal bare sammenligne navn. Du trenger ikke order by, eller id eller desc. Prøv denne, virker den kan jeg legge meg med god samvittighet! Lenke til kommentar
stian90_2 Skrevet 13. april 2006 Forfatter Del Skrevet 13. april 2006 (endret) Takk, det funket. Dere har reddet kvelden min :!: Endret 13. april 2006 av stianiquniez Lenke til kommentar
CruellaDeVille Skrevet 13. april 2006 Del Skrevet 13. april 2006 Takk, det funket. Dere har reddet kvelden min :!: 5912752[/snapback] Natti!! 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å