Gå til innhold

Anbefalte innlegg

Skrevet

// (først en $_GET som finner ut hvordan man 
// skal sortere mysql-spørringen, $get_order som 
// forteller etter hvilken kolonne og $get_asc som 
// forteller asc eller desc)

// kodesnutt
$local_inbox_q = mysql_query("SELECT * FROM meldinger WHERE mottager = '".$_SESSION['session_sypher']."' ORDER BY ulest desc, ".$get_order." ".$get_asc." ");

 

men så vil jeg gjerne at hvis $_GET['order'] == "avsender" så skal jeg bruke en left join. for enkelhets skyld setter jeg da opp en ny spørring i en if-sak. altså, avsender i tabellen er et nummer som tilsvarer id i tabell brukere. vil gjerne sortere etter brukernavn. noen som kan hjelpe meg med å sette opp en slik spørring?

Videoannonse
Annonse
Skrevet (endret)

Forklar litt om tabellene, hvor er feltet brukernavn og hvor er feltet avsender?

Hvilket felt er likt i de to tabellene?

Endret av ????????
Skrevet

Du bygger en left join spørring på samme måte som en vanlig spørring, men du legger til hvilket felt som likt:

 

SELECT * FROM meldinger LEFT JOIN brukere ON meldinger.avsender = brukere.id WHERE mottager = '".$_SESSION['session_sypher']."' ORDER BY brukere.brukernavn

 

Hvis du ikke skal hente all data fra begge tabellene, og det er mange felt som har like navn kan det være lurt å bruke AS:

 

SELECT m.felt1, m.felt2 FROM meldinger AS m LEFT JOIN brukere AS b ON m.avsender = b.id WHERE mottager = '".$_SESSION['session_sypher']."' ORDER BY b.brukernavn

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...