INSERT of UPDATE

Status
Niet open voor verdere reacties.

gast0139

Gebruiker
Lid geworden
9 sep 2011
Berichten
20
Hallo,

Om meteen te beginnen ben ik bezig met het online bijhouden van competenties die ik behaald heb op school.

Nou heb ik dus al eens eens een competentie ingevuld met een aantal waarden, maar nu moet hij deze updaten.

Maar als de competentie er nog niet in staat moet hij deze er bij schrijven. Hoe kan ik de server laten kiezen of deze moet worden geupdate of erin gezet moet gaan worden?

Bedankt,
 
Door eerst te kijken of de competentie al bestaat.

PHP:
if(competentie ==  true){
doe de update
}else{
doe de insert
}
 
Je hebt gelijk, ik ben net begonnen met het leren van MySQL en PHP, maar voordat ik kan kijken of hij bestaat moet ik eerst de database uitlezen lijkt mij, hoe kan ik dat het beste doen?

Zoiets als dit?

$compsearch = "SELECT from pfcomp WHERE competentie IS $competentieingevuld";

if($compsearch == true){
 
Bedankt, dat is een mooie site om van te leren :thumb:

Nu heb ik het volgende gemaakt, maar kom er niet helemaal uit:

<?php
// DB openen
include('config.php');
include('opendb.php');

$jaar = $_POST['niveau'];
$vak = $_POST['vaardigheid'];
$behaald = $_POST['behaald'];
$totaal = $_POST['totaal'];

function checkdb(){

$aanvraag= "SELECT * FROM pfcomp WHERE leerjaar='$jaar' AND competenties='$vaardigheid'";
$resultaat=mysql_query($aanvraag);

// Tellen van rijen in tabel
$tel=mysql_num_rows($resultaat);

if($tel==1){
$string = "UPDATE pfcomp SET '$behaald' AND '$totaal' WHERE competentie = '$vak'";
return ($string);
}

else {
$string = "INSERT INTO pfcomp ($jaar, $vak, $behaald, $totaal) VALUES ('leerjaar', 'competenties', 'behaald', 'totaal')";
return ($string);
}
}

checkdb();

echo $string;

// Invoegen in DB
$invoegen = "$check $checkset pfcomp(leerjaar, competenties, behaald, totaal) VALUES('$jaar','$vak','$behaald','$totaal')";
mysql_query($invoegen);


// Doorsturen
//header("location: clijst.php");


?>

de echo laat niets zien. Dit komt omdat mijn fucntie niet goed geschreven is, maar ik kom er nu niet meer uit.

Bedankt,
 
Dat klopt inderdaad, alleen ik moet deze buiten de functie om ook nog kunnen aanpassen, dus dan zou de fout zitten in dat de functie niet goed de $string returned, hoe kan ik anders een variabele aanspreken buiten een functie om? ik heb het ook geprobeerd met een Global variabele, alleen daarmee lukt het mij ook niet..
 
Sidenoot antwoord op je eerste vraag: SQL kent ook zoiets als REPLACE INTO, die doet precies wat jij wilt. Als het niet bestaat, insert, als het wel bestaat, update dat veld.
 
Sidenoot antwoord op je eerste vraag: SQL kent ook zoiets als REPLACE INTO, die doet precies wat jij wilt. Als het niet bestaat, insert, als het wel bestaat, update dat veld.

Serieus? Daar had ik nog nooit van gehoord. Daar ga ik me even in verdiepen, bedankt!:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan