Avatar billede whizzper Nybegynder
15. marts 2004 - 13:48 Der er 12 kommentarer og
1 løsning

Hvis der ikke er nogle online

Hej!

Jeg har en side hvor man kan se hvor mange der er online, altså den ser efter om der er nogle der har: onlinestatus = '1'

Hvis der IKKE er nogle online, så skal den printe en tekst ud: Der er ikke nogle online!

Min kode ser sådan ud:

<?
$res = mysql_query("SELECT * FROM users WHERE online = '1'");
while($row = mysql_fetch_array($res)){

$hent = mysql_query("SELECT * FROM rooms WHERE id = '$row[room]'");
$rum = mysql_fetch_array($hent);
?>
Brugernavn: <?=$row[usr];?><BR>
Online i rummet <?=$rum[roomname];?><HR>
<?
}
?>

Hvad gør jeg så?
Avatar billede jolly_jay Nybegynder
15. marts 2004 - 14:17 #1
du kan bruge:

$onlinecheck = mysql_num_rows($res);
if($onlinecheck == 0) {
echo "Der er ikke nogle online!";
}
Avatar billede olebole Juniormester
15. marts 2004 - 18:06 #2
<ole>

"Hvis der IKKE er nogle online, så skal den printe en tekst ud: Der er ikke nogle online!"

*ROTFLMAO* ... Hvis ingen er online - hvem i alverden skal den så skrive det ud til?  ;oD

/mvh
</bole>
Avatar billede tefcke Nybegynder
15. marts 2004 - 21:48 #3
HaHa .. sad lige og tænkte det samme som olebole da jeg læste spg. ;D
Avatar billede wuddie Nybegynder
15. marts 2004 - 21:51 #4
Hvordan har du så tænkt dig at tjekke om det virker? Gøre det mens du er offline? :P
Avatar billede whizzper Nybegynder
21. marts 2004 - 21:00 #5
Har lavet en side på min forside hvor andre skal kunne se hvem der er logget på UDEN at de selv er logget ind..! Der ska koden smides ind ;)
Avatar billede olebole Juniormester
21. marts 2004 - 21:36 #6
Jamen, så kan du jo godt sige tak til jolly_jay  :)
Avatar billede jolly_jay Nybegynder
22. marts 2004 - 14:46 #7
jeg kan jo lige smide et svar hvis du har brugt mig :)
Avatar billede jensbn13 Nybegynder
22. marts 2004 - 15:04 #8
<?
$res = mysql_query("SELECT * FROM users WHERE online = '1'");
while($row = mysql_fetch_array($res)){

$hent = mysql_query("SELECT * FROM rooms WHERE id = '$row[room]'");
$rum = mysql_fetch_array($hent);
?>
Brugernavn: <?=$row[usr];?><BR>
Online i rummet <?=$rum[roomname];?><HR>
<?
}
?>
<?php
} else {
echo "ingen online";
}
?>
Avatar billede olebole Juniormester
22. marts 2004 - 15:52 #9
Hvis du ikke skal bruge alle informationer i en række, er det overkill at bruge '*' i forespørgslen. Nøjes med at hente det, du skal bruge - ellers sløver du sql-serveren unødigt.

Desuden er det dårlig kodeskik at undlade gåseøjne, når man trække noget ud af record-sættet. Ikke
  <?=$rum[roomname];?>
... men:
  <?=$rum["roomname"];?>
Godt nok retter PHP dårlig kode, men det kan være en sikkerhedsbrist at undlade dem og bør derfor undgås  :)
/mvh
Avatar billede tefcke Nybegynder
23. marts 2004 - 09:27 #10
Det er ikke bare dårlig kodeskiek, det er direkte forkert. Et arrey index kan enten være et heltal eller en streng (associative arrays).
Hvis du ikke har quoted tror php faktisk at det er en konstant, frem for en streng.

Tag et kig på: http://dk.php.net/manual/en/language.types.array.php under "Array do's and don'ts"
Avatar billede olebole Juniormester
23. marts 2004 - 19:09 #11
Ja, det er en af de helt store 'dummerter', folkene bag PHP har begået. Hvis bare det var sådan, at PHP altid troede, det var en variabel eller en konstant, ville det ikke være noget problem.
Problemet opstår derved, at PHP retter fejlen for koderen ved at tolke udtrykket som en streng, hvis en sådan variabel eller konstant ikke kan findes - det er alt andet end smart  :o|
Avatar billede tefcke Nybegynder
23. marts 2004 - 23:17 #12
Men hvis man bare udvikler med E_ALL, så sker sådan noget aldrig ;)

(Med mindre man helt vildt godt kan lide "Notice: ....")
Avatar billede olebole Juniormester
23. marts 2004 - 23:37 #13
Man kan også træde på thermometret ... så opdager man aldrig, patienten har feber:
  error_reporting(0);
;oD
/mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester