Elke keer 1 erbij
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?
UPDATE ..... SET veld = veld + 1 WHERE .......
Heb je het soms over een id (met auto_increment) waarvan het nummer moet worden gewijzigd? Zo ja, vergeet dan dat je deze vraag ooit hebt gesteld en blijf met je vingers van de auto_increment af. Dit heeft geen enkele betekenis voor wie of wat dan ook, het is uitsluitend om een uniek record te herkennen en niet meer dan dat.
@SanThe: Ik kijk ff of hij het doet
En ik heb nog een vraag, wat is er hier aan fout?
Ik krijg deze fout:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Program Files\xampp\htdocs\php-fusion\addproject.php on line 22
Code (php)
1
2
3
2
3
$sql = "SELECT projects FROM projects WHERE author = {$userdata['user_name']}";
$result = mysql_query($sql);
if(mysql_num_rows($result) < 4)
$result = mysql_query($sql);
if(mysql_num_rows($result) < 4)
Gewijzigd op 01/01/1970 01:00:00 door Raymen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$sql = "SELECT projects FROM projects WHERE author = '".$userdata['user_name']."'";
$result = mysql_query($sql);
if(!$result)
{
trigger_error(mysql_error());
}
else
{
if(mysql_num_rows($result) < 4)
{
}
}
?>
$sql = "SELECT projects FROM projects WHERE author = '".$userdata['user_name']."'";
$result = mysql_query($sql);
if(!$result)
{
trigger_error(mysql_error());
}
else
{
if(mysql_num_rows($result) < 4)
{
}
}
?>
$vars buiten quotes houden.
Code (php)
1
2
3
2
3
<?php
$sql = "SELECT projects FROM projects WHERE author = '" . $userdata['user_name'] . "'";
?>
$sql = "SELECT projects FROM projects WHERE author = '" . $userdata['user_name'] . "'";
?>
Edit: Foutje hersteld.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
SanThe schreef op 13.11.2006 16:28:
UPDATE ..... SET veld = veld + 1 WHERE .......
en hoe doe ik dat met insert?
?
Gewijzigd op 01/01/1970 01:00:00 door Raymen
Unknown column 'projects' in 'field list'
Geen idee hoe jouw datamodel er uitziet, maar de kolom projects ontbreekt in elk geval. Wellicht een tikfout?
Gewijzigd op 01/01/1970 01:00:00 door Raymen
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...
Gewijzigd op 01/01/1970 01:00:00 door Raymen
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?
Met mysql_affected_rows() kun je opvragen hoeveel records er zijn bijgewerkt. Uiteraard controleer je of de query uberhaubt wel is uitgevoerd.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?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";
?>
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
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.