Ik heb een query met een dubbele WHERE, ik wil dat alleen de gegevens opgehaald worden van die user en daarna alleen met het type 1.
Nou werkt het als ik alleen neerzet username = '" . $username . "' of type ='1'".. Maar ik krijg niet het juiste resultaat als ik ze samen gebruik. Is de '&&' misschien niet juist?
<?php
$query = mysql_query("SELECT * FROM workshops WHERE username = '" . $username . "' && type ='1'");
?>
Door de verandering van Mebus doet hij het wel, maar wordt de wijziging niet doorgevoerd. Belangrijk detail: mocht ik ipv ID naam gebruiken dan werkt het wel.. Alleen het nadeel is dat een naam meerdere keren gebruikt kan worden en dit dan tot problemen kan lijden..
Hier het belangrijke gedeelte:
if (isset($_POST["WorkshopWijzig"])){
$oudID = $_POST["ID"];
// Een query wordt samengesteld voor het wijzigen van de workshops.
$query = "UPDATE workshops SET naam = '".$_POST[naam]."', rubriek = '".$_POST[rubriek]."', opmerking = '".$_POST[opmerking]."', les1leerdoel = '".$_POST["les1leerdoel"]."', les1vervolg = '".$_POST["les1vervolg"]."', les1oefening = '".$_POST["les1oefening"]."', les2leerdoel = '".$_POST["les2leerdoel"]."', les2vervolg = '".$_POST["les2vervolg"]."', les2oefening = '".$_POST["les2oefening"]."', les3leerdoel = '".$_POST["les3leerdoel"]."', les3vervolg = '".$_POST["les3vervolg"]."', les3oefening = '".$_POST["les3oefening"]."', les4leerdoel = '".$_POST["les4leerdoel"]."', les4vervolg = '".$_POST["les4vervolg"]."', les4oefening = '".$_POST["les4oefening"]."', cursuscertificaat1 = '".$_POST["cursuscertificaat1"]."', cursuscertificaat2 = '".$_POST["cursuscertificaat2"]."', cursuscertificaat3 = '".$_POST["cursuscertificaat3"]."', balans = '".$_POST["balans"]."', balansleerdoel = '".$_POST["balansleerdoel"]."', balanscertificaat1 = '".$_POST["balanscertificaat1"]."', balanscertificaat2 = '".$_POST["balanscertificaat2"]."', balanscertificaat3 = '".$_POST["balanscertificaat3"]."', grenzen = '".$_POST["grenzen"]."', grenzenleerdoel = '".$_POST["grenzenleerdoel"]."', grenzencertificaat1 = '".$_POST["grenzencertificaat1"]."', grenzencertificaat2 = '".$_POST["grenzencertificaat2"]."', grenzencertificaat3 = '".$_POST["grenzencertificaat3"]."', verrassing = '".$_POST["verrassing"]."', verrassingleerdoel = '".$_POST["verrassingleerdoel"]."', verrassingcertificaat1 = '".$_POST["verrassingcertificaat1"]."', verrassingcertificaat2 = '".$_POST["verrassingcertificaat2"]."', verrassingcertificaat3 = '".$_POST["verrassingcertificaat3"]."', grootklein = '".$_POST["grootklein"]."', grootkleinleerdoel = '".$_POST["grootkleinleerdoel"]."', grootkleincertificaat1 = '".$_POST["grootkleincertificaat1"]."', grootkleincertificaat2 = '".$_POST["grootkleincertificaat2"]."', grootkleincertificaat3 = '".$_POST["grootkleincertificaat3"]."' WHERE ID='".$oudID."'";
$result = mysql_query($query);
if ($result){
//gelijk wordt er weer doorgelinkt naar het beheer gedeelte.
?><meta http-equiv="refresh" content="0;URL=workshops_beheer.php" /><?
exit;
}
}else{
// naam wordt opgehaald doormiddel van GET.
$oudID = $_GET[ID];
$query="SELECT * FROM workshops WHERE ID='".$oudID."'";
$result = mysql_query($query);
if($result)
{
//gelijk wordt er weer doorgelinkt naar het beheer gedeelte.
echo "<meta http-equiv=\"refresh\" content=\"0;URL=workshops_beheer.php\" />";
exit();
}
}
else
{
// naam wordt opgehaald doormiddel van GET.
$oudID = $_GET['ID'];
$query="SELECT * FROM workshops WHERE ID='".$oudID."'";
$result = mysql_query($query) or die(mysql_error());
?>
@Jordy: Geen idee waar je dit vandaan hebt, maar van dit databasemodel klopt maar weinig. Lees eens iets over normalisatie, dan zul je dit zelf ook constateren.
Zaken als les1, les2, etc. maken duidelijk dat je hier een aparte tabel voor moet maken met de lessen. En staan er dan 2 lessen in de tabel, dan heb je er dus 2. Met 8 lessen zijn er 8 beschikbaar. Met het huidige (foute model) is dit niet mogelijk en moet je hele systeem op de kop om alsnog 1 of meerdere lessen toe te voegen.
Was zoals verwacht een klein lullig iets.. Daar ben je dan de hele dag mee bezig en dan zie je het opeens 's avonds.. maar ja gelukkig heb ik het voor elkaar..
De fout zat hem bovenin
$oudID = $_POST['ID']; had moeten zijn
$oudID = $_POST['oudID'];