Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  6 1039

Kode

$emner = mysql_query("SELECT * FROM forum WHERE type = 'emne' AND forum = '$_GET[forum]' AND slettet = '0' ORDER BY sortid DESC LIMIT $sforrige,$naa ");
Spørringen ovenfor henter ut emner fra et forum, og sorterer dem etter "sortid". I midlertid har jeg kommet frem til at det heller skal sorteres etter columnen "id", men id-en den skal sortere etter må i seg selv oppfylle visse kriterier.

Kode

$emner = mysql_query("SELECT * FROM forum WHERE type = 'emne' AND forum = '$_GET[forum]' AND slettet = '0' ORDER BY id(SELECT forum WHERE slettet = '0') DESC LIMIT $sforrige,$naa ");
Koden over representerer hva jeg prøver på. Jeg vil altså sortere etter id, men typen trenger ikke nødvendigvis å være "emne" lenger.

Dette var ekstremt vanskelig å forklare, men jeg håper dere skjønner, og har en lur måte for å få dette til å virke. Spør hvis det er noe.
19.........bokstaver
bavarai's Avatar
Den koden din er utrolig usikker, du må lære deg å sikre koden før du prøver å utvikle noe.
Kyrios's Avatar
Trådstarter
EDIT: En mer praktisk forklaring: Jeg bygger et forum, og forsøker å printe ut de emnene som nyligst har blitt postet i. ID-columnen øker med én for hvert emne og hver post som postes. Det første emnet vil være det emnet som nyligst ble postet, fordi det har høyest ID, men ikke nødvendigvis det emnet det ble postet nyligst i, fordi den bare tar med i tellingen linjer av typen "emne" (hvor poster naturlig nok er merket "post"). Det jeg derfor vil gjøre er å sortere etter høyeste forekomst av ID, uavhengig av post/emne, men fremdeles bare ende opp med emner i outputten.

Sitat av bavarai Vis innlegg
Den koden din er utrolig usikker, du må lære deg å sikre koden før du prøver å utvikle noe.
Vis hele sitatet...
Jeg har escape-stringet GET, slapp av.
Sitat av Kyrios Vis innlegg
Jeg har escape-stringet GET, slapp av.
Vis hele sitatet...
Så hvis jeg hadde skrevet http://dinurl.com/dinside.php?forum=;DROP TABLE forum; så ville ingenting skjedd? Foreslår at du tar backup av databasen din og prøver.

Hva problemet ditt angår, så skjønner jeg ikke helt hva du vil.. Vil du kjøre en spørring som henter ut forum-tråder som er sortert etter når de har fått tilføyd innlegg sist? Hva med å ha én tabell for emner og én med poster? Da blir det straks flere måter å løse problemet på, hvis det er dette du vil.
Kyrios's Avatar
Trådstarter
Okay, nærmer meg et gjennombrudd nå, må bare få litt hjelp med en litt vrien spørring:

$forrigetid = mysql_query("SELECT max(datoid) FROM forum WHERE emneid='$_GET[emne]' AND slettet='0'");

Den der skal liksom velge høyeste forekomst av datoid fra forum hvor emneid er gjeldende ID og den ikke er slettet. Det gjør den ikke, så her trengs det litt Freak-ekspertise!
Sist endret av Kyrios; 10. august 2010 kl. 14:23.
En mulighet er å sortere fra høyest til lavest med limit 1

Kode

<?php
$q = mysql_query("SELECT `datoid` FROM `forum` WHERE `emneid` = '".mysql_real_escape_string($_GET['emne'])."' AND `slettet` = 0 ORDER BY `datoid` DESC LIMIT 1");
$forrigetid = mysql_result($q, 0, 'datoid');
?>
Jeg så litt på spørringene dine i førstepost, men forstår ikke helt hva du ønsker. Skal se på det om du forklarer litt bedre