php script verkeerd?

Status
Niet open voor verdere reacties.

redskin

Gebruiker
Lid geworden
23 sep 2007
Berichten
90
Heb een formuliertje gemaakt met array.
Als ik
- bv. 2 kinderen invul en klik op verzenden dan wordt 2 email verzonden.
Op de database wordt de aanmelding per kind (2 keer) opgeslagen. zie kolom kind data
v3.jpg

PHP:
<?php
require "db.php";
// Data Form
if (isset($_POST["naam"])) $naam = $_POST["naam"];
if (isset($_POST["adres"])) $adres = $_POST["adres"];
if (isset($_POST["postcode"])) $postcode = $_POST["postcode"];
if (isset($_POST["woonplaats"])) $woonplaats = $_POST["woonplaats"];
if (isset($_POST["telefoon"])) $telefoon = $_POST["telefoon"];
if (isset($_POST["email"])) $email = $_POST["email"];

foreach($_POST['kindernaam'] as $row => $value1)
{
$kindernaam = mysql_real_escape_string($value1);
$leeftijd = mysql_real_escape_string($_POST['leeftijd'][$row]);
$les = mysql_real_escape_string($_POST['les'][$row]);
$kinddata = $kindernaam . " - " . $leeftijd . " - " . $les;

//echo $naam.$adres.$postcode.$woonplaats.$telefoon.$email.$kinddata.
$sql = "INSERT INTO aanmelding VALUES (NULL, '$naam', '$adres', '$postcode', '$woonplaats', '$telefoon', '$email', '$kinddata')";
$res = mysql_query($sql);

if ($res){
}

        
		$ord = mysql_query("SELECT aanmldid FROM aanmelding ORDER BY aanmldid DESC LIMIT 1");
		$row = mysql_fetch_row($ord);
		
		if (!empty($email)){
	    $ontvanger = $email;
	    }

		
	    require "config.php";
		$aan = AANMELDEN;
		$onderwerp = "Aanmelding";
		$gegevens = "Geachte dhr/mv $naam, <br><br>
Hierbij de bevestiging van uw aanmelding.<br>
We hebben de onderstaande gegevens in onze database opgenomen (zie hieronder alle gegevens die u heeft ingevuld): <br>
<br>
<table>
	<tr><td width=190>Aanmelding nr.</td><td>:</td><td>$row[0]</td></tr>
	<tr><td>Naam</td><td>:</td><td>$naam</td></tr>
	<tr><td>Adres</td><td>:</td><td>$adres</td></tr>
	<tr><td>Postcode</td><td>:</td><td>$postcode</td></tr>
	<tr><td>Woonplaats</td><td>:</td><td>$woonplaats</td></tr>
	<tr><td>Telefoon nummer</td><td>:</td><td>$telefoon</td></tr>
	<tr><td>E-Mail</td><td>:</td><td>$email</td></tr>
	<tr><td>Kind data</td><td>:</td><td>$kinddata</td></tr>
</table>
";

		$headers = "Van: ".$naam." <".$email.">\r\n";    
        $headers .= "MIME-Version: 1.0\r\n";
		$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
        $headers .= "Reply-To: ".$naam." <".$email.">\r\n"; 
        @mail($aan, $onderwerp, $gegevens, $headers);
		
}
?>
Hoe kan ik dan op de kolom 'kind data' beide kinderen vertonen? :o
Kan iemand mij helpen corrigeren?
 
Laatst bewerkt:
Hoi redskin,
Het probleem ligt in het feit dat je wel kinddata vernieuwd in die foreach loop, maar de andere data in de volgende variablenen '$naam', '$adres', '$postcode', '$woonplaats', '$telefoon', '$email' gelijk blijven omdat ze boven de loop gevuld worden en niet meer veranderen.

Groeten
Olav
 
Laatst bewerkt:
Hoi Olav,

Hoe kan ik dan alle kinderen data in de kolom 'kind data' opslaan en op een email verzenden?
Misschien een voorbeeld

