7 berichten aan het bekijken - 1 tot 7 (van in totaal 7)
  • Q:
    Bijdrager
    nwzc

    Hoe maak ik een specifiek veld verplicht?

    Mannen / Vrouwen,

    Ik heb mijn beste gedaan er zelf achter te komen, maar helaas het is me niet gelukt.
    Ik heb een stuk code met diverse invul velden. 1 van deze velden (in de zelfde tabel) is al verplicht nl. naam in de tabel.
    Nu zou ik graag nog een veld verplicht maken, maar hoe? Ik dacht slim te zijn om de code te kopiƫren en deze aan te passen naar dat veld, maar dat pikt die niet;)

    Het gaat om het veld : “inschrijfnummer”

    Ik heb onderstaand de hele code neergezet. volgens mij werkt het in java, maar heel veel verstand heb ik er niet van.
    Ik hoop dat jullie me kunnen helpen dit veld verplicht te maken.

    Alvast bedankt voor de tips en hulp

    De Code:

     
    <?php
    	//User is ingelogd => $_SESSION['user_id'] bekend, gebruik die om gegevens over groep uit db op te halen
    	$query = "SELECT g.groep_id, g.groepsnaam, g.cleanshifts, g.reden, g.kleur, g.straatje
    				FROM groepen g 
    				INNER JOIN users_groepen ug ON ug.groep_id=g.groep_id 
    				WHERE ug.user_id='$uid'";
    	$result = $cDatabase->generic_select_noprep($query);	
    	$groepsnaam = "";
    	$shifts = 5;
    	$reden = "";
    	$kleur = "";
    	$straat = "";
    	if ($result)
    	{
    		$gid = 	$result[0]['groep_id'];
    		$groepsnaam = $result[0]['groepsnaam'];
    		$shifts = $result[0]['cleanshifts'];
    		$reden  = $result[0]['reden'];
    		$kleur  = $result[0]['kleur'];
    		$straat = $result[0]['straatje'];	
    	}
     
    	$query = "SELECT gl.naam, gl.inschrijfnummer, gl.kinderen, gl.volwassenen, gl.kleine_tenten, gl.grote_tenten, gl.vouwwagens, gl.caravans, gl.campers 
    				FROM groepsleden gl
    				INNER JOIN users_groepen ug ON ug.groep_id=gl.groep_id
    				WHERE ug.user_id='$uid' ORDER BY gl.tijd_toegevoegd ASC";
    	$result2 = $cDatabase->generic_select_noprep($query);	
    	$aantal_kind = 0;
    	$aantal_volw = 0;
    	$kl_tent = 0;
    	$gr_tent = 0;	
    	$vouw = 0;
    	$car = 0;
    	$cam = 0;
    	$n_leden = 0;
    	if ($result2)
    	{
    		$n_leden = count($result2);
    		// Bereken het aantal kinderen en het aantal volwassenen in de groep
    		foreach ($result2 as $res)
    		{
    			$aantal_kind += $res['kinderen'];
    			$aantal_volw += $res['volwassenen'];
    			$kl_tent += $res['kleine_tenten'];
    			$gr_tent += $res['grote_tenten'];
    			$vouw += $res['vouwwagens'];
    			$car += $res['caravans'];
    			$cam += $res['campers'];
    		}		
    	}
     
    	// ophalen van de info tekst uit db
    	$query = "SELECT tekstaanmeldpage AS tekst FROM events WHERE actief=1";
    	$result1 = $cDatabase->generic_select_noprep($query);
     
    	if ( isset($_POST['message']) )
    	{
    		$mes = $_POST['message']
    ?>
    		<div class="alert alert-success alert-block">
                <button type="button" class="close" data-dismiss="alert"><i class="icon-remove"></i></button>
                <h4><?php echo $mes; ?></h4>
    		</div>
    <?php		
    	}
     
    	$query = "SELECT * FROM events WHERE actief=1";
    	$result4 = $cDatabase->generic_select_noprep($query);
    	$deadline = $result4[0]['inschrijfdeadline'];
    	$deadline = new DateTime($deadline);
    	$today = new Datetime('now'); 
    	$edit = true;
    	if ($today > $deadline)
    	{
    		//echo "inschrijving is gesloten!";
    		$edit = false;
    	}
    ?>
     
    <div class="container">
    	<div class="row">
    		<div class="span12">			
    			<h2>Extra informatie groepsaanmelding</h2>
    <?php
    			if ($result1)
    			{
    				echo $result1[0]['tekst'];
    			}
    ?>			
    		</div>
    	</div>
    </div>
     
    <form id="groep_form" method="post" action="index.php?page=groep">
     
    	<div class="container">	
     
    		<!-- Groepsnaam -->
    		<div class="row">
    			<div class="span12">
    				<h2>Algemene gegevens</h2>	
    				<div class="control-group" id="groepsnaam_div">
    			        <label class="control-label" for="groepsnaam">Naam van de groep:</label>
    			        <div class="controls">
    <?
    if	($edit)
    {
    ?>			        	
    			            <input type="text" id="groepsnaam" class="input-xlarge" value="<?=$groepsnaam;?>" placeholder="Naam van de groep">                    
    <?
    }
    else 
    {
    						echo $groepsnaam;
    }
    ?>
    			        </div>
    			    </div>
    			</div>
    		</div>
     
    		<div class="row">
     
    			<div class="span4">
    			    <!-- Aantal volwassenen en kinderen uitrekenen aan het begin en hier invullen -->
    			    <div class="control-group groep_totaal">
    			    	<label class="control-label first"><span class="label_details">Aantal volwassenen: </span><span class="tot_volw"> <?= $aantal_volw; ?> </span></label>
    			        <label class="control-label"><span class="label_details">Aantal kinderen: </span><span class="tot_kind"> <?= $aantal_kind; ?></span></label>
    			        <label class="control-label"><span class="label_details">Aantal kleine tenten: </span><span class="tot_kl_tent"> <?= $kl_tent; ?></span></label>
    			        <label class="control-label"><span class="label_details">Aantal grote tenten: </span><span class="tot_gr_tent"> <?= $gr_tent; ?></span></label>
    			        <label class="control-label"><span class="label_details">Aantal vouwwagens: </span><span class="tot_vouw"> <?= $vouw; ?></span></label>
    			        <label class="control-label"><span class="label_details">Aantal caravans: </span><span class="tot_car"> <?= $car; ?></span></label>
    			        <label class="control-label"><span class="label_details">Aantal campers: </span><span class="tot_cam"> <?= $cam; ?></span></label>
    			        <label class="control-label"><span class="label_details">kleur: </span><span style="margin-left:2px; display:inline-block; width:15px; height:15px; background-color:<?=$kleur;?>"></span></label>
    			        <label class="control-label"><span class="label_details">straat: </span><span> <?= $straat; ?></span></label>
    			    </div>
    			</div>
     
    			<div class="span3">
    			    <div class="control-group" id="cleanshifts_div">
    			        <label class="control-label" for="shifts">Aantal shifts:</label>
    			        <div class="controls">
    <?php
    						if ($edit)
    						{
    ?>			     
    			            <select id="shifts" class="input-mini">
    <?php
    							for ($i = 9; $i >= 0; $i--)
    							{
    								if ($i == $shifts)
    								{
    									echo '<option selected="selected">' . $i . '</option>';
    								}	
    								else {
    									echo '<option>' . $i . '</option>';
    								}
    							}							
    ?>			            	
    			            </select>
    <?php
    						}
    						else 
    						{
    							echo $shifts;
    						}
    ?>
    			        </div>
    			    </div>
    			    <div class="control-group<?= ($shifts!=0 ? ' hide' : ''); ?>" id="reden_div">
    			        <label class="control-label" for="reden">Reden voor geen shifts:</label>
    			        <div class="controls">
    <?php
    						if ($edit)
    						{
    ?>			        	
    			            <textarea id="reden" rows=5 placeholder="Geef een reden op waarom jouw groep geen shifts wilt..."><? echo $reden; ?></textarea>
    <?php
    						}
    						else {
    							echo $reden;
    						}
    ?>			          
    			        </div>
    			    </div>
    		    </div>
    		</div>
     
    		<!-- Groepsleden -->
    		<div class="row">
     
    			<div class="span12">
     
    				<h2>Groepsleden</h2>
     
    <?php
    				if ($edit)
    				{
    ?>				
    				<div class="control-group">                
    		            <a href="#"><i class="icon-plus-sign"></i> groepslid toevoegen</a>
    			    </div>
    <?php
    				}
    ?>			    
    			    <table class="table table-striped" id="groepsledentabel">
    			    	<thead>
    			    		<tr>
    			    			<th>(Familie)naam</th>
    			    			<th>Inschrijfnr</th>
    			    			<th>Kind.</th>
    			    			<th>Volw.</th>
    			    			<th>Kl. tent</th>
    			    			<th>Gr. tent</th>
    			    			<th>Vouw.</th>
    			    			<th>Caravan</th>
    			    			<th>Camper</th>
    		    				<?php if($edit){ echo '<th></th>'; }?>
    			    		</tr>
    			    	</thead>
     
    			    	<tbody>
    <?php
    						if ($n_leden > 0)
    						{
    							foreach ($result2 as $res)
    							{
    ?>								
    								<tr>
    <?php
    									if ($edit)
    									{
    ?>									
    									<td><input type="text" class="input-medium" value="<?=$res['naam'];?>"/></td>
    									<td><input type="text" class="input-mini" value="<?=$res['inschrijfnummer'];?>"/></td>
    									<td><input type="text" class="input-mini masked n_kind" value="<?=$res['kinderen'];?>"/></td>
    									<td><input type="text" class="input-mini masked n_volw" value="<?=$res['volwassenen'];?>"/></td>
    									<td><input type="text" class="input-mini masked n_kl_tent" value="<?=$res['kleine_tenten'];?>"/></td>
    									<td><input type="text" class="input-mini masked n_gr_tent" value="<?=$res['grote_tenten'];?>"/></td>
    									<td><input type="text" class="input-mini masked n_vouw" value="<?=$res['vouwwagens'];?>"/></td>
    									<td><input type="text" class="input-mini masked n_car" value="<?=$res['caravans'];?>"/></td>
    									<td><input type="text" class="input-mini masked n_cam" value="<?=$res['campers'];?>"/></td>
    									<td><a href="#" rel="tooltip" title="Klik om rij te verwijderen"><i class="icon-remove"></i></a></td>
    <?php
    									}
    									else {
    ?>
    									<td><?=$res['naam'];?></td>
    									<td><?=$res['inschrijfnummer'];?></td>
    									<td><?=$res['kinderen'];?></td>
    									<td><?=$res['volwassenen'];?></td>
    									<td><?=$res['kleine_tenten'];?></td>
    									<td><?=$res['grote_tenten'];?></td>
    									<td><?=$res['vouwwagens'];?></td>
    									<td><?=$res['caravans'];?></td>
    									<td><?=$res['campers'];?></td>
    <?php
    									}
    ?>		
    								</tr>
    <?php								
    							}
    						}
    						if ($edit)
    						{
    ?>		    		
     
    			    		<!-- Voeg altijd een extra lege rij toe -->
    			    		<tr>
    			    			<td><input type="text" class="input-medium" placeholder="Naam"/></td>
    			    			<td><input type="text" class="input-mini" placeholder="Nummer"/></label></td>
    			    			<td><input type="text" class="input-mini masked n_kind"/></td>
    			    			<td><input type="text" class="input-mini masked n_volw"/></td>
    			    			<td><input type="text" class="input-mini masked n_kl_tent"/></td>
    							<td><input type="text" class="input-mini masked n_gr_tent"/></td>
    							<td><input type="text" class="input-mini masked n_vouw"/></td>
    							<td><input type="text" class="input-mini masked n_car"/></td>
    							<td><input type="text" class="input-mini masked n_cam"/></td>
    			    			<td><a href="#" rel="tooltip" title="Klik om rij te verwijderen"><i class="icon-remove"></i></a></td>
    			    		</tr>
    <?php
    						}
    ?>			    	
    			    	</tbody>
    			    </table>
    			</div>
    		</div>	
     
    <?php
    		if ($edit)
    		{
    ?>		
    		<div class="row">
    			<div class="span12">
     
    				<div class="controls">
    		            <span class="help-inline hide error_message">test</span>
    		        </div>
     
    				<div class="control-group">                
    		            <button type="submit" class="btn btn-block btn-success widebutton">Gegevens van de groep opslaan</button>
    			    </div>
    			</div>
    	    </div>
    <?php
    		}
    ?>		
    		<input type="hidden" name="message" value="Je groep is opgeslagen. Je kunt nu stoppen of verder gaan met invullen."/>
    	</div>
    </form>
     
     
     
     
     
     
    <script type="text/javascript" src="/js/jquery_plugins/mask_input_plugin/jquery.maskedinput-1.3.1.min.js"></script>
    <script type="text/javascript">
    	$(function(){
     
    		var url = <?=json_encode($base_url);?>;
     
    		////////////////////
    		/// On pageload
    		////////////////////
    		$(".navbar-inner .mainnav > li").removeClass("active");
    		$("#groep_link").parent().addClass("active");
     
    		// gid ophalen
    		var gid = <?= (isset($gid)) ? json_encode($gid) : -1 ?>;
     
    		// mask inputs met class masked
    		$(".masked").mask("9?999",{placeholder:" "})
     
    		// show tooltip on hover remove icon in table
    		$(".remove_table_row").tooltip({
                placement : "right",
                delay : { show: 500, hide: 100}
            });
     
    		////////////////////
    		/// Events
    		////////////////////
     
    		// opslaan van gegevens: 
    		//       groepsnaam verplicht
    		//       groepsleden: als een regel van de tabel is ingevuld, alleen processen als de naam is ingevuld, anders error
    		//       als #shifts = 0 => reden verplicht
    		$("#groep_form").submit(function(){
    			$(".control-group").removeClass("warning");
    			// check of groepsnaam gezet
    			var groepsnaamdiv = $("#groepsnaam_div");
    			var groepsnaam = $("#groepsnaam");
    			checkLeeg(groepsnaamdiv, groepsnaam);
    			if (groepsnaamdiv.hasClass("warning"))
    			{
    				$(".error_message").text("Voer een groepsnaam in").removeClass("hide");
    				return false;
    			}
     
    			// checken of shifts op 0. Zo ja, check of reden gevuld
    			if ($("#shifts option:selected").val() === "0")
    			{
    				//console.log("shifts op 0");
    				var redendiv = $("#reden_div");
    				var reden = $("#reden");
    				checkLeeg(redendiv, reden);
    				if (redendiv.hasClass("warning"))
    				{
    					$(".error_message").text("Je groep wil geen shifts draaien. Je bent verplicht een reden op te geven.").removeClass("hide");
    					return false;
    				}
    			}
     
    			// Loop door de rijen van de tabel. Kijk voor elke rij of er niet-lege velden zijn. Indien dat zo is, kijk dan of de naam niet ingevuld. Indien dat zo is => error
    			var grleden = []; // direct dit array vullen!
    			var the_tabel = $("#groepsledentabel");
    			the_tabel.find("tbody tr").each(function(){
    				var gr = [];
    				var tr = $(this);
    				tr.removeClass("error");
    				var n_gevulde_cols = 0;
    				tr.find("td").each(function(){					
    					var td = $(this);
    					var inp = td.find("input").val(); 
    					if ( inp !== "" && inp !== undefined)
    					{
    						n_gevulde_cols += 1;
    						gr.push(inp);
    					}
    					else
    					{
    						gr.push("0");
    					}
    				});
    				if (n_gevulde_cols>0)
    				{					
    					var inhoud_eerste_kolom = tr.find("td").eq(0).find("input").val();
    					if (inhoud_eerste_kolom === "")
    					{
    						tr.addClass("error");
    					}
    					else
    					{
    						grleden.push(gr);
    					}
    				}			
    			});
    			var n_rij_fout = the_tabel.find("tbody tr.error").length;
    			if (n_rij_fout > 0)
    			{
    				$(".error_message").text("Vul per familie tenminste de naam in.").removeClass("hide");
    				return false;
    			}
     
     
    			//--------------------------------------------------
     
     
    			// Nog niet return false?
    			// Info verzamelen en naar de database schrijven
    			/*
    			var kl_tent = $("#kl_tenten").val();
    			if (kl_tent === "")
    			{
    				kl_tent = 0;
    			}
    			var gr_tent = $("#gr_tenten").val();
    			if (gr_tent === "")
    			{
    				gr_tent = 0;
    			}
    			var vouw = $("#vouwwagens").val();
    			if (vouw === "")
    			{
    				vouw = 0;
    			}
    			var car = $("#caravans").val();
    			if (car === "")
    			{
    				car = 0;
    			}
    			var cam = $("#campers").val();
    			if (cam === "")
    			{
    				cam = 0;
    			}
    			*/
     
    			var shifts = $("#shifts option:selected").val();
    			var reden  = $("#reden").val();
     
    			n_leden = grleden.length;
    			for (var i = 0; i < n_leden; i++)
    			{
    				var lid = grleden[i];
    				if (lid[1] === "0")
    				{
    					lid[1]="";
    				}
    			}
     
     
     
    			var info = {
    				'gid': gid,
    				'groepsnaam': groepsnaam.val(),				
    				'shifts': shifts,
    				'reden': reden,
    				'groepsleden': grleden
    			}
     
    			// Update van database!
    			updateGroep(info);
     
    			//console.log("testen: return false");
    			//return false;
    		});
     
    		// focus op een input binnen de tabelrij met class warning => verwijder warning class
    		$("#groepsledentabel input").focus(function(){
    			var tr = $(this).parents().eq(1);
    			if (tr.hasClass("error"))
    			{
    				tr.removeClass("error");
    			}			
    		});
     
    		// focus op een div met class warning => verwijder de class
    		$(".controls input, .controls textarea").focus(function(){
    			var group = $(this).parents().eq(1);
    			if (group.hasClass("warning"))
    			{
    				group.removeClass("warning");
    				$(".error_message").text("").addClass("hide");
    			}
    		});
     
    		// Add new row to table, return false, since the click is fired from an anchor tag 
    		$("#add_groepslid").on("click", function(){
    			var the_tabel = $("#groepsledentabel");
    			var html_new_row = "<tr>";
    			html_new_row += '<td><input type="text" class="input-medium" placeholder="Naam"/></td><td><input type="text" class="input-mini" placeholder="Nummer"/></td>';
    			html_new_row += '<td><input type="text" class="input-mini masked n_kind"/></td><td><input type="text" class="input-mini masked n_volw"/></td>';
    			html_new_row += '<td><input type="text" class="input-mini masked n_kl_tent"/></td><td><input type="text" class="input-mini masked n_gr_tent"/></td>';
    			html_new_row += '<td><input type="text" class="input-mini masked n_vouw"/></td><td><input type="text" class="input-mini masked n_car"/></td>';
    			html_new_row += '<td><input type="text" class="input-mini masked n_cam"/></td>';
    			html_new_row += '<td><a href="#" rel="tooltip" title="Klik om rij te verwijderen"><i class="icon-remove"></i></a></td>';
    			html_new_row += "</tr>";
    			the_tabel.find("tbody").append(html_new_row);
    			return false;
    		});
     
    		$("#groepsledentabel tbody").on("click", "a.remove_table_row", function(){
    			var tr = $(this).parents().eq(1);
    			tr.remove();
    			setTotKinderen();
    			setTotVolwassenen();
    			setTotKlTent();
    			setTotGrTent();
    			setTotVouw();
    			setTotCar();
    			setTotCam();
    			return false;
    		});
     
    		// Blur event of classes n_kind and n_volw => update total volw en kind in groep
    		$("#groepsledentabel tbody").on("blur", ".n_kind, .n_volw, .n_kl_tent, .n_gr_tent, .n_vouw, .n_car, .n_cam", function(){
    			setTotKinderen();
    			setTotVolwassenen();
    			setTotKlTent();
    			setTotGrTent();
    			setTotVouw();
    			setTotCar();
    			setTotCam();			
    		});
     
    		// if selectbox on 0 => maak reden zichtbaar en focus
    		$("#shifts").on("change", function(){
    			var n_shifts = Number($(this).find("option:selected").val());
    			if ( n_shifts === 0 )
    			{
    				$("#reden_div").removeClass("hide");
    				$("#reden_div textarea").text("").focus();
    			}
    			else
    			{
    				$("#reden_div textarea").text("");
    				$("#reden_div").addClass("hide");
    			}
    		});
     
     
     
    		////////////////////
    		/// Functions
    		////////////////////
    		function updateGroep(info)
    		{
    			// mbv ajax
    			var res = undefined;
    			$.ajax({
                    type: "POST",
                    async: false,
                    url: "/backend/ajax_updateGroep.php",
                    data: ({info: info}),
                    success: function(result) {res=result}
                });
    		}
     
    		function checkLeeg(div, input)
    		{
    			if (input.val() === "")
    			{
    				div.addClass("warning");
    			}
    		}
     
    		function setTotVolwassenen()
    		{
    			var n_volw_tot = 0;
    			$("#groepsledentabel input.n_volw").each(function(){
    				var tot_volw_text = $(this).val();
    				if (tot_volw_text !== "")
    				{
    					n_volw_tot += Number(tot_volw_text);
    				}
    			});
    			$("span.tot_volw").text(n_volw_tot);
    		}
     
    		function setTotKinderen()
    		{
    			var n_kind_tot = 0;
    			$("#groepsledentabel input.n_kind").each(function(){
    				var tot_kind_text = $(this).val();
    				if (tot_kind_text !== "")
    				{
    					n_kind_tot += Number(tot_kind_text);
    				}
    			});
    			$("span.tot_kind").text(n_kind_tot);
    		}
     
    		function setTotKlTent()
    		{
    			var n_kl_tent = 0;
    			$("#groepsledentabel input.n_kl_tent").each(function(){
    				var tot_kl_tent_text = $(this).val();
    				if (tot_kl_tent_text !== "")
    				{
    					n_kl_tent += Number(tot_kl_tent_text);
    				}
    			});
    			$("span.tot_kl_tent").text(n_kl_tent);
    		}
     
    		function setTotGrTent()
    		{
    			var n_gr_tent = 0;
    			$("#groepsledentabel input.n_gr_tent").each(function(){
    				var tot_gr_tent_text = $(this).val();
    				if (tot_gr_tent_text !== "")
    				{
    					n_gr_tent += Number(tot_gr_tent_text);
    				}
    			});
    			$("span.tot_gr_tent").text(n_gr_tent);
    		}
     
    		function setTotVouw()
    		{
    			var n_vouw = 0;
    			$("#groepsledentabel input.n_vouw").each(function(){
    				var tot_vouw_text = $(this).val();
    				if (tot_vouw_text !== "")
    				{
    					n_vouw += Number(tot_vouw_text);
    				}
    			});
    			$("span.tot_vouw").text(n_vouw);
    		}
     
    		function setTotCar()
    		{
    			var n_car = 0;
    			$("#groepsledentabel input.n_car").each(function(){
    				var tot_car_text = $(this).val();
    				if (tot_car_text !== "")
    				{
    					n_car += Number(tot_car_text);
    				}
    			});
    			$("span.tot_car").text(n_car);
    		}
     
    		function setTotCam()
    		{
    			var n_cam = 0;
    			$("#groepsledentabel input.n_cam").each(function(){
    				var tot_cam_text = $(this).val();
    				if (tot_cam_text !== "")
    				{
    					n_cam += Number(tot_cam_text);
    				}
    			});
    			$("span.tot_cam").text(n_cam);
    		}
     
    	});
    </script>
     
     
     
    Bijdrager
    iMad
    Geblokkeerd
    Bento
    nwzc op 22 april 2014

    Mannen / Vrouwen,

    Ik heb mijn beste gedaan er zelf achter te komen, maar helaas het is me niet gelukt.
    Ik heb een stuk code met diverse invul velden. 1 van deze velden (in de zelfde tabel) is al verplicht nl. naam in de tabel.
    Nu zou ik graag nog een veld verplicht maken, maar hoe? Ik dacht slim te zijn om de code te kopiƫren en deze aan te passen naar dat veld, maar dat pikt die niet;)

    Het gaat om het veld : “inschrijfnummer”

    Ik heb onderstaand de hele code neergezet. volgens mij werkt het in java, maar heel veel verstand heb ik er niet van.
    Ik hoop dat jullie me kunnen helpen dit veld verplicht te maken.

    Alvast bedankt voor de tips en hulp

    De Code:

     
    <?php
    	//User is ingelogd => $_SESSION['user_id'] bekend, gebruik die om gegevens over groep uit db op te halen
    	$query = "SELECT g.groep_id, g.groepsnaam, g.cleanshifts, g.reden, g.kleur, g.straatje
    				FROM groepen g 
    				INNER JOIN users_groepen ug ON ug.groep_id=g.groep_id 
    				WHERE ug.user_id='$uid'";
    	$result = $cDatabase->generic_select_noprep($query);	
    	$groepsnaam = "";
    	$shifts = 5;
    	$reden = "";
    	$kleur = "";
    	$straat = "";
    	if ($result)
    	{
    		$gid = 	$result[0]['groep_id'];
    		$groepsnaam = $result[0]['groepsnaam'];
    		$shifts = $result[0]['cleanshifts'];
    		$reden  = $result[0]['reden'];
    		$kleur  = $result[0]['kleur'];
    		$straat = $result[0]['straatje'];	
    	}
     
    	$query = "SELECT gl.naam, gl.inschrijfnummer, gl.kinderen, gl.volwassenen, gl.kleine_tenten, gl.grote_tenten, gl.vouwwagens, gl.caravans, gl.campers 
    				FROM groepsleden gl
    				INNER JOIN users_groepen ug ON ug.groep_id=gl.groep_id
    				WHERE ug.user_id='$uid' ORDER BY gl.tijd_toegevoegd ASC";
    	$result2 = $cDatabase->generic_select_noprep($query);	
    	$aantal_kind = 0;
    	$aantal_volw = 0;
    	$kl_tent = 0;
    	$gr_tent = 0;	
    	$vouw = 0;
    	$car = 0;
    	$cam = 0;
    	$n_leden = 0;
    	if ($result2)
    	{
    		$n_leden = count($result2);
    		// Bereken het aantal kinderen en het aantal volwassenen in de groep
    		foreach ($result2 as $res)
    		{
    			$aantal_kind += $res['kinderen'];
    			$aantal_volw += $res['volwassenen'];
    			$kl_tent += $res['kleine_tenten'];
    			$gr_tent += $res['grote_tenten'];
    			$vouw += $res['vouwwagens'];
    			$car += $res['caravans'];
    			$cam += $res['campers'];
    		}		
    	}
     
    	// ophalen van de info tekst uit db
    	$query = "SELECT tekstaanmeldpage AS tekst FROM events WHERE actief=1";
    	$result1 = $cDatabase->generic_select_noprep($query);
     
    	if ( isset($_POST['message']) )
    	{
    		$mes = $_POST['message']
    ?>
    		<div class="alert alert-success alert-block">
                <button type="button" class="close" data-dismiss="alert"><i class="icon-remove"></i></button>
                <h4><?php echo $mes; ?></h4>
    		</div>
    <?php		
    	}
     
    	$query = "SELECT * FROM events WHERE actief=1";
    	$result4 = $cDatabase->generic_select_noprep($query);
    	$deadline = $result4[0]['inschrijfdeadline'];
    	$deadline = new DateTime($deadline);
    	$today = new Datetime('now'); 
    	$edit = true;
    	if ($today > $deadline)
    	{
    		//echo "inschrijving is gesloten!";
    		$edit = false;
    	}
    ?>
     
    <div class="container">
    	<div class="row">
    		<div class="span12">			
    			<h2>Extra informatie groepsaanmelding</h2>
    <?php
    			if ($result1)
    			{
    				echo $result1[0]['tekst'];
    			}
    ?>			
    		</div>
    	</div>
    </div>
     
    <form id="groep_form" method="post" action="index.php?page=groep">
     
    	<div class="container">	
     
    		<!-- Groepsnaam -->
    		<div class="row">
    			<div class="span12">
    				<h2>Algemene gegevens</h2>	
    				<div class="control-group" id="groepsnaam_div">
    			        <label class="control-label" for="groepsnaam">Naam van de groep:</label>
    			        <div class="controls">
    <?
    if	($edit)
    {
    ?>			        	
    			            <input type="text" id="groepsnaam" class="input-xlarge" value="<?=$groepsnaam;?>" placeholder="Naam van de groep">                    
    <?
    }
    else 
    {
    						echo $groepsnaam;
    }
    ?>
    			        </div>
    			    </div>
    			</div>
    		</div>
     
    		<div class="row">
     
    			<div class="span4">
    			    <!-- Aantal volwassenen en kinderen uitrekenen aan het begin en hier invullen -->
    			    <div class="control-group groep_totaal">
    			    	<label class="control-label first"><span class="label_details">Aantal volwassenen: </span><span class="tot_volw"> <?= $aantal_volw; ?> </span></label>
    			        <label class="control-label"><span class="label_details">Aantal kinderen: </span><span class="tot_kind"> <?= $aantal_kind; ?></span></label>
    			        <label class="control-label"><span class="label_details">Aantal kleine tenten: </span><span class="tot_kl_tent"> <?= $kl_tent; ?></span></label>
    			        <label class="control-label"><span class="label_details">Aantal grote tenten: </span><span class="tot_gr_tent"> <?= $gr_tent; ?></span></label>
    			        <label class="control-label"><span class="label_details">Aantal vouwwagens: </span><span class="tot_vouw"> <?= $vouw; ?></span></label>
    			        <label class="control-label"><span class="label_details">Aantal caravans: </span><span class="tot_car"> <?= $car; ?></span></label>
    			        <label class="control-label"><span class="label_details">Aantal campers: </span><span class="tot_cam"> <?= $cam; ?></span></label>
    			        <label class="control-label"><span class="label_details">kleur: </span><span style="margin-left:2px; display:inline-block; width:15px; height:15px; background-color:<?=$kleur;?>"></span></label>
    			        <label class="control-label"><span class="label_details">straat: </span><span> <?= $straat; ?></span></label>
    			    </div>
    			</div>
     
    			<div class="span3">
    			    <div class="control-group" id="cleanshifts_div">
    			        <label class="control-label" for="shifts">Aantal shifts:</label>
    			        <div class="controls">
    <?php
    						if ($edit)
    						{
    ?>			     
    			            <select id="shifts" class="input-mini">
    <?php
    							for ($i = 9; $i >= 0; $i--)
    							{
    								if ($i == $shifts)
    								{
    									echo '<option selected="selected">' . $i . '</option>';
    								}	
    								else {
    									echo '<option>' . $i . '</option>';
    								}
    							}							
    ?>			            	
    			            </select>
    <?php
    						}
    						else 
    						{
    							echo $shifts;
    						}
    ?>
    			        </div>
    			    </div>
    			    <div class="control-group<?= ($shifts!=0 ? ' hide' : ''); ?>" id="reden_div">
    			        <label class="control-label" for="reden">Reden voor geen shifts:</label>
    			        <div class="controls">
    <?php
    						if ($edit)
    						{
    ?>			        	
    			            <textarea id="reden" rows=5 placeholder="Geef een reden op waarom jouw groep geen shifts wilt..."><? echo $reden; ?></textarea>
    <?php
    						}
    						else {
    							echo $reden;
    						}
    ?>			          
    			        </div>
    			    </div>
    		    </div>
    		</div>
     
    		<!-- Groepsleden -->
    		<div class="row">
     
    			<div class="span12">
     
    				<h2>Groepsleden</h2>
     
    <?php
    				if ($edit)
    				{
    ?>				
    				<div class="control-group">                
    		            <a href="#"><i class="icon-plus-sign"></i> groepslid toevoegen</a>
    			    </div>
    <?php
    				}
    ?>			    
    			    <table class="table table-striped" id="groepsledentabel">
    			    	<thead>
    			    		<tr>
    			    			<th>(Familie)naam</th>
    			    			<th>Inschrijfnr</th>
    			    			<th>Kind.</th>
    			    			<th>Volw.</th>
    			    			<th>Kl. tent</th>
    			    			<th>Gr. tent</th>
    			    			<th>Vouw.</th>
    			    			<th>Caravan</th>
    			    			<th>Camper</th>
    		    				<?php if($edit){ echo '<th></th>'; }?>
    			    		</tr>
    			    	</thead>
     
    			    	<tbody>
    <?php
    						if ($n_leden > 0)
    						{
    							foreach ($result2 as $res)
    							{
    ?>								
    								<tr>
    <?php
    									if ($edit)
    									{
    ?>									
    									<td><input type="text" class="input-medium" value="<?=$res['naam'];?>"/></td>
    									<td><input type="text" class="input-mini" value="<?=$res['inschrijfnummer'];?>"/></td>
    									<td><input type="text" class="input-mini masked n_kind" value="<?=$res['kinderen'];?>"/></td>
    									<td><input type="text" class="input-mini masked n_volw" value="<?=$res['volwassenen'];?>"/></td>
    									<td><input type="text" class="input-mini masked n_kl_tent" value="<?=$res['kleine_tenten'];?>"/></td>
    									<td><input type="text" class="input-mini masked n_gr_tent" value="<?=$res['grote_tenten'];?>"/></td>
    									<td><input type="text" class="input-mini masked n_vouw" value="<?=$res['vouwwagens'];?>"/></td>
    									<td><input type="text" class="input-mini masked n_car" value="<?=$res['caravans'];?>"/></td>
    									<td><input type="text" class="input-mini masked n_cam" value="<?=$res['campers'];?>"/></td>
    									<td><a href="#" rel="tooltip" title="Klik om rij te verwijderen"><i class="icon-remove"></i></a></td>
    <?php
    									}
    									else {
    ?>
    									<td><?=$res['naam'];?></td>
    									<td><?=$res['inschrijfnummer'];?></td>
    									<td><?=$res['kinderen'];?></td>
    									<td><?=$res['volwassenen'];?></td>
    									<td><?=$res['kleine_tenten'];?></td>
    									<td><?=$res['grote_tenten'];?></td>
    									<td><?=$res['vouwwagens'];?></td>
    									<td><?=$res['caravans'];?></td>
    									<td><?=$res['campers'];?></td>
    <?php
    									}
    ?>		
    								</tr>
    <?php								
    							}
    						}
    						if ($edit)
    						{
    ?>		    		
     
    			    		<!-- Voeg altijd een extra lege rij toe -->
    			    		<tr>
    			    			<td><input type="text" class="input-medium" placeholder="Naam"/></td>
    			    			<td><input type="text" class="input-mini" placeholder="Nummer"/></label></td>
    			    			<td><input type="text" class="input-mini masked n_kind"/></td>
    			    			<td><input type="text" class="input-mini masked n_volw"/></td>
    			    			<td><input type="text" class="input-mini masked n_kl_tent"/></td>
    							<td><input type="text" class="input-mini masked n_gr_tent"/></td>
    							<td><input type="text" class="input-mini masked n_vouw"/></td>
    							<td><input type="text" class="input-mini masked n_car"/></td>
    							<td><input type="text" class="input-mini masked n_cam"/></td>
    			    			<td><a href="#" rel="tooltip" title="Klik om rij te verwijderen"><i class="icon-remove"></i></a></td>
    			    		</tr>
    <?php
    						}
    ?>			    	
    			    	</tbody>
    			    </table>
    			</div>
    		</div>	
     
    <?php
    		if ($edit)
    		{
    ?>		
    		<div class="row">
    			<div class="span12">
     
    				<div class="controls">
    		            <span class="help-inline hide error_message">test</span>
    		        </div>
     
    				<div class="control-group">                
    		            <button type="submit" class="btn btn-block btn-success widebutton">Gegevens van de groep opslaan</button>
    			    </div>
    			</div>
    	    </div>
    <?php
    		}
    ?>		
    		<input type="hidden" name="message" value="Je groep is opgeslagen. Je kunt nu stoppen of verder gaan met invullen."/>
    	</div>
    </form>
     
     
     
     
     
     
    <script type="text/javascript" src="/js/jquery_plugins/mask_input_plugin/jquery.maskedinput-1.3.1.min.js"></script>
    <script type="text/javascript">
    	$(function(){
     
    		var url = <?=json_encode($base_url);?>;
     
    		////////////////////
    		/// On pageload
    		////////////////////
    		$(".navbar-inner .mainnav > li").removeClass("active");
    		$("#groep_link").parent().addClass("active");
     
    		// gid ophalen
    		var gid = <?= (isset($gid)) ? json_encode($gid) : -1 ?>;
     
    		// mask inputs met class masked
    		$(".masked").mask("9?999",{placeholder:" "})
     
    		// show tooltip on hover remove icon in table
    		$(".remove_table_row").tooltip({
                placement : "right",
                delay : { show: 500, hide: 100}
            });
     
    		////////////////////
    		/// Events
    		////////////////////
     
    		// opslaan van gegevens: 
    		//       groepsnaam verplicht
    		//       groepsleden: als een regel van de tabel is ingevuld, alleen processen als de naam is ingevuld, anders error
    		//       als #shifts = 0 => reden verplicht
    		$("#groep_form").submit(function(){
    			$(".control-group").removeClass("warning");
    			// check of groepsnaam gezet
    			var groepsnaamdiv = $("#groepsnaam_div");
    			var groepsnaam = $("#groepsnaam");
    			checkLeeg(groepsnaamdiv, groepsnaam);
    			if (groepsnaamdiv.hasClass("warning"))
    			{
    				$(".error_message").text("Voer een groepsnaam in").removeClass("hide");
    				return false;
    			}
     
    			// checken of shifts op 0. Zo ja, check of reden gevuld
    			if ($("#shifts option:selected").val() === "0")
    			{
    				//console.log("shifts op 0");
    				var redendiv = $("#reden_div");
    				var reden = $("#reden");
    				checkLeeg(redendiv, reden);
    				if (redendiv.hasClass("warning"))
    				{
    					$(".error_message").text("Je groep wil geen shifts draaien. Je bent verplicht een reden op te geven.").removeClass("hide");
    					return false;
    				}
    			}
     
    			// Loop door de rijen van de tabel. Kijk voor elke rij of er niet-lege velden zijn. Indien dat zo is, kijk dan of de naam niet ingevuld. Indien dat zo is => error
    			var grleden = []; // direct dit array vullen!
    			var the_tabel = $("#groepsledentabel");
    			the_tabel.find("tbody tr").each(function(){
    				var gr = [];
    				var tr = $(this);
    				tr.removeClass("error");
    				var n_gevulde_cols = 0;
    				tr.find("td").each(function(){					
    					var td = $(this);
    					var inp = td.find("input").val(); 
    					if ( inp !== "" && inp !== undefined)
    					{
    						n_gevulde_cols += 1;
    						gr.push(inp);
    					}
    					else
    					{
    						gr.push("0");
    					}
    				});
    				if (n_gevulde_cols>0)
    				{					
    					var inhoud_eerste_kolom = tr.find("td").eq(0).find("input").val();
    					if (inhoud_eerste_kolom === "")
    					{
    						tr.addClass("error");
    					}
    					else
    					{
    						grleden.push(gr);
    					}
    				}			
    			});
    			var n_rij_fout = the_tabel.find("tbody tr.error").length;
    			if (n_rij_fout > 0)
    			{
    				$(".error_message").text("Vul per familie tenminste de naam in.").removeClass("hide");
    				return false;
    			}
     
     
    			//--------------------------------------------------
     
     
    			// Nog niet return false?
    			// Info verzamelen en naar de database schrijven
    			/*
    			var kl_tent = $("#kl_tenten").val();
    			if (kl_tent === "")
    			{
    				kl_tent = 0;
    			}
    			var gr_tent = $("#gr_tenten").val();
    			if (gr_tent === "")
    			{
    				gr_tent = 0;
    			}
    			var vouw = $("#vouwwagens").val();
    			if (vouw === "")
    			{
    				vouw = 0;
    			}
    			var car = $("#caravans").val();
    			if (car === "")
    			{
    				car = 0;
    			}
    			var cam = $("#campers").val();
    			if (cam === "")
    			{
    				cam = 0;
    			}
    			*/
     
    			var shifts = $("#shifts option:selected").val();
    			var reden  = $("#reden").val();
     
    			n_leden = grleden.length;
    			for (var i = 0; i < n_leden; i++)
    			{
    				var lid = grleden[i];
    				if (lid[1] === "0")
    				{
    					lid[1]="";
    				}
    			}
     
     
     
    			var info = {
    				'gid': gid,
    				'groepsnaam': groepsnaam.val(),				
    				'shifts': shifts,
    				'reden': reden,
    				'groepsleden': grleden
    			}
     
    			// Update van database!
    			updateGroep(info);
     
    			//console.log("testen: return false");
    			//return false;
    		});
     
    		// focus op een input binnen de tabelrij met class warning => verwijder warning class
    		$("#groepsledentabel input").focus(function(){
    			var tr = $(this).parents().eq(1);
    			if (tr.hasClass("error"))
    			{
    				tr.removeClass("error");
    			}			
    		});
     
    		// focus op een div met class warning => verwijder de class
    		$(".controls input, .controls textarea").focus(function(){
    			var group = $(this).parents().eq(1);
    			if (group.hasClass("warning"))
    			{
    				group.removeClass("warning");
    				$(".error_message").text("").addClass("hide");
    			}
    		});
     
    		// Add new row to table, return false, since the click is fired from an anchor tag 
    		$("#add_groepslid").on("click", function(){
    			var the_tabel = $("#groepsledentabel");
    			var html_new_row = "<tr>";
    			html_new_row += '<td><input type="text" class="input-medium" placeholder="Naam"/></td><td><input type="text" class="input-mini" placeholder="Nummer"/></td>';
    			html_new_row += '<td><input type="text" class="input-mini masked n_kind"/></td><td><input type="text" class="input-mini masked n_volw"/></td>';
    			html_new_row += '<td><input type="text" class="input-mini masked n_kl_tent"/></td><td><input type="text" class="input-mini masked n_gr_tent"/></td>';
    			html_new_row += '<td><input type="text" class="input-mini masked n_vouw"/></td><td><input type="text" class="input-mini masked n_car"/></td>';
    			html_new_row += '<td><input type="text" class="input-mini masked n_cam"/></td>';
    			html_new_row += '<td><a href="#" rel="tooltip" title="Klik om rij te verwijderen"><i class="icon-remove"></i></a></td>';
    			html_new_row += "</tr>";
    			the_tabel.find("tbody").append(html_new_row);
    			return false;
    		});
     
    		$("#groepsledentabel tbody").on("click", "a.remove_table_row", function(){
    			var tr = $(this).parents().eq(1);
    			tr.remove();
    			setTotKinderen();
    			setTotVolwassenen();
    			setTotKlTent();
    			setTotGrTent();
    			setTotVouw();
    			setTotCar();
    			setTotCam();
    			return false;
    		});
     
    		// Blur event of classes n_kind and n_volw => update total volw en kind in groep
    		$("#groepsledentabel tbody").on("blur", ".n_kind, .n_volw, .n_kl_tent, .n_gr_tent, .n_vouw, .n_car, .n_cam", function(){
    			setTotKinderen();
    			setTotVolwassenen();
    			setTotKlTent();
    			setTotGrTent();
    			setTotVouw();
    			setTotCar();
    			setTotCam();			
    		});
     
    		// if selectbox on 0 => maak reden zichtbaar en focus
    		$("#shifts").on("change", function(){
    			var n_shifts = Number($(this).find("option:selected").val());
    			if ( n_shifts === 0 )
    			{
    				$("#reden_div").removeClass("hide");
    				$("#reden_div textarea").text("").focus();
    			}
    			else
    			{
    				$("#reden_div textarea").text("");
    				$("#reden_div").addClass("hide");
    			}
    		});
     
     
     
    		////////////////////
    		/// Functions
    		////////////////////
    		function updateGroep(info)
    		{
    			// mbv ajax
    			var res = undefined;
    			$.ajax({
                    type: "POST",
                    async: false,
                    url: "/backend/ajax_updateGroep.php",
                    data: ({info: info}),
                    success: function(result) {res=result}
                });
    		}
     
    		function checkLeeg(div, input)
    		{
    			if (input.val() === "")
    			{
    				div.addClass("warning");
    			}
    		}
     
    		function setTotVolwassenen()
    		{
    			var n_volw_tot = 0;
    			$("#groepsledentabel input.n_volw").each(function(){
    				var tot_volw_text = $(this).val();
    				if (tot_volw_text !== "")
    				{
    					n_volw_tot += Number(tot_volw_text);
    				}
    			});
    			$("span.tot_volw").text(n_volw_tot);
    		}
     
    		function setTotKinderen()
    		{
    			var n_kind_tot = 0;
    			$("#groepsledentabel input.n_kind").each(function(){
    				var tot_kind_text = $(this).val();
    				if (tot_kind_text !== "")
    				{
    					n_kind_tot += Number(tot_kind_text);
    				}
    			});
    			$("span.tot_kind").text(n_kind_tot);
    		}
     
    		function setTotKlTent()
    		{
    			var n_kl_tent = 0;
    			$("#groepsledentabel input.n_kl_tent").each(function(){
    				var tot_kl_tent_text = $(this).val();
    				if (tot_kl_tent_text !== "")
    				{
    					n_kl_tent += Number(tot_kl_tent_text);
    				}
    			});
    			$("span.tot_kl_tent").text(n_kl_tent);
    		}
     
    		function setTotGrTent()
    		{
    			var n_gr_tent = 0;
    			$("#groepsledentabel input.n_gr_tent").each(function(){
    				var tot_gr_tent_text = $(this).val();
    				if (tot_gr_tent_text !== "")
    				{
    					n_gr_tent += Number(tot_gr_tent_text);
    				}
    			});
    			$("span.tot_gr_tent").text(n_gr_tent);
    		}
     
    		function setTotVouw()
    		{
    			var n_vouw = 0;
    			$("#groepsledentabel input.n_vouw").each(function(){
    				var tot_vouw_text = $(this).val();
    				if (tot_vouw_text !== "")
    				{
    					n_vouw += Number(tot_vouw_text);
    				}
    			});
    			$("span.tot_vouw").text(n_vouw);
    		}
     
    		function setTotCar()
    		{
    			var n_car = 0;
    			$("#groepsledentabel input.n_car").each(function(){
    				var tot_car_text = $(this).val();
    				if (tot_car_text !== "")
    				{
    					n_car += Number(tot_car_text);
    				}
    			});
    			$("span.tot_car").text(n_car);
    		}
     
    		function setTotCam()
    		{
    			var n_cam = 0;
    			$("#groepsledentabel input.n_cam").each(function(){
    				var tot_cam_text = $(this).val();
    				if (tot_cam_text !== "")
    				{
    					n_cam += Number(tot_cam_text);
    				}
    			});
    			$("span.tot_cam").text(n_cam);
    		}
     
    	});
    </script>
     
     
     

    Volgens mij ontbreekt een haakje.

    Bijdrager
    nwzc

    De hulp is top. Niemand die me kan helpen?

    Bijdrager
    madcat

    in php moet je dat gaan afvangen, dus als inschrijfnummer niet is ingevuld, dan geef je een foutmelding en voer je niks uit.
    er zijn genoeg php tutorials die je hiermee verder kunnen helpen.

    Bijdrager
    nwzc

    beste Madcat,

    Dank voor je reactie. Ik snap dat er veel is te vinden maar zo ver ik het nu snap wordt er in de <td> een script gevoerd wat geen PHP is ?!
    Kan het fout hebben. Ik hoopte dat iemand mij kon vertellen wat ik moet aanpassen om dit voor elkaar te krijgen.

    Inactief
    Anoniem
    nwzc op 22 april 2014

    volgens mij werkt het in java, maar heel veel verstand heb ik er niet van.

    De code die je hebt gepost is php, geen java. Ik kan je sterk aanraden om eerst eens php te leren, er zijn honderen websites en boeken waar je informatie kunt vinden.

7 berichten aan het bekijken - 1 tot 7 (van in totaal 7)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.