'Rekenen in while'

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

G Jansma

G Jansma

14/11/2015 00:29:30
Quote Anchor link
Hallo,

Ik ben recentelijk begonnen met PHP maar loop tegen een punt aan waar ik geen antwoord op heb kunnen vinden. Ik wil een volledige stand tonen met daarbij de huidige en vorige positie van de speler. Nou wil ik laten zien hoeveel plaatsen iemand is gestegen of gedaald, dus de vorige_positie - huidige_positie, maar ik weet niet hoe ik dat zou moeten doen in de while. Je kunt dus stijgen, zakken, zelfde positie blijven en nieuwe binnenkomer zijn, en daar zou ik het liefst dus in een echo een eigen div aan koppelen.

Alvast bedankt!



Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
$sql="SELECT * FROM stand";
$result=mysqli_query($con,$sql);
  
while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC))
 
            echo "{$row['huidige_positie']}
                {$row['vorige_positie']}
                {$row['naam_volledig']}
                {$row['punten']}";
 
PHP hulp

PHP hulp

24/04/2024 20:57:11
 
Eddy E

Eddy E

14/11/2015 10:47:07
Quote Anchor link
Je hebt ook de positie van vorige week nodig.
Die zou je gewoon (per uitslag) inclusief datum moeten opslaan.
En dan kan je eenvoudig kijken (per stand) of die gelijk is (vorige week 3, nu 3 = gelijk), of hij omhoog/omlaag is of nieuw (dan is er geen resultaat vorige week).

Met jouw code (wat echt een minium is) kom je er dus nog niet.

Sla je nu al de positie op? Of bereken je die elke keer opnieuw?

Tip: zoek eens op "competitie" hier. Er zijn al genoeg topics met hetzelfde voorbij gekomen.
 
G Jansma

G Jansma

14/11/2015 11:58:31
Quote Anchor link
Eddy E op 14/11/2015 10:47:07:
Je hebt ook de positie van vorige week nodig.
Die zou je gewoon (per uitslag) inclusief datum moeten opslaan.
En dan kan je eenvoudig kijken (per stand) of die gelijk is (vorige week 3, nu 3 = gelijk), of hij omhoog/omlaag is of nieuw (dan is er geen resultaat vorige week).

Met jouw code (wat echt een minium is) kom je er dus nog niet.

Sla je nu al de positie op? Of bereken je die elke keer opnieuw?

Tip: zoek eens op "competitie" hier. Er zijn al genoeg topics met hetzelfde voorbij gekomen.


Ik ga je tip zeker bekijken.

Ik werk voorlopig nog met een handmatig ingevoerde ranking.
Die is opgebouwd als: 1 - 2 - Jan Jansen - 40 punten.
In feite heb ik dus wel de gegevens die ik nodig heb, maar ik weet dus niet hoe ik daarmee stijging of daling kan 'berekenen'. Op het moment roep ik het inderdaad alleen aan, maar ik weet niet hoe ik het in die echo moet verwerken.
 
Willem vp

Willem vp

14/11/2015 18:39:12
Quote Anchor link
Bedoel je zoiets?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
printf('Verschil t.o.v. vorige week: %+d plaatsen', $row['vorige_positie'] - $row['huidige_positie']);
?>
 
G Jansma

G Jansma

15/11/2015 23:41:27
Quote Anchor link
Het is me na wat zoek- en puzzelwerk gelukt. Bedankt voor de reaties!

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
while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC))
 {
            echo "{$row['huidige_positie']}
                {$row['vorige_positie']}
                {$row['naam_volledig']}
                {$row['punten']}";
    
    $curr = $row['huidige_positie'];
    $prev =    $row['vorige_positie'];
    $result1 = $prev - $curr;
    
if (is_numeric($prev)) {
    
    if ($result1 >= 1) { echo "Gestegen";} else { echo "";}
    if ($result1 <= -1) { echo "Gezakt";} else { echo "";}
    if ($result1 == 0) { echo "Zelfde positie";} else { echo "";}
}
    if (strpos($prev,'-') !== false) {echo 'Nieuwe binnenkomer';}

 }
Gewijzigd op 15/11/2015 23:42:23 door G Jansma
 



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.