gr
 
Laatst bewerkt:
Probeer dit eens redskin

PHP:
<?php 
require "db.php"; 

// Data Form 
if (isset($_POST["naam"])) $naam = $_POST["naam"]; 
if (isset($_POST["adres"])) $adres = $_POST["adres"]; 
if (isset($_POST["postcode"])) $postcode = $_POST["postcode"]; 
if (isset($_POST["woonplaats"])) $woonplaats = $_POST["woonplaats"]; 
if (isset($_POST["telefoon"])) $telefoon = $_POST["telefoon"]; 
if (isset($_POST["email"])) $email = $_POST["email"]; 

require "config.php"; 
$aan = AANMELDEN; 
$onderwerp = "Aanmelding"; 
$gegevens = "Geachte dhr/mv ". $naam .", <br><br> 
	     Hierbij de bevestiging van uw aanmelding.<br> 
	     We hebben de onderstaande gegevens in onze database opgenomen (zie hieronder alle gegevens die u heeft ingevuld): <br><br>
	     <table> 
	     	<tr><td width=190>Naam</td><td>:</td><td>". $naam ."</td></tr> 
		<tr><td>Adres</td><td>:</td><td>". $adres ."</td></tr> 
	    	<tr><td>Postcode</td><td>:</td><td>". $postcode ."</td></tr> 
    		<tr><td>Woonplaats</td><td>:</td><td>". $woonplaats ."</td></tr> 
    		<tr><td>Telefoon nummer</td><td>:</td><td>". $telefoon ."</td></tr> 
    		<tr><td>E-Mail</td><td>:</td><td>". $email ."</td></tr> ";

foreach($_POST['kindernaam'] as $row => $value1) 
{ 
	$kindernaam = mysql_real_escape_string($value1); 
	$leeftijd = mysql_real_escape_string($_POST['leeftijd'][$row]); 
	$les = mysql_real_escape_string($_POST['les'][$row]); 
	$kinddata = $kindernaam . " - " . $leeftijd . " - " . $les; 

	//echo $naam.$adres.$postcode.$woonplaats.$telefoon.$email.$kinddata. 
	$sql = "INSERT INTO aanmelding VALUES (NULL, '$naam', '$adres', '$postcode', '$woonplaats', '$telefoon', '$email', '$kinddata')"; 
	$res = mysql_query($sql); 
	
	if ($res)
	{ 
         
	        $ord = mysql_query("SELECT aanmldid FROM aanmelding ORDER BY aanmldid DESC LIMIT 1"); 
	        $row = mysql_fetch_row($ord); 
        	 

		$gegevens .=
  			"<tr><td width=190>Aanmelding nr.</td><td>:</td><td>". $row[0] ."</td></tr> 
	    		 <tr><td>Kind data</td><td>:</td><td>". $kinddata ."</td></tr>"; 
	}
         
} 

 	$gegevens .= "</table>"; 

	if (!empty($email))
	{ $ontvanger = $email;	} 
        
	$headers = "Van: ".$naam." <".$email.">\r\n";     
        $headers .= "MIME-Version: 1.0\r\n"; 
        $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
        $headers .= "Reply-To: ".$naam." <".$email.">\r\n";  
        @mail($aan, $onderwerp, $gegevens, $headers); 
?>

Groeten
Olav
 
Hoi,
bedankt voor je reactie.

Het aanmelding formulier wordt een keer verzonden. Dus het werkt :thumb:
n1.jpg

maar de aanmelding nummer en kind data krijg ik meerdere keer te zien (dit volgen de totale van aantal aangemelde kinderen) en ook vanuit database van aanmelding tabel krijg ik apart gemeld
n2.jpg

het zal beter zijn als een aanmelding nummer en de totale aangemelde kinderen in kolom kinddata komen staan, toch?

gr
 
