Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [php] script werkt niet goed (https://forum.scholieren.com/showthread.php?t=268159)

Ik 03-11-2002 16:00

[php] script werkt niet goed
 
Ik heb voor mn site een script gemaakt waarmee de beoordeling van mijn site in staafjes wordt weergeven/ Althans, dat was de bedoeling. Ik krijg nou wel staafjes, deze zijn echter 1 pixel breed. Deze zouden dus een variabele breedte moeten hebben de gelijk staat aan het aantal keren dat het bepaalde cijfer gegevens is.

De code is:

PHP-code:

<?php
    
// Maak connectie
    
$db mysql_connect();
    
    
// Haal het totaal aantal stemmen en het groostte aantal stemmen uit de database
    
$sql "SELECT SUM(stemmen) AS aantal, MAX(stemmen) AS maximum FROM votes";
    
$res mysql_query($sql) or die(mysql_error());
    
$aantal mysql_result($res0"aantal");
    
$maximum mysql_result($res0"maximum");
    
    if (
$aantal 0)
    {
        
// Haal de quotes uit de database met een join-query
        
$sql "SELECT cijfer FROM votes ORDER BY cijfer ASC";
        
$res mysql_query($sql) or die(mysql_error());
        if (
mysql_num_rows($res) > 0)
        {
            
// De maximumbreedte van een staafje
            
$max_width 200;
            
$max_perc $maximum $aantal;
            
$factor $max_width $max_perc;
            
            echo 
"<table border=0 cellspacing=0 cellpadding=0 width=\"100%\">\n";
            while (
$row mysql_fetch_object($res))
            {
                
/* Bereken het percentage van het totaal aantal stemmen. */
                
$perc $row->stemmen $aantal;
                
$width round($perc $factor);
                
                
/* Laat nu de output zien. */
                
echo "<tr>\n";
                echo 
"<td valign=\"top\"><i>\"$row->cijfer\"</i><br>\n-- $row->cijfer<br>&nbsp;</td>\n";
                echo 
"<td valign=\"top\"><img src=\"pixel.gif\" width=\"$width\" height=\"10\"></td>\n";
                echo 
"<td valign=\"top\">".round($perc 100)."%</td>\n";
                echo 
"</tr>\n";
            }
            echo 
"</table>\n";
        }
        else
        {
            echo 
"Geen cijfers beschikbaar.";
        }
    }
    else
    {
        echo 
"Er is nog niet gestemd.";
    }
?>

Op dit adres kan je het resultaat zien.

Wat doe ik hier toch fout? :confused:

McMotion 03-11-2002 16:22

zet het ff tussen PHP tags.. dat maakt het wat leesbaarder :)

eddie 03-11-2002 17:26

Kijk in je HTML output; de width van het plaatje staat keihard op 0.

Je berekening is dus fout -->Je $perc is 0 --> Je $row->stemmen is 0 (0 / 100 = 0)

Ik 03-11-2002 18:21

Citaat:

eddie schreef:
Kijk in je HTML output; de width van het plaatje staat keihard op 0.

Je berekening is dus fout -->Je $perc is 0 --> Je $row->stemmen is 0 (0 / 100 = 0)

Ik zie het ja.
Maar hoe kan ik dit aanpassen? Wat betekend de $row->stemmen? Dat pijltje :confused: Mjah, ik heb het uit een voorbeeld en snap nou net dit kleine dingetje niet :(

De rij stemmen in mijn database bevat verschillende waarden, niet decimaal en geen nul. Misschien dat het van toepassing is?

-=Odysseus=- 03-11-2002 18:26

Citaat:

Ik schreef:
Ik zie het ja.
Maar hoe kan ik dit aanpassen? Wat betekend de $row->stemmen? Dat pijltje :confused: Mjah, ik heb het uit een voorbeeld en snap nou net dit kleine dingetje niet :(

De rij stemmen in mijn database bevat verschillende waarden, niet decimaal en geen nul. Misschien dat het van toepassing is?

$row is een object en stemmen is daar een variabele van.

eddie 03-11-2002 18:29

Citaat:

Ik schreef:
Ik zie het ja.
Maar hoe kan ik dit aanpassen? Wat betekend de $row->stemmen? Dat pijltje :confused: Mjah, ik heb het uit een voorbeeld en snap nou net dit kleine dingetje niet :(

De rij stemmen in mijn database bevat verschillende waarden, niet decimaal en geen nul. Misschien dat het van toepassing is?

Vooropgesteld dat ik niet super thuis ben in PHP :):

Dat pijlte betekend een 'property'.
In andere OO talen kun je button.visible zeggen. Ik geloof dat het in PHP button->visible is.

$row is je result set die uit je query (select-statement) komt.

stemmen is een kolom in je query.

Als ik jou was zou ik in die kolom getallen zetten (22, 30, 100, etc) en dan nog even controleren.

En voor de rest:

http://www.php.net ;)

Ik/Slaughterer 05-11-2002 15:02

Citaat:

eddie schreef:
Vooropgesteld dat ik niet super thuis ben in PHP :):

Dat pijlte betekend een 'property'.
In andere OO talen kun je button.visible zeggen. Ik geloof dat het in PHP button->visible is.

$row is je result set die uit je query (select-statement) komt.

stemmen is een kolom in je query.

Als ik jou was zou ik in die kolom getallen zetten (22, 30, 100, etc) en dan nog even controleren.

En voor de rest:

http://www.php.net ;)

hm...even onder een andere naam... ik had wat problemen met die bovenaan de topic staat :S
In de kolom stemmen stonden al getallen, maar het werkt dus niet om de een of andere reden...

eddie 05-11-2002 19:17

Kijk eens naar je select-statements en hoe je met het resultaat verder werkt.

PHP-code:

// *knip*
$sql "SELECT cijfer FROM votes ORDER BY cijfer ASC";
$res mysql_query($sql) or die(mysql_error());
if (
mysql_num_rows($res) > 0)
{
  
// *knip*
  
while ($row mysql_fetch_object($res))
  {
    
/* Bereken het percentage van het totaal aantal stemmen. */
    
$perc $row->stemmen $aantal;
// *knip* 

Dit gaat niet werken natuurlijk...
$row heeft hier alleen maar cijfer als kolom ($row->cijfer dus)
$row->stemmen bestaat niet...

Ik/Slaughterer 10-11-2002 10:10

Citaat:

eddie schreef:
Kijk eens naar je select-statements en hoe je met het resultaat verder werkt.

Dit gaat niet werken natuurlijk...
$row heeft hier alleen maar cijfer als kolom ($row->cijfer dus)
$row->stemmen bestaat niet...

mjah, inderdaad :eek:

Bedankt :)


Alle tijden zijn GMT +1. Het is nu 13:14.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.