[php] dezelfde waarden in dropdown menu

Pagina: 1
Acties:
  • 56 views sinds 30-01-2008

  • Foutlook
  • Registratie: Februari 2001
  • Niet online
Heb een probleempje met php/mysql. Ik heb een dropdownmenu waarin ik de alle waarden van de kolom Rubriek uit de tabel Rara ingooi.

Nu zijn er wat dezelfde waarden in de kolom Rubriek, wat opzich wel klopt. Maar die waarden wil ik niet 10x in het dropdown dingetje hebben.

Hoe kan ik dus alle waarden 1x laten zien, en de overige dubbele waarden 'achterwege houden'.???

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
    echo "<form name="apartigheid">";
    echo "<select name=select>";  
    $mysql = mysql_query("SELECT * FROM rara");
    $totaal = mysql_num_rows($mysql); 
    while ($regel = mysql_fetch_array($mysql))
    { 
        $rubriek = $regel["rubriek"]; 
        echo "<option>$rubriek</option";
        echo "</select>";
        echo "</form>";
    } 
?>

Verwijderd

PHP:
1
 <?  echo "<form name="apartigheid">"; ?> 


klopt zowieso al niet

maar je kan het in array zetten en dan checken

  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 28-08 10:35
Alles in een array zetten en dan er een array_unique overheen doen.

  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-08 18:36
code:
1
SELECT DISTINCT Rubriek FROM rara;

Zoiets?

  • Foutlook
  • Registratie: Februari 2001
  • Niet online
Ericston schreef op 24 oktober 2002 @ 17:42:
code:
1
SELECT DISTINCT Rubriek FROM rara;

Zoiets?
Nee helaas, dan krijg ik een foutmelding op deze regel:
PHP:
1
$totaal = mysql_num_rows($mysql);


Maar zou iemand wat tips kunnen geven over die array. Hoe moet ik de inhoud van een kolom in een array zetten?? Kom er niet echt uit..

Verwijderd

Foutlook schreef op 24 oktober 2002 @ 17:12:
...
Hoe kan ik dus alle waarden 1x laten zien, en de overige dubbele waarden 'achterwege houden'.???

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
    echo "<form name="apartigheid">";
    echo "<select name=select>";  
    $mysql = mysql_query("SELECT * FROM rara");
    $totaal = mysql_num_rows($mysql); 
    while ($regel = mysql_fetch_array($mysql))
    { 
        $rubriek = $regel["rubriek"]; 
        echo "<option>$rubriek</option";
        echo "</select>";
        echo "</form>";
    } 
?>
een group by in je query heb je nodig en tevens mag je ook wel wat doen aan de netheid en correctheid van je code :)

hieronder is hoe het moet zijn :)
waarbij ik ook wat ongebruikte rotzooi heb weggehaald...

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?
    echo "<form name=\"apartigheid\">";
    echo "<select name=\"select\">";  
    $mysql = mysql_query( "SELECT rubriek FROM rara GROUP BY rubriek" );

    while ( $regel = mysql_fetch_array( $mysql ) )
    { 
        echo "<option>" . $regel["rubriek"] . "</option>";
    } 
    echo "</select>";
    echo "</form>";
?>

Verwijderd

Ericston schreef op 24 oktober 2002 @ 17:42:
code:
1
SELECT DISTINCT Rubriek FROM rara;

Zoiets?
DISTINCT is een group by op al je kolommen in je tabel...

dus als je bijv

1 Tralallaa
2 Tralallaa

hebt dan laat ie ze nog allebei zien :P

  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-08 18:36
Foutlook schreef op 24 oktober 2002 @ 17:53:
[...]


Nee helaas, dan krijg ik een foutmelding op deze regel:
PHP:
1
$totaal = mysql_num_rows($mysql);

[...]
Ehm, hoe implementeer je dat dan? Want het werkt gewoon hoor.
Verwijderd schreef op 24 oktober 2002 @ 18:12:
[...]
hebt dan laat ie ze nog allebei zien :P
Bullshit.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mysql> select id, a from test;
+----+------------+
| id | a          |
+----+------------+
|  1 | h          |
|  2 | h          |
|  3 | fdsgdhgfdh |
|  4 | fdsg       |
+----+------------+
4 rows in set (0.00 sec)

mysql> select distinct a from test;
+------------+
| a          |
+------------+
| h          |
| fdsgdhgfdh |
| fdsg       |
+------------+
3 rows in set (0.01 sec)

  • Foutlook
  • Registratie: Februari 2001
  • Niet online
Verwijderd schreef op 24 oktober 2002 @ 18:09:
[...]


een group by in je query heb je nodig en tevens mag je ook wel wat doen aan de netheid en correctheid van je code :)

hieronder is hoe het moet zijn :)
waarbij ik ook wat ongebruikte rotzooi heb weggehaald...

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?
    echo "<form name=\"apartigheid\">";
    echo "<select name=\"select\">";  
    $mysql = mysql_query( "SELECT rubriek FROM rara GROUP BY rubriek" );

    while ( $regel = mysql_fetch_array( $mysql ) )
    { 
        echo "<option>" . $regel["rubriek"] . "</option>";
    } 
    echo "</select>";
    echo "</form>";
?>
geweldig bedankt, dit werkt inderdaad! sorry voor de code. ben nog noob en snap vaak zelfs niet wat ik verkeerd doe aan mijn code. Voor mij ziet het er dan altijd nog overzichtelijk uit.

Waarom staan die punten eigenlijk tussen de <option>'s?

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Volgende keer even wat beter zoeken en je best doen, hoor. Dit is zo ongelooflijk triviaal, dat 't bijna uit zou nodigen tot nog meer zulke topics, en daar hebben we nou niet echt zin in ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1

Dit topic is gesloten.