wil je dan dat op 1 aanmeldnummer meerdere kinderen ingeschreven kunnen worden?
Zoals je het nu hebt, heeft ieder kind zijn eigen nummer, je kan het ook kindnummer noemen ;-)
Dan kan je eventueel een apart tellertje bij houden wat het laatste aanmeldnummer is. je moet dan in je tabel een extra kolom maken "aanmeldnummer"
Ik zal er vanavond als ik thuis ben nog eens naar kijken.

Olav
 
PHP:
<?php 
require "db.php"; 
require "config.php"; 

// Data Form 
if (isset($_POST["naam"])) $naam = $_POST["naam"]; 
if (isset($_POST["adres"])) $adres = $_POST["adres"]; 
if (isset($_POST["postcode"])) $postcode = $_POST["postcode"]; 
if (isset($_POST["woonplaats"])) $woonplaats = $_POST["woonplaats"]; 
if (isset($_POST["telefoon"])) $telefoon = $_POST["telefoon"]; 
if (isset($_POST["email"])) $email = $_POST["email"]; 

$result = mysql_query("SELECT inschrnr FROM aanmelding ORDER BY inschr_nr DESC LIMIT 1"); 
list($inschrnr) = mysql_fetch_row($result); 
$inschrnr = $inschrnr +1;

$aan = AANMELDEN; 
$onderwerp = "Aanmelding"; 
$gegevens = "Geachte dhr/mv ". $naam .", <br><br> 
         Hierbij de bevestiging van uw aanmelding.<br> 
         We hebben de onderstaande gegevens in onze database opgenomen (zie hieronder alle gegevens die u heeft ingevuld): <br><br>
         <table>
		 	<tr><td width=190>Inschrijfnummer</td><td>:</td><td>". $inschrnr ."</td></tr>  
         	<tr><td>Naam</td><td>:</td><td>". $naam ."</td></tr> 
         	<tr><td>Adres</td><td>:</td><td>". $adres ."</td></tr> 
            <tr><td>Postcode</td><td>:</td><td>". $postcode ."</td></tr> 
            <tr><td>Woonplaats</td><td>:</td><td>". $woonplaats ."</td></tr> 
            <tr><td>Telefoon nummer</td><td>:</td><td>". $telefoon ."</td></tr> 
            <tr><td>E-Mail</td><td>:</td><td>". $email ."</td></tr> ";

foreach($_POST['kindernaam'] as $row => $value1) 
{ 
    $kindernaam = mysql_real_escape_string($value1); 
    $leeftijd = mysql_real_escape_string($_POST['leeftijd'][$row]); 
    $les = mysql_real_escape_string($_POST['les'][$row]); 
    $kinddata = $kindernaam . " - " . $leeftijd . " - " . $les; 

    //echo $naam.$adres.$postcode.$woonplaats.$telefoon.$email.$kinddata. 
    $sql = "INSERT INTO aanmelding VALUES (NULL, '$inschrnr', '$naam', '$adres', '$postcode', '$woonplaats', '$telefoon', '$email', '$kinddata')"; 
    $res = mysql_query($sql); 
    
    if ($res)
    {       $ord = mysql_query("SELECT aanmldid FROM aanmelding ORDER BY aanmldid DESC LIMIT 1"); 
            $row = mysql_fetch_row($ord); 
            $gegevens .=
              "<tr><td width=190>Lid nummer</td><td>:</td><td>". $row[0] ."</td></tr> 
               <tr><td>Gegevens kind</td><td>:</td><td>". $kinddata ."</td></tr>"; 
    }
         
} 

     $gegevens .= "</table>"; 

    if (!empty($email))
    { $ontvanger = $email;    } 
        
    $headers = "Van: ".$naam." <".$email.">\r\n";     
        $headers .= "MIME-Version: 1.0\r\n"; 
        $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
        $headers .= "Reply-To: ".$naam." <".$email.">\r\n";  
        @mail($aan, $onderwerp, $gegevens, $headers); 
?>

