Eivind218 Skrevet 18. januar 2009 Skrevet 18. januar 2009 Hei. Har et script som ikke vil velge en spesefik rad, $select = mysql_query("SELECT * FROM `forum_svar` WHERE `svar_id`='" .$k['id']. "' ORDER BY dato DESC"); $select = mysql_fetch_array($select); $nisse = mysql_query("SELECT * FROM `bruker` WHERE `id`='" .$select['posted_id']. "'"); $nisse = mysql_fetch_array($nisse); $sistesvar = $nisse['brukernavn']; den skal velge den raden som er postet sist, Dato kan se sånn ut: "01.18.09 20:56:00" Takk!
Martin A. Skrevet 18. januar 2009 Skrevet 18. januar 2009 $select = mysql_query("SELECT f.*, b.* FROM forum_svar f LEFT JOIN bruker b ON (b.id=f.posted_id) WHERE f.svar_id={$k['id']} ORDER BY dato DESC LIMIT 1"); $select = mysql_fetch_array($select); $nisse = mysql_fetch_array($nisse); $sistesvar = $nisse['brukernavn'];
Eivind218 Skrevet 18. januar 2009 Forfatter Skrevet 18. januar 2009 Funket ikke den heller. En litt større del av koden; $b = mysql_query("SELECT * FROM `brukere` WHERE `id`='$k[poster_id]'"); $b = mysql_fetch_array($b); $qqq = mysql_query("SELECT * FROM `forum_svar` WHERE `svar_id`='$k[id]'"); $qqq = mysql_num_rows($qqq); $select = mysql_query("SELECT f.*, b.* FROM forum_svar f LEFT JOIN bruker b ON (b.id=f.posted_id) WHERE f.svar_id={$k['id']} ORDER BY dato DESC LIMIT 1"); $select = mysql_fetch_array($select); $nisse = mysql_fetch_array($nisse); $sistesvar = $nisse['brukernavn']; ?> </td> <td> <?php echo $b[brukernavn]; ?> </td> <td> <?php echo $qqq; ?> </td> <td> <?php echo $sistesvar; ?> </td> <td> <?php echo $k[dato]; ?> </td> </tr> <?php Det er da $k som er selve info om tråden.
Martin A. Skrevet 18. januar 2009 Skrevet 18. januar 2009 Hva er det du egentlig vil at den koden skal gjøre? Så vidt jeg ser er de to første spørringen unødvendige, da du får samme info fra den tredje.
Eivind218 Skrevet 18. januar 2009 Forfatter Skrevet 18. januar 2009 Det er klippet bort en del derifra som trenger den ene spørringen, Som er helt unødvendig.
Martin A. Skrevet 18. januar 2009 Skrevet 18. januar 2009 Du glemte forøvrig å svare på første del av innlegget mitt. Hva skal den koden over gjøre?
Eivind218 Skrevet 18. januar 2009 Forfatter Skrevet 18. januar 2009 Oja, Sorry, Den skal hente ut hvem som har postet siste svar på et forum.
Martin A. Skrevet 18. januar 2009 Skrevet 18. januar 2009 Om du har en egen tabell som holder alle tråder, lag heller et felt der som oppdateres hver gang noen skriver et innlegg i den tråden. Mye enklere å hente informasjonen fra en bestemt plass (henter sikkert all informasjonen fra den tabellen uansett), istede for å la SQL kalkulere seg fram til et svar.
Eivind218 Skrevet 18. januar 2009 Forfatter Skrevet 18. januar 2009 Vil helst at den skal hente fra siste som ble postet, I tilfele en post ble slettet o.l .
Martin A. Skrevet 18. januar 2009 Skrevet 18. januar 2009 SELECT f.*, b.*, COUNT(b.*) as replies FROM forum_svar f LEFT JOIN bruker b ON (b.id=f.poster_id) WHERE f.svar_id={$k['id']} ORDER BY dato DESC LIMIT 1 Lagre heller dato som unix timestamp, og bruk date() når det skal printes. Eller i et format mySQL kan håndtere. http://dev.mysql.com/doc/refman/5.0/en/dat...e-overview.html http://no.php.net/manual/en/function.strtotime.php http://no.php.net/manual/en/function.date.php http://no.php.net/manual/en/function.time.php
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å