Ledenlijst op alfabetische volgorde (nu via id 1, 2, 3 etc)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Max

Max

18/08/2008 22:18:00
Quote Anchor link
Hey,

Ik wil m'n ledenlijst op alfabetische volgorde, maar hij staat nu op het id.
Dus eerst komt de gebruiker met id 1, dan met id 2 etc.

Kan iemand me helpen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?
blauw("Ledenoverzicht");


if(empty($_GET['page']))
{

$page = 1;
}

else
{
$page = $_GET['page'];
}


$max = 75;

$aantal_pag = mysql_query("SELECT * FROM gebruikers");
$aantal_leden = mysql_num_rows($aantal_pag);
$aantal_paginas = ceil($aantal_leden/$max);

$pagina = $page*$max-$max;

$i = 0;

if($_GET['order'] == "") {
$ledenlijst = mysql_query("SELECT * FROM gebruikers ORDER BY id ASC LIMIT ".$pagina.", ".$max."") or die (mysql_error());
}
elseif($_GET['order'] == "level"){
$ledenlijst = mysql_query("SELECT * FROM gebruikers ORDER BY level ASC LIMIT ".$pagina.", ".$max."") or die (mysql_error());
}
elseif($_GET['order'] == "naam"){
$ledenlijst = mysql_query("SELECT * FROM gebruikers ORDER BY gebruikersnaam ASC LIMIT ".$pagina.", ".$max."") or die (mysql_error());
}


echo "
<table border='0' width='100%' cellspacing='0' cellpadding='2'>
  <tr>
    <td width='15%'><a href='?p=ledenlijst&order=naam'><b>Naam</b></a></td>
    <td width='20%'><b>Lid sinds</b></td>
    <td width='20%'><a href='?p=ledenlijst&order=naam'><b>Gebruikerslevel</b></a></td>
    <td width='10%'><b>PB verzenden</b></td>
    "
;
            if(isset($_SESSION['gebruiker'])) {
            $admins = mysql_query("SELECT * FROM gebruikers WHERE gebruikersnaam = '".$_SESSION['gebruikersnaam']."'") or die (mysql_error());
        
        while($admin = mysql_fetch_assoc($admins)) {
        if($admin['status'] == "1"){
            echo "<td width='34%'><b>Profiel</b></td>";
        }
    }
}

            echo "
  </tr>
  "
;
 while($leden = mysql_fetch_assoc($ledenlijst)) {
      $kleur = ($i++ % 2) ? '#FFFFFF' : '#E7E7E7';
 echo "
   <tr>
    <td width='15%' bgcolor='"
.$kleur."'><a href=index.php?p=profiel&id=".$leden['id'].">".$leden['effect_voor']."".$leden['gebruikersnaam']."".$leden['effect_na']."</a></td>
    <td width='20%' bgcolor='"
.$kleur."'>".$leden['datum']."</td>
    <td width='20%' bgcolor='"
.$kleur."'>".$leden['level']."</td>
    <td width='10%' bgcolor='"
.$kleur."'><a href='?p=priveberichten&actie=nieuw&to=".$leden['gebruikersnaam']."'><img src='images/pb.gif' border='0'></a></td>
    "
;
                if(isset($_SESSION['gebruiker'])) {
            $admins = mysql_query("SELECT * FROM gebruikers WHERE gebruikersnaam = '".$_SESSION['gebruikersnaam']."'") or die (mysql_error());
        
        while($admin = mysql_fetch_assoc($admins)) {
        if($admin['status'] == "1"){
            echo "<td width='34%'><a href=index.php?p=admin&pagina=leden&actie=wijzigen&g=".$leden['gebruikersnaam']."><img src=images/edit.gif border=0></a></td>";
        }
    }
}

            echo "
  </tr>
"
;
}

echo "</table>";

for($i = 1; $i <= $aantal_paginas; $i++)
{

echo " <a href=\"index.php?p=ledenlijst&page=".$i."\"> ";


if($i == $_GET['page']) {
echo "<b>".$i."</b></a> ";
}
else{
echo "".$i."</a> ";
}

if($i != $aantal_paginas)
{

echo "|";
}
}


?>


Dat is m'n ledenlijst script..
 
PHP hulp

PHP hulp

28/11/2024 07:00:16
 
Jan Koehoorn

Jan Koehoorn

18/08/2008 22:20:00
Quote Anchor link
Aan je query toevoegen:

ORDER BY gebruikersnaam ASC
 
Max

Max

18/08/2008 22:22:00
Quote Anchor link
Dus dan wordt het script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?
blauw("Ledenoverzicht");


if(empty($_GET['page']))
{

$page = 1;
}

else
{
$page = $_GET['page'];
}


$max = 75;

$aantal_pag = mysql_query("SELECT * FROM gebruikers");
$aantal_leden = mysql_num_rows($aantal_pag);
$aantal_paginas = ceil($aantal_leden/$max);

$pagina = $page*$max-$max;

$i = 0;

