Forum » Server-Side scripting » Sorteren lijst
Berichten: 40
avatar
Offline Stuur privebericht
Goedemiddag,

Ik beheer zoals vele van jullie mijn eigen Criminals game.
Nu heb ik alleen een probleem ik heb een familie lijst alleen zijn de leden niet gesorteerd op power van de familie wat wel zo moet zijn.
En ik kom er ook echt niet uit.

Is er misschien iemand die mij hiermee kan helpen?
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php /* ------------------------- */


  
include("_config2006.php");
  if(! 
check_login()) {
    
header("Location: login.php");
    exit;
  }

  if(
$data->clanlevel == 9) {
    if(isset(
$_POST['change_owner']) && $_POST['owner'] != $data->login) {
      
$dbres            mysql_query("SELECT `login`,`level`,`clan` FROM `[users]` WHERE `login`='{$_POST['owner']}'");
      if((
$owner mysql_fetch_object($dbres)) && $owner->clan == $data->clan && $owner->level 0x01) {
        
mysql_query("UPDATE `[users]` SET `clanlevel`=1 WHERE `login`='{$data->login}'");
        
mysql_query("UPDATE `[users]` SET `clanlevel`=9 WHERE `login`='{$owner->login}'");
        
mysql_query("UPDATE `[clans]` SET `owner`='{$owner->login}' WHERE `name`='{$data->clan}'");
        
header("Location: /clan.php?x={$data->clan}n");
      }
    }
  }

  
mysql_query("UPDATE `[users]` SET `online`=NOW() WHERE `login`='{$data->login}'");
    include(
"_include-gevangenis.php");
/* ------------------------- */ ?>
<html>
 
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="../layout/layout001/css/css.css">

</head>


<table width=100%>
<?php /* ------------------------- */

   
    
print "  <tr><td><table width=100%>n";
    print 
"    <tr><td class=\"subTitle\" style=\"letter-spacing: normal;\"><b>Familie</b></td>  <td class=\"subTitle\" style=\"letter-spacing: normal;\" width=125><b>Owner</b></td>  <td class=\"subTitle\" width=75 style=\"letter-spacing: normal;\"><b>Power</b></td></tr>n";
    
$dbres                mysql_query("SELECT `name`,`owner`,`type`,`def_lvl1`,`homes` FROM `[clans]` ORDER BY `def_lvl1`");
    while(
$clan mysql_fetch_object($dbres)) {
      
$power                0;
      
$dbres2                mysql_query("SELECT `attack`,`defence`,`clicks` FROM `[users]` WHERE `clan`='{$clan->name}'");
      while(
$member mysql_fetch_object($dbres2))
        
$power                += round(($member->attack+$member->defence)/2+$member->clicks*5);
      
$power                += ($clan->def_lvl1*3000)/2;
      
$power                += ($clan->homes*1250)/2;
      
$clanpower[$clan->type][$clan->name] = $power;
    }
    
$lasttype                1;
    foreach(
$clanpower as $type => $info) {
      if(
$power != $clanpower)
        print 
"";

      
arsort($info);
      foreach(
$info as $name => $power) {
        
$dbres                mysql_query("SELECT `name`,`owner` FROM `[clans]` WHERE `name`='$name'");
        
$clan                    mysql_fetch_object($dbres);
        print 
"    <tr><td class=\"mainTxt\"><a href=\"clan.php?x={$clan->name}\">{$clan->name}</a></td>  <td class=\"mainTxt\" width=125><a href=\"profile.php?x={$clan->owner}\">{$clan->owner}</a></td>   <td class=\"mainTxt\" align=\"right\" width=75>$power&nbsp;</td>";
        if(
$data->clanlevel >= 7)
          print 
"  <td align=\"center\" class=\"mainTxt\" width=75><a href=\"clanwar.php?x=$name\">Attack</a></td></tr>n";
        else
          print 
"</tr>n";
      }
    }
    print 
"  </table></td></tr>n";
  
/* ------------------------- */ ?>
</table>

</body>

</html>
<?
mysql_close
();
ob_flush();
?>


De bedoeling is dus om de families (clans) te sorteren op power van hoog naar laag.

Alvast bedankt!
14-09-2011 17:00
Dit topic is 177 keer bekeken door 34 verschillende leden
Reacties op: "Sorteren lijst"
1
Berichten: 894
avatar
Offline Stuur privébericht
regel 43 moet worden
Code | Selecteer Alles
minimaliseren
1
2
3
<?php
$dbres2                
mysql_query("SELECT `attack`,`defence`,`clicks` FROM `[users]` WHERE `clan`='{$clan->name}' ORDER BY `power` DESC "); 
?>


zoiets zou moeten werken, als je de kolom 'power' niet hebt of anders heet moet je hem hierboven even vernoemen met hoe die in je database staat.
14-09-2011 17:41
Berichten: 40
avatar
Offline Stuur privébericht
Zodra ik dit gebruik krijg ik niet alle power van de clan.
Tevens krijg ik ook deze melding:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /......../public_html/clanlist.php on line 44

Het ziet er nu zo uit:
CriminalsPoint error: de volgende afbeelding werd niet geladen omwille van veiligheidsproblemen: http://imageshack.us/photo/my-images/202/naamlooszl.png

Ik wil dat hij die power sorteert van hoog naar laag en er bijv. #1 of 1 2 3 etc. voor zet.
14-09-2011 18:20
Berichten: 693
avatar
Offline Stuur privébericht
Fout zit op lijn 44

Code | Selecteer Alles
minimaliseren
1
while($member mysql_fetch_object($dbres2))


Dit moet je op lossen.
14-09-2011 18:23
Berichten: 894
avatar
Offline Stuur privébericht
Regel 41:
Code | Selecteer Alles
minimaliseren
1
$dbres                mysql_query("SELECT `name`,`owner`,`type`,`def_lvl1`,`homes` FROM `[clans]` ORDER BY `def_lvl1` DESC");


zo wel?
14-09-2011 18:26
Berichten: 40
avatar
Offline Stuur privébericht
Quote: Jasper

Regel 41:

Code | Selecteer Alles
minimaliseren
1
$dbres                mysql_query("SELECT `name`,`owner`,`type`,`def_lvl1`,`homes` FROM `[clans]` ORDER BY `def_lvl1` DESC");


zo wel?



Ja nu sorteert hij hem wel top!
Nu heb ik nog 1 laatste vraag hoe kan ik #1 #2 etc. in de lijst zetten?
Dus dat ze voor bevestiging zien hoe ver ze staan in de lijst?
14-09-2011 18:32
Berichten: 552
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
$i =0;
//boven while

$i++;
//onderwhile
//en waar je wilt laten zien dit:

$i;
14-09-2011 21:19
Berichten: 40
avatar
Offline Stuur privébericht
Quote: FrankY

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
$i =0;
//boven while

$i++;
//onderwhile
//en waar je wilt laten zien dit:

$i;



Ik heb dit erin gezet maar dan krijg ik overal 1 of 2 of 9.
Waar moet ik dit ongeveer zetten?
Ik heb het geprobeerd op regel: 41 en op 43.

Nieuwe reactie samengevoegd met originele reactie op 14.09.11 22:53:39:
Te snel opgegeven haha.
Het is me al gelukt hij staat nu op regel 60 hier gaat het wel goed.

Hartstikke bedankt!

Topic mag dicht
14-09-2011 22:50
Reageer op: "Sorteren lijst"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden