Ik zit met een probleem waar ik even niet uit kom. Het lijkt er op dat een variabele, $nRecord, vertraagd of soms niet wordt bijgewerkt danwel een andere waarde aanneemt.
Het gaat om een simpele routine:
1. Ik laad eerst een aantal records uit een database en toon die in een scherm
2. Vervolgens selecteer ik een record om te muteren (De $_GET geeft hier bijv. 2)
3. Ik muteer het record
4. Ik update de tabel met de nieuwe gegevens. (De WHERE geeft hier een ander recordnummer dan in de $_GET opgehaald)
Nu is het zo dat de waarde van variabele $nRecord niet altijd de waarde heeft van het id van het te muteren record.
Ik zal waarschijnlijk wel een loop ergens hebben zitten die ik niet zie. Zien jullie mijn fout ergens?
<?php
/**
* @author George van Baasbank
* @package Podiumspektakel
* @subpackage repetitieplanner
* @copyright Ermelo Software
* @since 05-06-2014
* bestandsnaam repetitieplanner.php
* beschrijving Module om repetities te plannen
* opmerking
* taalmodule
* e-mail [email protected]
* project Podiumspektakel
* Tijdstempel // <!-- phpDesigner :: Timestamp [6/8/2014 12:47:28 PM] -->
*
*/
/**
* Wijzigingslog
*
* Datum Developer Aanpassing
* 05-06-2014 George Ontwikkeling
*
*/
session_start();
error_reporting(0);
require_once "include/pod_config.inc.php";
include "include/systeem.inc.php";
include "functies/functiebieb.inc.php";
// Declaratie variabelen
$lWijzigen = false;
$cKnopTekst01 = "Wijzigen";
// Geindexeerde array met dagen
$aDagen = array (
0 => 'zo',
'ma',
'di',
'wo',
'do',
'vr',
'za',
);
// Inlezen bestaande planningen en gegevens
include "include/connectie.inc.php";
// Bestaande planning
include "queries/sql_sel_rooster.php";
$cResultPlanning = mysqli_query($verbinding,$sql);
// Beschikbare lokaties
include "queries/sql_sel_lokatie.php";
$cResultLokatie = mysqli_query($verbinding,$sql);
// Beschikbare gebruikers
include "queries/sql_sel_gebruiker.php";
$cResultGebruiker = mysqli_query($verbinding,$sql);
mysqli_close($verbinding);
if($_SERVER['REQUEST_METHOD'] === 'POST') {
$cActie = $_POST['submit'];
$nRecord = $_SESSION['recordnr'];
if($cActie == $cKnopTekst01) { // Wijzigen planning
include "include/connectie.inc.php";
$cGebruiker = $_POST['gebruiker'];
$dDatum = $_POST['datum'];
$cAanvang = $_POST['aanvang'];
$cEinde = $_POST['einde'];
$cLokatie = $_POST['lokatie'];
$cTekst = mysqli_real_escape_string($verbinding,$_POST['tekst']);
$sql = "UPDATE pod__rooster SET datum = '$dDatum', aanvang = '$cAanvang', einde = '$cEinde', lokatie = '$cLokatie', gebruiker = '$cGebruiker', omschrijving = '$cTekst', mutatie = 'George' WHERE id = '$nRecord'";
echo $sql;
$cResultWijziging = mysqli_query($verbinding,$sql);
mysqli_close($verbinding);
}
}
if($_GET['id']) {
$nRecord = $_GET['id'];
$_SESSION['recordnr'] = $nRecord;
$lWijzigen = true;
include "include/connectie.inc.php";
$sql = "SELECT pr.*,ss.inhoud AS lok FROM pod__rooster AS pr JOIN sys__select AS ss ON ss.waarde = pr.lokatie WHERE pr.id = '$nRecord'";
echo $sql;
$cResultPlan = mysqli_query($verbinding,$sql);
$rowPlan = mysqli_fetch_array($cResultPlan);
$_SESSION['plangebruiker'] = $rowPlan['gebruiker'];
$_SESSION['planlokatie'] = $rowPlan['lokatie'];
mysqli_close($verbinding);
}
?>
<!DOCTYPE html>
<html lang="nl">
<head>
<title>Repetitiepplanner | Podiumspektakel 2015</title>
<meta charset="utf-8" />
<meta http-equiv="content-type" content="text/html" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="robots" content="noindex,nofollow" />
<meta name="googlebot" content="noodp, noarchive, nosnippet, noindex, nofollow" />
<meta name="keywords" content="<?php echo $cMetaKeywords ; ?>" />
<meta name="author" content="<?php echo $cMetaAuteur ; ?>" />
<meta name="description" content="<?php echo $cMetaDescription ; ?>" />
<meta name="copyright" content="Ermelo Software 2014" />
<link rel="stylesheet" href="styles/elegant-press.css" type="text/css" />
<script src="scripts/elegant-press.js" type="text/javascript"></script>
<!--[if IE]><style>#header h1 a:hover{font-size:75px;}</style><![endif]-->
<style>
.links{margin:10px;}
.content{margin:20px ; width:42%; height:500px; padding:20px; overflow:auto; -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px; float:left;}
.content p:nth-child(even){font-family:Georgia,serif; font-size:17px; font-style:italic;}
#content_1{background: silver;}
#content_1 p:nth-child(even){color:#999;}
#content_2{background: silver;}
#content_2 p:nth-child(even){color:#999;}
</style>
<!-- jQuery-plugin voor scrollen -->
<link rel="stylesheet" href="styles/jquery.mCustomScrollbar.css" type="text/css" />
</head>
<body>
<div class="main-container">
<?php include "include/header.inc.php" ; ?>
</div>
<div class="main-container">
</div>
<a href="ingelogd.php#bovenaan"><div class="vaste_tab_links">
<div class="tekst90graden">Terug</div>
</div></a>
<div class="main-container">
<div class="container1">
<br />
<br />
<article class="box2" id="home_featured21">
<p class="headertekst">Repetitieplanner</p>
<div class="regelhoogte25"></div>
<a id="bovenaan"></a>
<div class="box3" style="height: 650px;">
<div class="regelhoogte25"></div>
<!-- Hier komt de content -->
<div id="content_1" class="content">
<p class="headertekst">Bestaande planningen</p>
<div class="regelhoogte25"></div>
<table style="width: 400px; margin-left: 10px; border: none;">
<tr>
<td class="standaardtekst" style="width: 20px; border: none;">Dag</td>
<td class="standaardtekst" style="width: 100px; border: none;">Datum</td>
<td class="standaardtekst" style="width: 100px; border: none;">Lokatie</td>
<td class="standaardtekst" style="width: 50px;border: none;">Aanvang</td>
<td class="standaardtekst" style="width: 50px;border: none;">Einde</td>
<td class="standaardtekst" style="width: 50px;border: none;"></td>
<td class="standaardtekst" style="width: 50px;border: none;"></td>
</tr>
<?php
while($rowDatum = mysqli_fetch_array($cResultPlanning)) {
$DagVanDeWeek = date("w", strtotime($rowDatum['datum']));
$nSelectie = $rowDatum['id'];
?>
<tr>
<td class="standaardtekst" style="width: 20px; border: none;"><?php echo $aDagen[$DagVanDeWeek] ; ?></td>
<td class="standaardtekst" style="width: 100px;border: none;"><?php echo nederlandse_datum($rowDatum['datum']) ; ?></td>
<td class="standaardtekst" style="width: 100px;border: none;"><?php echo $rowDatum['lok'] ; ?></td>
<td class="standaardtekst" style="width: 50px;border: none;"><?php echo substr($rowDatum['aanvang'],0,5) ; ?></td>
<td class="standaardtekst" style="width: 50px;border: none;"><?php echo substr($rowDatum['einde'],0,5) ; ?></td>
<td class="standaardtekst" style="width: 50px;border: none;"><a href="repetitieplanner.php?id=<?php echo $nSelectie ; ?>#bovenaan"><img title="Wijzigen roosterdatum" src="images/edit.gif" /></a></td>
<td class="standaardtekst" style="width: 50px;border: none;"><img title="Verwijderen roosterdatum" src="images/delete.png" /></td>
</tr>
<?php } ?>
</table>
</div>
<div id="content_2" class="content">
<?php
if($lWijzigen == true) {
?>
<p class="headertekst">Wijzigen planning</p>
<form action="repetitieplanner.php#bovenaan" method="POST">
<table>
<tr>
<td>Gebruiker:</td>
<td>
<?php
mysqli_data_seek($cResultGebruiker,0);
while($rowGebruiker = mysqli_fetch_array($cResultGebruiker)){
if($rowGebruiker['waarde'] == $_SESSION['plangebruiker']) {
$lGebruiker = 'checked="checked"';
} else {
$lGebruiker = "";
}
?>
<input type="radio" name="gebruiker" <?php echo $lGebruiker ; ?> value="<?php echo $rowGebruiker['waarde'] ; ?>" /><?php echo $rowGebruiker['inhoud'] ; ?><br />
<?php } ?>
</td>
</tr>
<tr>
<td>Datum:</td>
<td><input name="datum" type="date" value="<?php echo $rowPlan['datum'] ; ?>" /></td>
</tr>
<tr>
<td>Aanvang:</td>
<td><input name="aanvang" type="time" value="<?php echo $rowPlan['aanvang'] ; ?>" /></td>
</tr>
<tr>
<td>Einde:</td>
<td><input name="einde" type="time" value="<?php echo $rowPlan['einde'] ; ?>" /></td>
</tr>
<tr>
<td>Lokatie:</td>
<td>
<?php
mysqli_data_seek($cResultLokatie,0);
while($rowLokatie = mysqli_fetch_array($cResultLokatie)){
if($rowLokatie['waarde'] == $_SESSION['planlokatie']) {
$lLokatie = 'checked="checked"';
} else {
$lLokatie = "";
}
?>
<input type="radio" name="lokatie" <?php echo $lLokatie ; ?> value="<?php echo $rowLokatie['waarde'] ; ?>" /><?php echo $rowLokatie['inhoud'] ; ?><br />
<?php } ?>
</td>
</tr>
<tr>
<td>Toelichting:</td>
<td>
<textarea name="tekst"><?php echo $rowPlan['omschrijving'] ; ?></textarea>
</td>
</tr>
</table>
<p class="midden"><input type="submit" name="submit" value="<?php echo $cKnopTekst01 ; ?>" /></p>
</form>
<?php } ?>
</div>
<div class="regelhoogte25"></div>
<div class="regelhoogte25"></div>
<!-- Einde content -->
</div>
<div class="clear"></div>
</article>
</div>
<br />
<br />
<div class="container2">
</div>
</div>
<div class="main-container">
</div>
<?php include "include/footer.inc.php" ; ?>
<!-- custom scrollbars plugin -->
<script src="scripts/jquery.mCustomScrollbar.concat.min.js"></script>
<script>
(function($){
$(window).load(function(){
$("#content_1").mCustomScrollbar({
scrollButtons:{
enable:true
}
});
$("#content_2").mCustomScrollbar({
scrollButtons:{
enable:true
}
});
$("#content_3").mCustomScrollbar({
scrollButtons:{
enable:true
}
});
});
})(jQuery);
</script>
</body>
</html>