Ik heb hem zo gemaakt dat je in je tabel "aanmelding" een extra kolom moet plaatsen, tussen "aanmldid" en "naam". Die kolom moet je "inschrnr" noemen.
Ook heb ik de mail zelf iets aangepast: "Aanmelding nr." heb ik "Lid nummer" van gemaakt en van "Kind data" heb ik "Gegevens kind" gemaakt.
Maar waarom wil je de gegevens van het kind in 1 kolom plaatsen?
Je kan die gegevens ook uitsplitsen in 3 kolommen;
"naam_kind", "leeftijd" en "Taal" (?)

Misschien nog makkelijker is om het geboortejaar te kiezen in plaats van leeftijd. Dat kind wordt ook elk jaar een jaar ouder, dus dan is je database niet meer up to date.
Maar dat hangt natuurlijk af waar je het voor maakt en wat je bedoeling is met de gegevens.

Groeten
Olav
 
Ik heb het script en database aangepast
PHP:
<?php 
require "db.php"; 

// Data Form 
if (isset($_POST["naam"])) $naam = $_POST["naam"]; 
if (isset($_POST["adres"])) $adres = $_POST["adres"]; 
if (isset($_POST["postcode"])) $postcode = $_POST["postcode"]; 
if (isset($_POST["woonplaats"])) $woonplaats = $_POST["woonplaats"]; 
if (isset($_POST["telefoon"])) $telefoon = $_POST["telefoon"]; 
if (isset($_POST["email"])) $email = $_POST["email"]; 

$result = mysql_query("SELECT inschrnr FROM aanmelding ORDER BY inschrnr DESC LIMIT 1"); 
list($inschrnr) = mysql_fetch_row($result); 
$inschrnr = $inschrnr +1;
 
$aan = AANMELDEN; 
$onderwerp = "Aanmelding"; 
$gegevens = "Geachte dhr/mv ". $naam .", <br><br> 
         Hierbij de bevestiging van uw aanmelding.<br> 
         We hebben de onderstaande gegevens in onze database opgenomen (zie hieronder alle gegevens die u heeft ingevuld): <br><br>
         <table> 
            <tr><td width=190>Inschrijfnummer</td><td>:</td><td>". $inschrnr ."</td></tr>
            <tr><td>Naam</td><td>:</td><td>". $naam ."</td></tr>
			<tr><td>Adres</td><td>:</td><td>". $adres ."</td></tr> 
            <tr><td>Postcode</td><td>:</td><td>". $postcode ."</td></tr> 
            <tr><td>Woonplaats</td><td>:</td><td>". $woonplaats ."</td></tr> 
            <tr><td>Telefoon nummer</td><td>:</td><td>". $telefoon ."</td></tr> 
            <tr><td>E-Mail</td><td>:</td><td>". $email ."</td></tr></table>
			<br><table><tr><td>Aangemeld</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
			<tr><td width=150>Kindernaam</td><td width=100>Geb.datum</td><td width=100>Les</td><td width=100>Reg.datum</td></tr></table> ";

foreach($_POST['kindernaam'] as $row => $value1) 
{ 
    $kindernaam = mysql_real_escape_string($value1); 
    $gebdatum = mysql_real_escape_string($_POST['gebdatum'][$row]); 
    $les = mysql_real_escape_string($_POST['les'][$row]); 
    $regdatum = mysql_real_escape_string($_POST['regdatum'][$row]); 

    //echo $naam.$adres.$postcode.$woonplaats.$telefoon.$email.$kindernaam.$gebdatum.$les.$regdatum. 
    $sql = "INSERT INTO aanmelding VALUES (NULL, '$inschrnr', '$naam', '$adres', '$postcode', '$woonplaats', '$telefoon', '$email', '$kindernaam', '$gebdatum', '$les', '$regdatum')"; 
    $res = mysql_query($sql); 
    
    if ($res)
    { 
         
            $ord = mysql_query("SELECT aanmldid, inschrnr FROM aanmelding ORDER BY aanmldid, inschrnr DESC LIMIT 1"); 
            $row = mysql_fetch_row($ord); 
             

        $gegevens .=
              "<table><tr><td width=150>". $kindernaam ."</td><td width=100>". $gebdatum ."</td><td width=100>". $les ."</td><td width=100>". $regdatum ."</td></tr>"; 
    }
         
} 

     $gegevens .= "</table>"; 

    if (!empty($email))
    { $ontvanger = $email;    } 
        
    $headers = "Van: ".$naam." <".$email.">\r\n";     
        $headers .= "MIME-Version: 1.0\r\n"; 
        $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
        $headers .= "Reply-To: ".$naam." <".$email.">\r\n";  
        @mail($aan, $onderwerp, $gegevens, $headers); 