if($_GET['order'] == "") {
$ledenlijst = mysql_query("SELECT * FROM gebruikers ORDER BY id ASC ".$pagina.", ".$max."") or die (mysql_error());
}
elseif($_GET['order'] == "level"){
$ledenlijst = mysql_query("SELECT * FROM gebruikers ORDER BY level ASC ".$pagina.", ".$max."") or die (mysql_error());
}
elseif($_GET['order'] == "naam"){
$ledenlijst = mysql_query("SELECT * FROM gebruikers ORDER BY gebruikersnaam ASC ".$pagina.", ".$max."") or die (mysql_error());
}


echo "
<table border='0' width='100%' cellspacing='0' cellpadding='2'>
  <tr>
    <td width='15%'><a href='?p=ledenlijst&order=naam'><b>Naam</b></a></td>
    <td width='20%'><b>Lid sinds</b></td>
    <td width='20%'><a href='?p=ledenlijst&order=naam'><b>Gebruikerslevel</b></a></td>
    <td width='10%'><b>PB verzenden</b></td>
    "
;
            if(isset($_SESSION['gebruiker'])) {
            $admins = mysql_query("SELECT * FROM gebruikers WHERE gebruikersnaam = '".$_SESSION['gebruikersnaam']."'") or die (mysql_error());
        
        while($admin = mysql_fetch_assoc($admins)) {
        if($admin['status'] == "1"){
            echo "<td width='34%'><b>Profiel</b></td>";
        }
    }
}

            echo "
  </tr>
  "
;
 while($leden = mysql_fetch_assoc($ledenlijst)) {
      $kleur = ($i++ % 2) ? '#FFFFFF' : '#E7E7E7';
 echo "
   <tr>
    <td width='15%' bgcolor='"
.$kleur."'><a href=index.php?p=profiel&id=".$leden['id'].">".$leden['effect_voor']."".$leden['gebruikersnaam']."".$leden['effect_na']."</a></td>
    <td width='20%' bgcolor='"
.$kleur."'>".$leden['datum']."</td>
    <td width='20%' bgcolor='"
.$kleur."'>".$leden['level']."</td>
    <td width='10%' bgcolor='"
.$kleur."'><a href='?p=priveberichten&actie=nieuw&to=".$leden['gebruikersnaam']."'><img src='images/pb.gif' border='0'></a></td>
    "
;
                if(isset($_SESSION['gebruiker'])) {
            $admins = mysql_query("SELECT * FROM gebruikers WHERE gebruikersnaam = '".$_SESSION['gebruikersnaam']."'") or die (mysql_error());
        
        while($admin = mysql_fetch_assoc($admins)) {
        if($admin['status'] == "1"){
            echo "<td width='34%'><a href=index.php?p=admin&pagina=leden&actie=wijzigen&g=".$leden['gebruikersnaam']."><img src=images/edit.gif border=0></a></td>";
        }
    }
}

            echo "
  </tr>
"
;
}

echo "</table>";

for($i = 1; $i <= $aantal_paginas; $i++)
{

echo " <a href=\"index.php?p=ledenlijst&page=".$i."\"> ";


if($i == $_GET['page']) {
echo "<b>".$i."</b></a> ";
}
else{
echo "".$i."</a> ";
}

if($i != $aantal_paginas)
{

echo "|";
}
}


?>


zo?
 

18/08/2008 22:31:00
Quote Anchor link
probeer het eens.
 
Emmanuel Delay

Emmanuel Delay

19/08/2008 00:16:00
Quote Anchor link
Je doet een aantal vreemde dingen.

Je gaat er van uit dat $_GET['page'] een geheel getal bevat. Je weet niet wat de gebruiker in zijn url-balk scrijft. Dito voor $_GET['order']. Je gaat er van uit dat $_GET['order'] ofwel leeg is, ofwel level of naam. Weeral: de gebruiker kan daar ook iets anders schrijven.

Zo-iets is al beter:
Zo heb je zeker 1 van de drie mogelijkheden.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
if($_GET['order'] == "level"){
$ledenlijst = mysql_query("SELECT * FROM gebruikers ORDER BY level ASC ".$pagina.", ".$max."") or die (mysql_error());
}
elseif($_GET['order'] == "naam"){
$ledenlijst = mysql_query("SELECT * FROM gebruikers ORDER BY gebruikersnaam ASC ".$pagina.", ".$max."") or die (mysql_error());
}
else{
$ledenlijst = mysql_query("SELECT * FROM gebruikers ORDER BY id ASC ".$pagina.", ".$max."") or die (mysql_error());
}

?>


Op deze manier zou je kunnen garanderen dat $_GET['page'] een positief geheel getal is (hiervoor bestaan ook wel vooraf gemaakte functies) :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?if ( ! $_GET['page'] || $_GET['page'] != floor($_GET['page']) || $_GET['page'] < 0)
  $page = 1;
else
  $page = $_GET['page'];?>


Wat bedoel je hier trouwens mee?

SELECT * FROM gebruikers ORDER BY level ASC ".$pagina.", ".$max.""

Wat doen die $pagina en $max daar? Misschien vergeten LIMIT te schrijven?
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.