Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Nimilista mySQL + PHP

unbound [28.02.2005 16:18:53]

#

$admin_online = mysql_query("SELECT * FROM kayttajat WHERE istunto > '1' AND arvo = 'admin'", $connect);

$admin_on_tunnus = array();

for ($i = 0; $i < mysql_num_rows($admin_online); $i++) {
	array_push($admin_on_tunnus, mysql_result($admin_online, $i, "tunnus"));
	$admin_on_arvo = mysql_result($admin_online, $i, "arvo");
	$admin_on_arvo = "@";
	sort($admin_on_tunnus);
		while (list($key, $val) = each($admin_on_tunnus)) {
  		echo "<b>$admin_on_arvo$val</b><br>";
		}
}

Äskeisen koodinpätkän olisi tarkoitus tulostaa kaikki adminit (jotka ovat online) aakkos-järjestyksessä.
Mutta... tämä jostain syystä, tulostaa adminit seuraavalla tavalla:

Adminnro1
Adminnro2
Adminnro1

Olettaessa tietenkin että adminit ovat Adminnro1 ja Adminnro2.
Pätkä kuitenkin tulostaa oikein, jos admineita on vain yksi.
Siis, mikähän tässä pätkässä mahtaapi olla vialla?

Niko [01.03.2005 01:09:55]

#

mikset sortaaa jo mysql lausekkeessa (SORT BY tunnus)?

ajv [01.03.2005 05:35:15]

#

Niko kirjoitti:

mikset sortaaa jo mysql lausekkeessa (SORT BY tunnus)?

Ihan ORDER BY kuiteskin :)

<?php
//haetaan VAIN tarvittavat kentät ja tosiaan hoidetaan sorttaus kannan puolella
$sql = mysql_query("SELECT tunnus,arvo FROM kayttajat WHERE istunto > 1 AND arvo = 'admin' ORDER BY tunnus", $connect);

//käydään tulokset läpi
while($row = mysql_fetch_assoc($sql)){
   echo $row['tunnus']." - ".$r['arvo']."<br />\n";
}
?>

P.S. Tuo käyttäjien "taso" olisi simppelimpi merkitä ihan numeroilla. Käyttäjätaso 0 on tavallinen käyttäjä ja esim. 10 on admin. Näin on ainakin helpompi jakaa erilaisille käyttäjille erilaisia oikeuksia ja koodikin selkiytyy.

unbound [01.03.2005 14:48:21]

#

Kiitoksia! Sain toimimaan ajv:n ehdotuksen.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta