Kom ihåg mig?
Home Menu

Menu


sortering av array (php)

 
Ämnesverktyg Visningsalternativ
Oläst 2009-12-09, 09:39 #1
youheardit youheardit är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Oct 2008
Inlägg: 1 168
youheardit youheardit är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Oct 2008
Inlägg: 1 168
Standard sortering av array (php)

Hejsan!
bygger just nu en ligatabell för fotbollslag i php och har kommit till den parten där array'en måste sorteras.

jag har en tabell för alla lagen och en tabell för matcherna i databasen!
efter all uträkning av poäng, vinster, förluster mm så byggs en array med för varje lag där all information som ska visas i tabellen är värdet, den ser ut så här:

PHP-kod:
$team_in_table = array (
'team' => $team['name'],
'played' => $total_played,
'wins' => $total_wins,
'draw' => $total_draw,
'loses' => $total_loses,
'skillnad' => $skillnad,
'points' => $total_points );
?> 
här är ett exempel på hur den blir
PHP-kod:
Array ( [team] => Arsenal [played] => [wins] => [draw] => [loses] => [skillnad] => -[points] => 
Nu är problemet med sorteringen.
Hur får jag listan att först sorteras efter poäng, sedan om 2 eller flera lag har lika många poäng så ska den sorteras efter målskillnad ('skillnad' i array) ?
har googlat men utan resultat.

kan även släppa hela koden som är gjord här:
PHP-kod:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<?php 
$id 
$_GET['id'];
if(!isset(
$id)){
die(
"inget id"); }
 
$placement 0;
 echo 
'<table border="1"><th></th><th></th><th>SM</th><th>P</th>';
include
'../dbcon.php'
//hämtar ligan
$get_league mysql_query("SELECT * FROM sk_league WHERE id = '".$id."'");
if(
mysql_num_rows($get_league) == 0){
die(
"Ingen liga"); }
$league mysql_fetch_array($get_league);

$get_teams mysql_query("SELECT * FROM sk_team WHERE league = '".$id."'");
while(
$team mysql_fetch_array($get_teams)){

//hemma matcher!
$home_wins 0;
$home_draw 0;
$home_loses 0;
$home_goals 0;
$home_ins 0;
$get_home mysql_query("SELECT * FROM sk_matches WHERE home_id = '".$team['id']."'");
$count_home mysql_num_rows($get_home);
while(
$home mysql_fetch_array($get_home)){
$home_goals $home_goals $home['goals_home'];
$home_ins $home_ins $home['goals_away'];
if(
$home['goals_home'] > $home['goals_away']){
$home_wins $home_wins 1; } else if ($home['goals_home'] == $home['goals_away']){
$home_draw $home_draw 1; } else if ($home['goals_home'] < $home['goals_away']){
$home_loses $home_loses 1; }}

//borta matcher!
$away_wins 0;
$away_draw 0;
$away_loses 0;
$away_goals 0;
$away_ins 0;
$get_away mysql_query("SELECT * FROM sk_matches WHERE away_id = '".$team['id']."'");
$count_away mysql_num_rows($get_away);
while(
$away mysql_fetch_array($get_away)){
$away_ins $away_ins $away['goals_home'];
$away_goals $away_goals $away['goals_away'];
if(
$away['goals_away'] > $away['goals_home']){
$away_wins $away_wins 1; } else if ($away['goals_home'] == $away['goals_away']){
$away_draw $away_draw 1; } else if ($away['goals_away'] < $away['goals_home']){
$away_loses $away_loses 1; }}
//totala statistik
$total_played $count_home $count_away;
$total_wins $home_wins $away_wins;
$total_draw $home_draw $away_draw;
$total_loses $home_loses $away_loses;
$total_goals $home_goals $away_goals;
$total_ins $home_ins $away_ins;

//poäng
$wins_points $total_wins;
$draw_points $total_draw;
$total_points $wins_points $draw_points;

//poängskillnad
$skillnad $total_goals $total_ins;

$team_in_table = array (
'team' => $team['name'],
'played' => $total_played,
'wins' => $total_wins,
'draw' => $total_draw,
'loses' => $total_loses,
'skillnad' => $skillnad,
'points' => $total_points );
$placement $placement 1;
?>
<tr><td><?= $placement?></td><tD><?= $team_in_table['team']; ?></tD><td><?= $team_in_table['played']; ?></td><td><?= $team_in_table['points']; ?></td></tr>

<?
}


echo "</table>";
  ?>
jag vet, det är inte den bästa koden, kunde gjort det bättre.

tacksam för svar!
//Philip Andersson!
youheardit är inte uppkopplad   Svara med citatSvara med citat
 


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 11:18.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017