?>
en het resultaat ziet er beter uit.
nl1.jpg

daarna na het verzenden
nl2.jpg

Op de aanmelding pagina
nl3.jpg

Ik heb op mijn index pagina error rapport script gezet
PHP:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');

?>
en ik krijg dit te zien.
nl4.jpg

wat betekent dit en hoe erg is het?
alvast bedankt.
gr.
 
Laatst bewerkt:
Ja hoor, geen probleem.
Je moet dan een nieuwe SQL INSERT query maken met "mysql_query" in de "if ($res)" sectie, achter "$gegevens .= .... ;".
Die query laat je dan de gewenste gegevens in de tabel CURSISTEN plaatsen.
Dit moet je doen binnen de foreach loop, omdat je elk kind afzonderlijk wilt toevoegen, dit kan niet in 1 x tegelijk.

Groeten
Olav
 
heb je 2x naar config.php gelinkt misschien?
Ik zie hem in je script trouwens niet staan.

Vervang require eens door include ("<filename>");
Groeten
Olav
 
Sorry, pagina is aangepast.

Ja klopt het werkt uitstekend. :thumb:
nl6.jpg

nl7.jpg


Stel, dat ik de aangemelde kinderen in een keer wil toevoegen.
moet ik dan bij index pagina beginnen?

gr.
 
Sorry, pagina is aangepast.

Ja klopt het werkt uitstekend. :thumb:

Stel, dat ik de aangemelde kinderen in een keer wil toevoegen.
moet ik dan bij index pagina beginnen?

gr.

Hoe bedoel je? Alle reeds aangemelde kinderen of de kinderen die aangemeld worden?
Groeten
Olav
 
PHP:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');

?>

Bij mijn index.php had ik zo
PHP:
<?php
mysql_close($link);
require "db.php";
?>
2x opgeroepen vandaar de error report.

script aangepast
PHP:
<?php
mysql_close();
?>
en resultaat GEEN error meer.

Stel, dat ik de aangemelde kinderen in een keer wil toevoegen.
moet ik dan bij index pagina beginnen?


Hier bedoel ik om alle kindjes in een keer toevoegen in database, dus niet elke kind.:)
gr
 
Stel, dat ik de aangemelde kinderen in een keer wil toevoegen.
moet ik dan bij index pagina beginnen?

Nee je hoeft niet in de index te beginnen, je kan dat wel in dit script regelen, maar dan maak je het jezelf lastig. Er is volgens mij geen reden om het in 1x te doen en daarbij komt dat je dan je script weer om moet bouwen, omdat er een afhankelijkheid in zit die je er dan uit moet halen, namelijk het aanmldid.

En als puntje bij paaltje komt, als je de kinderen laat toevoegen, dan zijn het toch meerdere sql queries die achter elkaar uitgevoerd worden om zo die kinderen toe te voegen.

Groeten
Olav
 
tja het is inderdaad erg lastig.

Als ik de formulier verzenden, is het mogelijk, om via email door knopje 'beantwoorden' te drukken de data pas worden in de database opgeslagen?

gr
 
tja het is inderdaad erg lastig.

Als ik de formulier verzenden, is het mogelijk, om via email door knopje 'beantwoorden' te drukken de data pas worden in de database opgeslagen?

gr

