Gå til innhold

Anbefalte innlegg

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

Lenke til kommentar
Videoannonse
Annonse

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 av grimjoey
Lenke til kommentar
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å.

Lenke til kommentar

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...