Hoi, ik weet niet of ik op dit forum op het goede adres ben maar ik ben als leek op zoek naar een basis php code voor een website van mij. Ik beheer een website van een restaurant van mijn vader en heb een keuzemenu voor de kerst gemaakt en die gelinkt aan een DB met mysql. Nu wil ik graag op een webpagina de resultaten uit de DB weergeven in een tabel. Ik ben zover dat ik rijen kan laten tonen maar verder kom ik echt niet. Het mooiste is dat alle gegevens van alle rijen worden weergegeven en dat de rijen met de cijfers automatische worden opgeteld met onderin een totaal. Eigenlijk gewoon het zelfde als excel maar dan op mijn site zodat mijn vader op die pagina kan zien hoeveel reserveringen er reeds binnen zijn.

Ik heb nu:

<?php

mysql_connect("node-01-int.mysql.hostnet.nl","**","**");
mysql_select_db("db8484_kerst2014") or die("geen verbinding met de DB");

$query = mysql_query('SELECT naam,telefoon FROM kerst_2014');

while($rows = mysql_fetch_assoc($query)){

echo $rows['naam'] . " " . $rows['telefoon'] . "<br>";

}


?>
Je zou het simpelste je code met een teller kunnen uitbreiden:


<?php
//$teller beginwaarde meegeven
    $teller = 1;

    mysql_connect("node-01-int.mysql.hostnet.nl","**","**"); 
    mysql_select_db("db8484_kerst2014") or die("geen verbinding met de DB"); 
 
    $query = mysql_query('SELECT naam,telefoon FROM kerst_2014');
    
    while($rows = mysql_fetch_assoc($query)){
//$teller meenemen in de regel    
        echo $teller . "-" .$rows['naam'] . " " . $rows['telefoon'] . "<br>";
//$teller ophogen 
        $teller++;
        }
        
        
?>
maak gebruik van mysqli ipv mysql.

kijk ook eens naar mysqli_num_rows
Zie: http://php.net/manual/en/mysqli-result.num-rows.php

om antwoord te geven op jou vraag:

<?hh
$aantal = mysql_num_rows($query);
echo 'Totaal: '.$aantal;
?>
Over je databasestructuur...

Gezien je een jaartal in je tabel gebruikt, neem ik aan dat je per jaar een nieuwe tabel aanmaakt?

In dat geval moet je eens kijken naar Databasenormalisatie.
Hoi Jeroen, bedankt voor je code. Werkt goed alleen doet nog niet geheel wat ik voor ogen heb. Ik denk dat ik de raag niet goed gesteld heb. Het is nl een tweeledige vraag.

1 - hoe krijg ik het voor elkaar dat mijn resultaten uit de DB in tabellen worden weergegeven. Met een mooi kopje van de kolomnaam?

2 - als je nu naar mijn code kijkt zie je twee andere variabelen. Dit zijn het aantal volwassenen en kinderen. Hoe krijg ik de totalen van de kolom volwassen en kinderen?

<?php

mysql_connect("node-01-int.mysql.hostnet.nl","*",""*);
mysql_select_db("db8484_kerst2014") or die("geen verbinding met de DB");

$query = mysql_query('SELECT naam,volwassenen,kinderen FROM kerst_2014');

while($rows = mysql_fetch_assoc($query)){
//$teller meenemen in de regel
echo $teller . "-" .$rows['naam'] . " " . $rows['volwassenen'] . " " . $rows['kinderen'] . "<br>";
//$teller ophogen
$teller++;
}


?>


[size=xsmall]Toevoeging op 03/09/2014 12:11:17:[/size]

De website waar ik het vandaan haal is trouwens: http://www.expounicum.nl/keuzemenu/
En de site waar ik mijn resultaten wil hebben is: http://expounicum.nl/resultaat/
<?php

mysql_connect("node-01-int.mysql.hostnet.nl","*",""*);
mysql_select_db("db8484_kerst2014") or die("geen verbinding met de DB");

$query = mysql_query('SELECT naam,volwassenen,kinderen FROM kerst_2014');
$teller = 1;
echo '
<table width="100%">
<tr>
<td></td>
<td>Naam</td>
<td>Volwassen</td>
<td>Kids</td>
<td>Totaal</td>
</tr>';
while($rows = mysql_fetch_assoc($query)){
$aantal = $rows['volwassenen']+$rows['kinderen'];
echo '
<tr>
<td>'.$teller.'</td>
<td>'.$rows['naam'].'</td>
<td>'.$rows['volwassenen'].'</td>
<td>'.$rows['kinderen'].'</td>
<td>'.$aantal.'</td>
</tr>
';
$teller++;
}
echo '</table>';


?>
Maar komen die ook allemaal op dezelfde datum, of heb je het over het kerstmenu geserveerd in de 2 weken voor kerst?

wil je nog apart weten hoeveel volwassenen en hoeveel kinderen er zijn?

En tenslotte: misschien is het ook handig om dit script voor Pasen en Pinksteren opnieuw te gebruiken (en volgend jaar weer).

In dat geval zou ik
een kolom Jaartal opnemen
en ook een kolom "gelegenheid" waarin dan Kerst of Pasen of Pinksteren staat.

sowieso zou ik de database niet naar kerst vernoemd hebben, maar naar het restaurant. Of iets met "reserveringen".




Geweldig dit.. Wat gaaf om hiermee te werken. Top Elmar... Ook de andere tips neem ik zeker mee..

Nu nog een vraag. Nu zijn de kinderen en de volwassenen bij elkaar opgeteld. Nu wil ik liever dat de hele kolom volwassenen bij elkaar opgeteld wordt. en daarnaast wil ik graag dat de kolom kinderen bij elkaar opgeteld wordt. Dan heb ik in 1 oog opslag het overzicht van het aantal volwassenen en het aantal kinderen. Als ik die weer bij elkaar optel weet ik hoeveel personen er gereserveerd hebben.

Ik hoop dat dat kan?

Thanks!!!

<?php

mysql_connect("node-01-int.mysql.hostnet.nl","*",""*);
mysql_select_db("db8484_kerst2014") or die("geen verbinding met de DB");

$query = mysql_query('SELECT naam,kerstdag,volwassenen,kinderen FROM kerst_2014');
$teller = 1;
echo '
<table width="100%">
<tr>
<td></td>
<td>Naam</td>
<td>kerstdag</td>
<td>Volwassen</td>
<td>Kinderen</td>
<td>Totaal</td>
</tr>';
while($rows = mysql_fetch_assoc($query)){
$aantal = $rows['volwassenen']+$rows['kinderen'];
echo '
<tr>
<td>'.$teller.'</td>
<td>'.$rows['naam'].'</td>
<td>'.$rows['kerstdag'].'</td>
<td>'.$rows['volwassenen'].'</td>
<td>'.$rows['kinderen'].'</td>
<td>'.$aantal.'</td>
</tr>
';
$teller++;
}
echo '</table>';


?>
Men neme een schrijfblok en een schrijfwaar...............

Maar even serieus...Wat heb je zelf geprobeerd?

Hier heb je een opzetje:

<?php
$query = mysql_query('SELECT naam,kerstdag,volwassenen,kinderen, SUM(volwassenen) as totaal_volwassenen FROM kerst_2014');


echo 'Totaal volwassenen: '.$rows['totaal_volwassenen'];
?>
Ik doe mijn best... Alleen gaf ik al aan dat ik een leek ben. ook met het lezen en proberen gaat het traag en moet ik mijn best doen om het begrijpen. Des al niet te min helpen jullie mij erg verder, als iets werkt en ik zie het weet ik ook vaak waarom en kan ik het ineens plaatsten.

Neemt bv nu jou laatste code, begrijp wat er staat maar waar moet ik die plaatsen en hoe doe ik dat..

grtz De Leek

;-)

ps of moet ik maar een script laten maken? wat zou dat kosten?
vervang:
$query = mysql_query('SELECT naam,kerstdag,volwassenen,kinderen FROM kerst_2014');
voor:
$query = mysql_query('SELECT naam,kerstdag,volwassenen,kinderen, SUM(volwassenen) as totaal_volwassenen FROM kerst_2014');

plaats is onder:
echo '</table>';
Het volgende:
echo 'Totaal volwassenen: '.$rows['totaal_volwassenen'];

Reageren