Misschien
if(mysql_num_rows($result1) > 0)
in plaats van:
if(mysql_num_rows($result1) == 1)
Zijn er meerdere resultaten i.p.v. 0 of 1?
Link gekopieerd
Er kan nooit meer dan 1 resultaat zijn iig nu nog wel maar laptop 2 kan niet op 2 plaatsen tegelijk worden uitgeleend snappie
Link gekopieerd
Ik heb 1 record die zou moeten matchen. en dus een foutmelding zou moeten geven. Wat niet gebeurd
Link gekopieerd
Staan de tijden wel in een DATE of DATETIME veld in de database?
Link gekopieerd
Jep het is een date/time veld. Ik denk dat ik ietsn iet goed heb gedaan in de query maar zoals ik em lees zou hij 1 match moeten geven en dus de error
Overigens als ik echo mysql_nuw_rows($query1); doe krijg ik 0 terug dus geen match
Link gekopieerd
Jurgen schreef op 30.11.2006 14:15
Jep het is een date/time veld. Ik denk dat ik ietsn iet goed heb gedaan in de query maar zoals ik em lees zou hij 1 match moeten geven en dus de error
Overigens als ik echo mysql_nuw_rows($query1); doe krijg ik 0 terug dus geen match
Zet error_reporting(E_ALL); eens aan. (Bovenin je script). En check of de query wel is gelukt. (Foutafhandeling).
Link gekopieerd
Mijn query is gelukt. Want hij veranderd de status. En dat moet hij juist niet doen. Hij moet een error geven.
note:
Ik gebruik elseif omdat daarboven ook nog wat if's en elseif's staan vanwege controleren op velden.
Als alles is gelukt incl. het controleren van de status. dan zou hij query update moeten doen. en dat doet hij ook.
Link gekopieerd
De query is een SELECT en die verandert niets.
Link gekopieerd
nee dat moet ook niet. Onder de Elseifjes heb ik een update query. Hier is de volledige code:
<?php
if($_SERVER['REQUEST_METHOD'] == "POST"){
if(empty($_POST['naam']) ||
empty($_POST['afdeling']) ||
empty($_POST['locatie']) ||
empty($_POST['begin_uur']) ||
empty($_POST['begin_minuten']) ||
empty($_POST['begin_dag']) ||
empty($_POST['begin_maand']) ||
empty($_POST['begin_jaar']) ||
empty($_POST['eind_uur']) ||
empty($_POST['eind_minuten']) ||
empty($_POST['eind_dag']) ||
empty($_POST['eind_maand']) ||
empty($_POST['eind_jaar']) ){
echo "<script>alert('vul alle velden in!')</script>";
}
elseif($_POST['begin_uur'] > 23 ){
echo "<script>alert('Vul een juist begin uur in (00 - 23)')</script>";
}
elseif($_POST['eind_uur'] > 23 ){
echo "<script>alert('Vul een juist eind uur in (00 - 23)')</script>";
}
elseif($_POST['begin_minuten'] > 59 ){
echo "<script>alert('Vul een juist begin minuten in (00 - 59)')</script>";
}
elseif($_POST['eind_minuten'] > 59 ){
echo "<script>alert('Vul een juist eind minuten in (00 - 59)')</script>";
}
elseif(checkdate($_POST['begin_maand'],
$_POST['begin_dag'],
$_POST['begin_jaar'])
AND
checkdate($_POST['eind_maand'],
$_POST['eind_dag'],
$_POST['eind_jaar'])
!= "TRUE"){
echo "<script>alert('Vul een geldige datum in!')</script>";
}
elseif($_POST['begin_jaar'] < date('Y') OR $_POST['eind_jaar'] < date('Y')){
echo "<script>alert('Kan geen reserveringen doen in het verleden!')</script>";
}
elseif($_POST['status'] == 3){
$query1= "SELECT
*
FROM
reserveringen
WHERE
NOW() >= begintijd
AND
NOW() <= eindtijd
AND
laptopid=".$_POST['laptop']."
AND
checken =3
";
$result1 = mysql_query($query1);
if(mysql_num_rows($result1) >= 1){
echo "<script>alert('Uitlenen is niet mogelijk omdat laptop ".$_POST['laptop']." al is uitgeleend!')</script>";
}
}
else
{
$begindatum = $_POST['begin_jaar']."-"
.$_POST['begin_maand']."-"
.$_POST['begin_dag']." "
.$_POST['begin_uur'].":"
.$_POST['begin_minuten'].":00";
$einddatum = $_POST['eind_jaar']."-"
.$_POST['eind_maand']."-"
.$_POST['eind_dag']." "
.$_POST['eind_uur'].":"
.$_POST['eind_minuten'].":00";
$query_update = "UPDATE
reserveringen
SET
naam = '".$_POST['naam']."',
afdeling = '".$_POST['afdeling']."',
laptopid = '".$_POST['laptop']."',
locatie= '".$_POST['locatie']."',
begintijd ='".$begindatum."',
eindtijd ='".$einddatum."',
checken ='".$_POST['actief']."',
ip = '".$_SERVER['REMOTE_ADDR']."',
hostname = '".gethostbyaddr($_SERVER['REMOTE_ADDR'])."'
WHERE id=".$_GET['id']."";
mysql_query($query_update) or die("Er is iets misgegaan met de database, Neem contact op met de systeembeheerder indien dit vaker voorkomt.");
if(mysql_affected_rows() > 0){
echo "Gegevens zijn opgeslagen";
echo "<script>window.opener.window.location.reload(true); window.self.close()</script>";
}else{
echo "<div id=\"error_message\">Er is een fout opgetreden neem contact op met de systeembeheerder indien dit vaker voorkomt</div>";
}
}
}
?>
Link gekopieerd
Als ik zo even snel kijk lijkt het mij dat de update wordt uitgevoerd als er niet is gepost.
<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{
if(empty($_POST['naam']) ||...............
{
}
// en een hele boel elsif()
}
else
{
UPDATE
}
?>
Link gekopieerd