Alleen met een tussentabel waarin je de gegevens "tijdelijk" opslaat.
Je slaat de gegevens dus eerst op in een zelfde soort tabel, maar voor tijdelijke gegevens en een extra kolom in die tabel met per inschrijving een eigen unieke code, een zogenaamde hash code.
Die hash code, daarvoor moet je zorgen dat het geen simpel volgnummertje is, want je wilt niet dat mensen die link gaan bewerken en willekeurige nummers gaan invoeren waardoor andere inschrijvingen ongevraagd ook bevestigd worden.
Om een unieke hash code te maken kan je bijvoorbeeld een timestamp te laten coderen met md5() of sha256().

Die code plaats je dan als parameter in de link die je aan de de knop of button in de mail hangt, naar de te openen pagina, bijvoorbeeld "bevestig.php?h=0123456789abcdefghijklmnopqrstuvw"
In die pagina haal je dan de hash uit de parameter met " $hash = $_GET['h']; "
Met een query haal je dan de record(s), die die hashcode hebben, op uit die tijdelijke tabel en plaats je ze met een volgende SQL query in de definitieve tabel. Houdt er rekening mee dat je een loop maakt omdat er meerdere records kunnen zijn die dezelfde hashcode hebben. Dit komt omdat je kinderen wel 1 voor 1 opgeslagen worden en je per inschrijving 1 hashcode wilt hebben zodat in 1 keer alle kinderen uit 1 en dezlefde inschrijving in 1x bevestigd kunnen worden.
Daarna laat je nog een SQL query los op die tijdelijke tabel om de de gegevens die je net overgezet hebt te verwijderen.

Groeten
Olav
 
PHP:
<?php 
        $headers = "Van: ".$naam." <".$email.">\r\n";     
        $headers .= "MIME-Version: 1.0\r\n"; 
        $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
        $headers .= "Reply-To: ".$naam." <".$email.">\r\n";  
        @mail($aan, $onderwerp, $gegevens, $headers); 
?>
ik bedoeld via dit knopje ' $headers .= "Reply-To: ' kan dat ook geregeld worden?

zo...
is er een tutorial waar ik stap voor stap kan leren? want zoveel ervaring heb ik niet hoor :confused:
 
Nee wat jij wilt zal niet lukken denk ik.

tutorials ... kijk eens >> hier <<. Dat is de Nederlandse documentatie van PHP waar je een hoop informatie kan vinden.

Kijk ook eens hier

In de boekhandel heb je al voor een euro of 15 goede php boeken. Zo heb ik het geleerd; gewoon lezen, na doen, zelf uit proberen, daarna dingen die wat moeilijker zijn die niet 1 2 3 in je boek terug te vinden zijn proberen of oplossingen zoeken in de handleidingen op internet.
Maar als jij het bovenstaande script hebt geschreven met niet al te veel ervaring, dan heb je zeker wel inzicht en potentie genoeg om hier uit te komen denk ik :-)

Groeten
Olav
 
Beste Olav,

Dit was mijn eerste javascript formulier met addRow functie. Omdat ik deze formulier handig vind, dan is het waard om te proberen maken. Noch de combinatie tussen javascript en php.
Bedankt voor je tips en links, je hebt me veel wijzer gemaakt.

Ik heb dus een aanmelding.php en cursisten.php(kolom 1) gemaakt daarnaast afmelding.php en afcursisten.php(kolom 2) gemaakt, op de derde kolom wil ik de huidige aantal cursisten vertonen. is het mogelijk nadat iemand zijn/haar kind afmeldt?

nl8.jpg


PHP:
<table class="tabel" cellpadding="5" cellspacing="0">
	<tr><td>
