Uuh, mysql query vraagje...
Misschien een dom vraagje maar ik ben een website aan het schrijven met cms.
Nou is de bedoeling als ik ingelogd ben als admin (gaat allemaal perfect!) en ik wil iets updaten dat hij dus bepaalde dingen niet update als deze niet zijn ingevuld.
Dus laat ik zeggen: ik wil me tekst over mezelf veranderen zonder dat daarbij in de mysql de foto, me naam en andere dingen verandert of leeg worden gemaakt.
Ik zat te denk aan iets van:
if (isset ($_POST['send'])){
$naam = strtolower(strip_tags(addslashes($_POST['naam'])));
$email = strtolower(strip_tags(addslashes($_POST['email'])));
$query = "UPDATE dj SET ".if (!empty ($_POST['email'])){echo "email='$email'";}.", naam='$naam' ";
Natuurlijk werkt dit niet maar kon ff niks anders bedenken.
Ja, ik dacht iets van:
$email = "email'";
$email .= strtolower(strip_tags(addslashes($_POST['email'])));
$email .= "'";
maar ja, als ie leeg is vervangt ie nog steeds de bestaande email door een leeg vakkie...
Jullie een idee?
(let op, zal best simpel zijn.... :( )
Gr Paul
www.kickitradio.com
Gewijzigd op 01/01/1970 01:00:00 door Paul
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if(isset($_POST['send'])){
$naam = strtolower(strip_tags(addslashes($_POST['naam'])));
$email = strtolower(strip_tags(addslashes($_POST['email'])));
if(!empty($email)) {
$extra_sql = "`email` = '{$email}',";
} else {
$extra_sql = '';
}
$query = "UPDATE `dj` SET {$extra_sql} `naam` = '$naam'";
}
?>
if(isset($_POST['send'])){
$naam = strtolower(strip_tags(addslashes($_POST['naam'])));
$email = strtolower(strip_tags(addslashes($_POST['email'])));
if(!empty($email)) {
$extra_sql = "`email` = '{$email}',";
} else {
$extra_sql = '';
}
$query = "UPDATE `dj` SET {$extra_sql} `naam` = '$naam'";
}
?>
en anders zou je het ipv:
Code (php)
ook zo kunnen doen:
Code (php)
1
2
3
2
3
<?php
$query = "UPDATE dj SET ".(!empty ($_POST['email']) ? "email='$email'" : "").", naam='$naam' ";
?>
$query = "UPDATE dj SET ".(!empty ($_POST['email']) ? "email='$email'" : "").", naam='$naam' ";
?>
Dit is hetzelfde principe als:
Alleen dan in een andere variabele.. en dan moet je er haakjes() om zetten.
Thanx for the soeport! (..:) )
Paul
addslashes() mag je weggooien en vervangen door mysql_real_escape_string(). Dat voorkomt weer problemen met de bekende magic_quotes van PHP.