Hey, ik zit met een probleem,
ik wil dat als ik toevoeg in de database dat bij 'test' elke keer 1 erbij komt maar dat je ook 1 eraf kan halen. Hoe doe ik dat?
moet die = wel??

<?php
$query = "UPDATE fusion_users SET projects ?=> = <=? + 1 WHERE $username='$username'";
echo $query; 

moet ie niet zo??
$query = "UPDATE fusion_users SET projects + 1 WHERE $username='$username'";
echo $query; 
?>
ik heb het al, het was een andere query (dom van mij, srry) xD
Het is dan altijd nog:
<?php
$sql = "
UPDATE fusion_users
SET projects = projects + 1
WHERE username = '".$username."'
";
?>
hij doet het maar het probleem nou is... hij doet niet elke keer +1 als hij het update :(
Elke keer dat je deze query uitvoert zal de huidige waarde van projects met 1 opgehoogd worden. Wat is je probleem, 'hij doet niet elke keer +1 als hij het update' is wel erg onduidelijk omschreven...
nou hij word niet als ik deze query uitvoer opgehoogd met 1
Laat je script eens zien waarin je deze query gebruikt. Hoe kom je aan $username, bestaat die variabele wel? Heeft de variabele wel de juiste waarde?
Waar controleer jij hoeveel records er zijn bijgewerkt? Dat je de query uitvoert, wil niet zeggen dat er iets wordt bijgewerkt, zie de WHERE.

Met mysql_affected_rows() kun je opvragen hoeveel records er zijn bijgewerkt. Uiteraard controleer je of de query uberhaubt wel is uitgevoerd.

<?php

error_reporting (E_ALL);

	require_once "maincore.php";
	require_once "subheader.php";
	require_once "side_left.php";

	include LOCALE.LOCALESET."project.php";	
	opentable($locale['400']);
	
	if ($_SERVER['REQUEST_METHOD'] == 'POST') {
		$date = date("d-m-Y H:i");
		$username = $userdata['user_name'];
		$sql = "INSERT INTO projects (id, name, description, author, date, progress, game, xgame, type)
 		                      VALUES('', '" . mysql_real_escape_string($_POST['name']) . "', '" . mysql_real_escape_string($_POST['description']) . "', '" . mysql_real_escape_string($_POST['author']) . "', '" . mysql_real_escape_string($date) . "', '" . mysql_real_escape_string($_POST['progress']) . "', '" . mysql_real_escape_string($_POST['game']) . "', '" . mysql_real_escape_string($_POST['xgame']) . "', '" . mysql_real_escape_string($_POST['type']) . "')";
		mysql_query($sql) or die(mysql_error());
		

		$query = "UPDATE fusion_users SET projects = ++ WHERE user_name ='".$username."'";
		mysql_query($query) or die (mysql_error());
		
		echo "Uw Project is toegevoegd";	
	}else
	{
		$sql = "SELECT projects FROM fusion_users WHERE user_name = '".$userdata['user_name']."'";
		$result = mysql_query($sql) or die(mysql_error()); 
	    if(mysql_num_rows($result) < 4) 
	    {
	    
		?>
	<table border="0"><form method="post" action="addproject.php" enctype="multipart/form-data">
	<tr><td width="40%">Project Naam:</td><td><input type="text" size="20" class='textbox' maxlength="20" name="name">(Max 20 chars)</td></tr>
	<tr><td width="40%">Project Beschrijving:</td><td><textarea name="description" class='textbox' style='width:100%;' rows="8" cols="31"></textarea></td></tr><tr><td width="40%">Game:</td><td>
	<select name="game" class='textbox'<option value="cod">CoD</option><option value="coduo">CoD:UO</option><option value="cod2">CoD2</option><option value="web">Web(site/page)</option><option value="other">Other</option></select>
	<select name="xgame" class='textbox'><option value=""></option><option value="sp">SP</option><option value="mp">MP</option><option value="spmp">SP+MP</option></select> 
	</td></tr><tr><td width="40"%>Type:</td><td>
	<select name="type" class='textbox'><option value="map">Map</option><option value="mod">Mod</option><option value="html">HTML</option><option value="php">PHP</option><option value="other">Other</option></select>
	<input type="hidden" name="author" value="<?php echo $userdata['user_name']; ?>"><input type="hidden" name="progress" value="<?php echo "0"; ?>"></td></tr>
	<tr><td width="40%"></td><td><input class='textbox' type="Submit" name="Submit" value="Voeg toe">
	</table></form>
		<?
	}else
	{
		echo "Je mag maximaal <b>3</b> projecten hebben, verwijder er één als u er nog één wilt toevoegen";
	}
	}
	closetable();

	require_once "side_right.php";
	require_once "footer.php";
?>

hij heeft de goede waarde want projects werd 1, maar als ik die query nog een keer uitvoer blijft hij 1 :S
Zolang jij niet controleert hoeveel records er daadwerkelijk zijn bijgewerkt, kun je nooit zeker zijn dat jij de juiste query hebt uitgevoerd. De functie mysql_affected_rows() is de enige die duidelijkheid kan verschaffen, ga daar dan ook eens iets mee doen.

Offtopic: $date = date("d-m-Y H:i"); levert geen datum op, alleen maar bugs! Een datum sla je op in een DATE of DATETIME in het formaat yyyy-mm-dd hh:mm:ss. Een ander formaat is fout.

Reageren