Dryper Skrevet 21. januar 2008 Skrevet 21. januar 2008 Heisann! hvordan leser jeg data fra to tables samtidig? altså fra MYSQL <? $newline = "<br />"; $con = mysql_connect("$Host","$User","$Pass"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("$DBname", $con); $result = mysql_query("SELECT * FROM users"); echo "<hr /><hr /><table border='1' width='100%'> <tr class='topscore'> <th>Username:</th> <th>Crew:</th> <th>XP:</th> <th>Rank Title:</th> <th>Health:</th> <th>Users Killed:</th> <th>Highscore Rank:</th> </tr>"; while($row = mysql_fetch_array($result)) { echo "<tr class=topscore>"; echo "<td>" . $row['username'] . "</td>"; echo "<td>" . $row['/*Nothing*/'] . "</td>"; echo "<td>" . $row['rang'] . "</td>"; echo "<td>" . $row['/*Nothing*/'] . "</td>"; echo "<td>" . $row['health'] . "</td>"; echo "<td>" . $row['kills'] . "</td>"; echo "<td>" . $row['rank'] . "</td>"; echo "</tr>"; } echo "</table>";mysql_close($con); #------Copyright Nede på formen :)-------# echo "<center><hr /><hr />Globalmafia Ranksystem $newline"; echo "Version: 0.1 Beta$newline"; echo "<i>By Driiper</i></center>"; ?> </div> </div> er det slik at jeg bare må gjøre denne " $result = mysql_query("SELECT * FROM users");" om til " $result = mysql_query("SELECT * FROM users AND ranks");" det må jo være feil :S hvordan. Takker for svar
alec1 Skrevet 21. januar 2008 Skrevet 21. januar 2008 Da må du bruke JOIN. Les mer på W3schools.com http://www.w3schools.com/sql/sql_join.asp
grimjoey Skrevet 23. januar 2008 Skrevet 23. januar 2008 (endret) gjør en "DESCRIBE <tabell>;" på users, crew og rang_title tabellene. skriv resultatene her og fortell hvilke kolonner som gir relasjoner så kan jeg lage en joined select statement til deg. SELECT [<table>.]<col>[ as <alias>][, ...] FROM [alias] <table> JOIN <table> ON ( <condition> ) [JOIN ...] WHERE <where_condition>; for eksempel: SELECT u.username, c.crew, u.rang, rt.rank_title, u.health, u.kills, u.rank FROM users u JOIN crew c ON (u.crew_id = c.crew_id) JOIN rank_title rt ON (u.rang BETWEEN rt.rang_low AND rt.rang_high); regner med det er noe slikt du trenger. dette ble 3 tabeller men. hadde hjulpet å vite hvordan databasen din ser ut. edit: leste slutten av posten din nå. for å selecte fra to tabeller separerer du bare tabellnavnene med comma. SELECT * FROM tabell1, tabell2; men sannsynligvis må du ha en where_condition som sier noe som relasjonen til tabellene. Endret 23. januar 2008 av grimjoey
KVTL Skrevet 25. januar 2008 Skrevet 25. januar 2008 Denne tråden var feilpostet og er blitt flyttet til riktig kategori. Ot fjernet. MVH KVTL
roac Skrevet 27. januar 2008 Skrevet 27. januar 2008 edit:leste slutten av posten din nå. for å selecte fra to tabeller separerer du bare tabellnavnene med comma. SELECT * FROM tabell1, tabell2; men sannsynligvis må du ha en where_condition som sier noe som relasjonen til tabellene. For det første: Dette er den gammeldagse måten å gjøre join på. Join operatoren kom vel i SLQ-92 eller noe sånt. Og, hvis du ikke bruker noen filtrering med en slik spørring som du skisserer, så får du ut et kartesisk produkt. Er det 1000 rader i den ene tabellen, og 10000 den andre, så får du mao 10M rader ut. Slikt har knelet mer enn en databaseserver. Jeg vil hevde at det eneste riktige å gjøre her er å bruke join, men du kan få det til på andre måter også.
Manfred Skrevet 27. januar 2008 Skrevet 27. januar 2008 Det er litt enklere å hjelpe hvis du kan forklare litt mer hva slags resultat du er ute etter da.
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å