<table class="tabel" cellpadding="5" cellspacing="0">
	<tr bgcolor="#e5e5e5">
		<td><span>Nr.</span></td>
		<td><span>Kindernaam</span></td> 
		<td><span>Geb.datum</span></td>
		<td><span>Les</span></td>
		<td><span>Reg.datum</span></td> 				
	</tr>
	<?php
	require "../db.php";
    $res = mysql_query("SELECT kindernaam, gebdatum, les, regdatum FROM cursisten ORDER BY kindernaam ASC");
    $i=1;
    while($row = mysql_fetch_row($res)){
    echo "<tr>
	<td><span>$i.</span></td> 
	<td><span>$row[0]</span></td> 
	<td><span>$row[1]</span></td> 
	<td><span>$row[2]</span></td>
	<td><span>$row[3]</span></td>
	</tr>";
	$i++;
    }
	?>
</table></td><td valign="top">
<table class="tabel" cellpadding="5" cellspacing="0">
	<tr bgcolor="#e5e5e5">
		<td><span>Nr.</span></td>
		<td><span>Kindernaam</span></td> 
		<td><span>Geb.datum</span></td>
		<td><span>Les</span></td>
		<td><span>Reg.datum</span></td> 
	</tr>
	<?php
	require "../db.php";
    $res = mysql_query("SELECT kindernaam, gebdatum, les, regdatum FROM afcursisten ORDER BY kindernaam ASC");
    $i=1;
    while($row = mysql_fetch_row($res)){
    echo "<tr>
	<td><span>$i.</span></td> 
	<td><span>$row[0]</span></td> 
	<td><span>$row[1]</span></td> 
	<td><span>$row[2]</span></td>
	<td><span>$row[3]</span></td>
	</tr>";
	$i++;
    }
	?>
</table></td><td valign="top">
<table class="tabel" cellpadding="5" cellspacing="0">
	<tr bgcolor="#e5e5e5">
		<td><span>Nr.</span></td>
		<td><span>Kindernaam</span></td> 
		<td><span>Geb.datum</span></td>
		<td><span>Les</span></td>
		<td><span>Reg.datum</span></td> 
	</tr>
	<?php
	require "../db.php";	
	$i=1;
	$query= "SELECT (p.kindernaam-b.kindernaam) As knaam
        FROM cursisten p, afcursisten b
        WHERE p.kindernaam-b.kindernaam
		ORDER BY p.kindernaam ASC";
    $res = mysql_query($query) or die(mysql_error()); 
    while($row = mysql_fetch_assoc($res)){

    echo "<tr> 
         <td><span>$i.</span></td>  
		 <td><span>".$row['knaam']."</span></td> 
		 <td><span>".$row['1']."</span></td>
		 <td><span>".$row['2']."</span></td>
		 <td><span>".$row['3']."</span></td>
        </tr>"; 
    $i++; 
    } 
    ?> 	
</table></td></tr></table>
het is geen getal dus ik denk dat deze fout zijn
PHP:
<?php
	require "../db.php";	
	$i=1;
	$query= "SELECT (p.kindernaam-b.kindernaam) As knaam
        FROM cursisten p, afcursisten b
        WHERE p.kindernaam-b.kindernaam
		ORDER BY p.kindernaam ASC";
    $res = mysql_query($query) or die(mysql_error()); 
    while($row = mysql_fetch_assoc($res)){

    echo "<tr> 
         <td><span>$i.</span></td>  
		 <td><span>".$row['knaam']."</span></td> 
		 <td><span>".$row['1']."</span></td>
		 <td><span>".$row['2']."</span></td>
		 <td><span>".$row['3']."</span></td>
        </tr>"; 
    $i++; 
    } 
    ?>

gr
 
Hoi redskin,
Tellen van cursisten kan je doen met COUNT() in je SQL query

PHP:
$query = "SELECT COUNT(kindernaam) FROM afcursisten";
$result = mysql_query($query);
list($aantal_af) = mysql_fetch_row($result);

Met de bovenstaande code krijgt $aantal_af de waarde van het aantal records in de tabel afcursisten.
Als je dan ook een count doet in de cursisten tabel, dan kan je de 2 getallen van elkaar aftrekken en heb je het aantal huidige cursisten.

$huidige_aantal_cursisten = $aantal_curs - $aantal_af;

Groeten
Olav
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan