[php/mysql] drop-down box vraag.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben bezig met een ban systeem voor mijn site.
maar ik wil het maken met een drop-down box.
ik heb dit nu gedaan maar ik wil dat alle gebruikers namen in de drop-down box komen..
Maar ik weet alleen niet welke code ik daar voor nodig heb..
ik gebruik momenteel deze script die het niet goed doet:

PHP:
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
<?
include"boven.php";
include"config.php";

$gb     = $_COOKIE["gebruikersnaam"];

$mbid   = $_COOKIE["memberid"];

$ww     = $_COOKIE["hash"];

$query  = mysql_query("SELECT * FROM leden WHERE gebruikersnaam='$gb' AND id='$mbid' AND wachtwoord='$ww' AND activatie='1' AND status='Admin'") or die(mysql_error());   

$aantal = mysql_num_rows($query);   

if($aantal == "1"){

$select = "SELECT * FROM ban";
                $query = mysql_query($select);
                $list = mysql_fetch_object($query);
                
                $select1 = "SELECT * FROM leden";
                $query1 = mysql_query($select1);
                $list1 = mysql_fetch_object($query1);
?>

<center>
  <table style="border: 1px solid #000000" width="465" border="0" cellspacing="0">

    <tr> 

      <td bgcolor="#FF9900" height="15" width="461"><b>- Leden Banlijst </b></td>

    </tr>

    <tr> 

      <td style="border-top: 1px solid #000000" width="461"> 
      <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
        <tr>
          <td width="33%"><strong>Naam:</strong></td>
          <td width="39%"><strong>Id:</strong></td>
          <td width="28%"><strong>Ip:</strong></td>
        </tr>
        <tr>
          <td width="100%" colspan="3">
          <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber2">
            <tr>
              <td width="33%"><? echo "$list->gebruikersnaam" ; ?></td>
              <td width="39%"><? echo "$list->id"; ?></td>
              <td width="28%"><? echo "$list->ip"; ?></td>
            </tr>
          </table>
          </td>
        </tr>
      </table>
      </td>

    </tr>

  </table></center>
  
  <form method="POST" action="">
  <p align="center">
  <select size="1" name="banlijst"><option><? echo "$list1->gebruikersnaam"; ?></option></select><input type="submit" value="Bannen" name="ban"></p>
</form>



<? } else {
echo "<center>je bent niet toegestaan op deze pagina</center>"; } 
include"onder.php";
?>

//de script is nog niet klaar.. dus ga daar maar niet over vragen dat het niet eens klopt wat der in staat ;)


en ik wil graag dit stukje in een drop-down box hebben:

PHP:
1
2
3
4
<form method="POST" action="">
  <p align="center">
  <select size="1" name="banlijst"><option><? echo "$list1->gebruikersnaam"; ?></option></select><input type="submit" value="Bannen" name="ban"></p>
</form>


(maar ik weet niet hoe) :D

[ Voor 25% gewijzigd door Verwijderd op 12-07-2003 05:33 ]


Acties:
  • 0 Henk 'm!

Verwijderd


Acties:
  • 0 Henk 'm!

  • MMUilwijk
  • Registratie: Oktober 2001
  • Laatst online: 09:59
Door middel van een do-while loopje...
In normale taal : zolang er records in de recordset aanwezig zijn maak dan per record een nieuwe option aan.

Bedenk alleen wel wat er gebeurd als er honderden records zijn...Precies, je dropdown menu wordt errug lang.
Ik zou ze zelf toch liever in een tabelletje zetten o.i.d.

Everytime I suffer I become a better man because of it


Acties:
  • 0 Henk 'm!

  • jurri@n
  • Registratie: Maart 2000
  • Laatst online: 12:06
PHP:
1
$query  = mysql_query("SELECT * FROM leden WHERE gebruikersnaam='$gb' AND id='$mbid' AND wachtwoord='$ww' AND activatie='1' AND status='Admin'") or die(mysql_error());


Deze query is ook niet echt optimaal. Met * haal je alle velden op uit je database. Dat kost tijd! Vervolgens doe je niets met die data (of zie ik dat over het hoofd?). Je kunt dat * dan beter vervangen door een 1. Dan wordt er geen data opgehaald. Scheelt weer een beetje in de systeembelasting.

edit: laat maar, ik heb niets gezegd... ik keek weer eens niet goed ;)

[ Voor 15% gewijzigd door jurri@n op 12-07-2003 09:14 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
jurri@n schreef op 12 July 2003 @ 09:12:
PHP:
1
$query  = mysql_query("SELECT * FROM leden WHERE gebruikersnaam='$gb' AND id='$mbid' AND wachtwoord='$ww' AND activatie='1' AND status='Admin'") or die(mysql_error());


Deze query is ook niet echt optimaal. Met * haal je alle velden op uit je database. Dat kost tijd! Vervolgens doe je niets met die data (of zie ik dat over het hoofd?). Je kunt dat * dan beter vervangen door een 1. Dan wordt er geen data opgehaald. Scheelt weer een beetje in de systeembelasting.

edit: laat maar, ik heb niets gezegd... ik keek weer eens niet goed ;)
Ik dacht al..

;) nee maar dat is voor het weer geven als je admin status hebt..
want der zijn echt vanatieke mensen op internet die gewoon alles eens in het adresbalkje zetten..
dus daarom deze mooie simpele beveiliging...
(dat is voor de poll servicez.)

en bedankt voor die uitleg over while..
ik zal eens kijken hoe ik ze moet gebruiken