Checken of hij in de database zit.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Wouter Lolz

Wouter Lolz

25/05/2011 20:54:38
Quote Anchor link
Hallo,

Ik heb een website die aan een game is gekoppelt.
Als je ingame bent geweest word er wat in de database gezet met je ingame naam, en of je online bent (0 = offline, 1 = online).
En op men website heb ik een berichtenbalk, en nou wil ik dus de status van de speler met een kleurtje laten weergeven.
Maar soms posten mensen wat in de berichten balk als ze nog niet ingame zijn geweest, dus als er nog niks in de database staan met hun naam en hun status.
En dan gaat het script buggen.
Dus is er een mogelijk heid om te checken of het wel in de database zit?

Ik heb al wat geprobeerd maar dat werkte niet echt.
Het ging om deze kleuren:
Rood(red) = offline
Groen(Green) = Online
Orangje(Orange) = Nog niet ingame geweest.

En ik probeerde het met dit 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
              <?php
// data ophalen via querys
$berichten = mysql_query("SELECT * FROM berichtenbalk ORDER BY id DESC LIMIT 10");
while($secondary = mysql_fetch_object($berichten))
{

 $checkonline = mysql_query('SELECT * FROM users_online WHERE name = '.$secondary->minecraftnaam.' LIMIT 1');
  $checkonline_fetch = mysql_fetch_array($checkonline);
  $online = '';
  if($checkonline_fetch['online']==0)
  {
$online = 'red';}
  elseif($checkonline_fetch['online'] >=1)
  {
$online = 'green';}

 if($online == ''){
 $online = 'orange';
 }

 echo'<a href="toevoegen.php"><img src="../images/toevoegen.png"/></a> ['.$secondary->naam.' <i>(<font color='.$online.'>'.$secondary->minecraftnaam.'</font>)</i>]: <b>'.ubb_code($secondary->bericht).'</b> - ';
}


                        ?>


Alvast bedankt :D
Tips ofzo altijd welkom, ben nog niet echt goed in scripten etc :s.
 
PHP hulp

PHP hulp

12/11/2024 20:39:44
 
Dennis meijer

dennis meijer

25/05/2011 20:59:57
Quote Anchor link
Gebruik mysql_num_rows
 
Wouter Lolz

Wouter Lolz

25/05/2011 21:01:09
Quote Anchor link
Nee, want als er niks in de database zit dan geeft hij een error dat er niks inzit.
 
Dennis meijer

dennis meijer

25/05/2011 21:02:38
Quote Anchor link
Met mysql_num_rows kun je het aantal rijen in je database zien... Dus als je daar een if statement van maakt als er meer dan 1 rij is dat die dan het laat zien en als die 0 returned dat die een melding geeft dat er geen gebruikers zijn ofzo.
 
Wouter Lolz

Wouter Lolz

25/05/2011 21:04:38
Quote Anchor link
dit?
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
<?php
                        $berichten_query
= mysql_query('SELECT * FROM berichtenbalk ORDER BY id DESC LIMIT 10');
                        while ($berichten_row = mysql_fetch_array($berichten_query)){
                          $checkonline_query = mysql_query('SELECT * FROM users_online WHERE name = '.$berichten_row['minecraftnaam'].' LIMIT 1');
                          if(mysql_num_rows($checkonline_query) == 0){
                            $online = 'orange';
                          }
else{
                            $checkonline_row = mysql_fetch_array($checkonline_query);
                          if($checkonline_row['online'] == '1'){
                            $online = 'green';
                          }
else{
                            $online = 'red';
                          }
                          }


                        echo'<a href="toevoegen.php"><img src="../images/toevoegen.png"/></a> ['.$berichten_row['naam'].' <i>(<font color='.$online.'>'.$berichten_row['minecraftnaam'].'</font>)</i>]: <b>'.ubb_code($berichten_row['bericht']).'</b> - ';
                        }

                        ?>

dan komt er deze error:
<b>Warning</b>: mysql_num_rows() expects parameter 1 to be resource, boolean given in
Gewijzigd op 25/05/2011 21:05:04 door Wouter Lolz
 
- SanThe -

- SanThe -

25/05/2011 21:21:33
Quote Anchor link
Foutafhandeling ontbreekt.
 
Wouter Lolz

Wouter Lolz

25/05/2011 21:32:07
Quote Anchor link
En hoe maak ik dat :(?
 
- SanThe -

- SanThe -

25/05/2011 21:36:26
 
Wouter Lolz

Wouter Lolz

25/05/2011 22:25:07
Quote Anchor link
Ik heb nu dit:
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
    <?php
                        $berichten_query
= mysql_query('SELECT * FROM berichtenbalk ORDER BY id DESC LIMIT 10');
                        while ($berichten_row = mysql_fetch_array($berichten_query)){
                          if (($checkonline_query = mysql_query('SELECT * FROM users_online WHERE name = '.$berichten_row['minecraftnaam'].' LIMIT 1')) === false)
{

    $online = 'orange';
}

else
{


                            $checkonline_row = mysql_fetch_array($checkonline_query);
                          if($checkonline_row['online'] == '1'){
                            $online = 'green';
                          }
else{
                            $online = 'red';
                          }
                         }


                        echo'<a href="toevoegen.php"><img src="../images/toevoegen.png"/></a> ['.$berichten_row['naam'].' <i>(<font color='.$online.'>'.$berichten_row['minecraftnaam'].'</font>)</i>]: <b>'.ubb_code($berichten_row['bericht']).'</b> - ';
                        }

                        ?>

Aleen nu geef die altijd orange aan?
 
- SanThe -

- SanThe -

25/05/2011 22:37:28
Quote Anchor link
Je query's mislukken blijkbaar nog steeds.

- SanThe - op 25/05/2011 21:21:33:
Foutafhandeling ontbreekt.
 
Wouter Lolz

Wouter Lolz

25/05/2011 23:04:04
Quote Anchor link
Opgelost :D
Bedankt.
 



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.