Ik wil een rekensommetje uitvoeren met PHP, de gegevens komen uit PHP, en ik kom er niet uit :(..

Het volgende moet gebeuren:
De tabel cijfers bestaat uit
naam | vak | cijfer | waarde

Nu moeten de cijfers van vak $_GET['vak'] geselecteerd worden, en van de naam ".$naam." .

Nu moet ie alle cijfers van het vak en waarde de naam = $naam, selecteren en er het volgende mee doen:
- Alle waardes optellen en bv. geven naam waardes
- Alle punten ($cijfer*$waarde) moeten opgeteld worden met de naam totaal

Ik weet echt niet hoe het moet? Iemand anders idee?

BVD
Je haalt de gegevens uit een MySQL database zeg je in de topictitel, maar daarna komt het uit PHP...maar goed.

Ik neem aan dat het een database is, en dat je je pagina oproept met blaat.php?vak=engels ofzo. Wat je er dan precies mee wil doen kan ik niet uit je tekst halen, maar ik gok dat het dan zou het zoiets worden.

<table>
<tr><td colspan="4">Cijfers van <?= $naam; ?> voor het vak <?= $_GET['vak']; ?></td></tr>
<tr><td>#</td><td>Cijfer</td><td>Waarde</td><td>Cijfer * Waarde</td></tr>
<?
$vakTotaal = 0;
$cijferTotaal = 0;
$waardeTotaal = 0;
$tellingTotaal = 0;
$result = mysql_query("SELECT cijfer, waarde, cijfer * waarde AS telling WHERE vak = '".$_GET['vak']."' AND naam = '".$naam."'");
while ($row = mysql_fetch_object($result)) {
$vakTotaal++;
$cijferTotaal += $row->cijfer;
$waardeTotaal += $row->waarde;
$tellingTotaal += $row->telling;
echo '<tr><td>'.$vakTotaal.'</td><td>'.$row->cijfer.'</td><td>'.$row->waarde.'</td><td>'.$row->telling.'</td></tr>';
}
?>
<tr><td>Totaal:</td><td><?= $cijferTotaal; ?></td><td><?= $waardeTotaal; ?></td><td><?= $tellingTotaal; ?></td></tr>';
<tr><td>Gemiddeld:</td><td><?= ($cijferTotaal / $vakTotaal); ?></td><td><?= ($waardeTotaal / $vakTotaal); ?></td><td><?= ($tellingTotaal / $vakTotaal); ?></td></tr>
</table>

Ik heb er maar een tabel van gemaakt waarin alle gegevens komen te staan met daaronder twee rijen met het totaal en het gemiddelde.

Mag je zelf kijken wat je ervan nodig hebt.
Dat bedoelde ik :)..

Het werkt alleen niet, het word inderdaad opgevraagd met leden.php?p=cijfers&vak=AK (2 letters van vak).

Erorr:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/bncijfers/cijfers.php on line 42

Connectie met DB is al eerder gemaakt..

?
Is de tabel nog leeg?
@ Dave
Nee, tabel is gwoon niet aangeroepen

ZIt een klein foutje in:
<?php
$result = mysql_query("SELECT cijfer, waarde, cijfer * waarde AS telling WHERE vak = '".$_GET['vak']."' AND naam = '".$naam."'");
?>

PHP weet niet welke tabel..
heb ervan gemaakt:
<?php
$result = mysql_query("SELECT cijfer, waarde, cijfer * waarde AS telling FROM cijfers WHERE vak = '".$_GET['vak']."' AND naam = '".$naam."'");
?>

Het werkt!!..
Bedankt!!
Ah shit ja, helemaal vergeten. Maar het werkt nu.
At your service :)
Danku :)
Weer wat geleerd :) (ik en jij ;) )
Naar 2e cijfer te hebben ingevoerd kwam ik erachter dat het nog niet zoals ik wou werkte.. dit had ik al :)..

De bedoeling is, dat het het gemiddelde van alle cijfers van naam=naam en vak=vak opvraagt :)..

Of heb ik het script nu weer zover verknald :$
Jorik had script te ver verknald :$.. beetje wijzigen ga juiste resultaat :)

Volgende :):

Nu moet ie nog afronden op 2 tienden, dus alst 5,333333333333 is dat het 5,33 word, en als het 5,4466 dat het 5,45 word..

script naar wijzigen:
<table width="100%">
<?
$vakTotaal = 0;
$cijferTotaal = 0;
$waardeTotaal = 0;
$tellingTotaal = 0;
$result = mysql_query("SELECT cijfer,waarde,cijfer*waarde AS telling FROM cijfers WHERE vak = '".$_GET['vak']."' AND naam = '".$naam."'");
while ($row = mysql_fetch_object($result)) {
$vakTotaal++;
$cijferTotaal += $row->cijfer;
$waardeTotaal += $row->waarde;
$tellingTotaal += $row->telling;
#echo "<tr><td>".$vakTotaal."</td><td>".$row->cijfer."</td><td>".$row->waarde."</td><td>".$row->telling."</td></tr>";
#echo "<tr>\n";
#echo "<td align='center'>".$row->cijfer."</td>";
#echo "</tr>\n";
}
?>
<tr>
<td><?= ($tellingTotaal / $waardeTotaal); ?></td>
</tr>
</table>

hoe moet dat :P?
Dat zoiets:

<table>
<tr><td colspan="4">Cijfers van <?= $naam; ?> voor het vak <?= $_GET['vak']; ?></td></tr>
<tr><td>#</td><td>Cijfer</td><td>Waarde</td><td>Cijfer * Waarde</td></tr>
<?
$vakTotaal = 0;
$cijferTotaal = 0;
$waardeTotaal = 0;
$tellingTotaal = 0;
$result = mysql_query("SELECT cijfer, waarde, cijfer * waarde AS telling FROM cijfers WHERE vak = '".$_GET['vak']."' AND naam = '".$naam."'");
while ($row = mysql_fetch_object($result)) {
$vakTotaal++;
$cijferTotaal += $row->cijfer;
$waardeTotaal += $row->waarde;
$tellingTotaal += $row->telling;
echo '<tr><td>'.$vakTotaal.'</td><td>'.$row->cijfer.'</td><td>'.$row->waarde.'</td><td>'.$row->telling.'</td></tr>';
}
?>
<tr><td>Totaal:</td><td><?= $cijferTotaal; ?></td><td><?= $waardeTotaal; ?></td><td><?= $tellingTotaal; ?></td></tr>';
<tr><td>Gemiddeld:</td><td><?= ($cijferTotaal / $vakTotaal); ?></td><td><?= ($waardeTotaal / $vakTotaal); ?></td><td><?= ($tellingTotaal / $vakTotaal); ?></td></tr>
<tr><td colspan="2">Totaalgemiddelde:</td><td colspan="2"><?= ($tellingTotaal / $waardeTotaal); ?></td></tr>
</table>
Waar rond ie nu af dan :s ?

Reageren