Hallo mensen,
Ik heb een systeem gemaakt door dat je de laatste 10 spellen inbeeld krijgt.
Alleen als ik de db wil update dan geeft hij deze fout melding:
Parse error: syntax error, unexpected T_STRING

Dit is de regel wat hij bedoelt:

mysql_query("UPDATE laatste10 SET datum='$datum' WHERE gebruikersnaam='$gebruikersnaam'");


Dit is het hele code:

<?php
// copyright 2012 Patrick Vollenbroek
// alle rechten voor behouden.
$con = mysql_connect("ip","db_gebruikersnaam","wachtwoord");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("laatste10", $con);

$result = mysql_query("SELECT * FROM laatste10");

$result = mysql_query("SELECT * FROM `laatste10` WHERE gebruikersnaam='$gebruikersnaam');
	while($row = mysql_fetch_array($result))
 	{
  	$spel1 = $row[spel1];
  	$spel2 = $row[spel2];
  	$spel3 = $row[spel3];
  	$spel4 = $row[spel4];
  	$spel5 = $row[spel5];
  	$spel6 = $row[spel6];
  	$spel7 = $row[spel7];
  	$spel8 = $row[spel8];
  	$spel9 = $row[spel9];
  	$spel10 = $row[spel10];
  	}
$gebruikersnaam = $login->get_login_info('gebruikersnaam');
$naamspel = alias;
$datum = date('H:i:s d-m-Y');
if($spel1 == $naamspel) {
//niks aan de hand.
mysql_query("UPDATE laatste10 SET datum='$datum' WHERE gebruikersnaam='$gebruikersnaam'");
}  
elseif($spel2 == $naamspel){
mysql_query("UPDATE `laatste10` SET datum='$datum' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel1='$naamspel' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel2='$spel1' WHERE gebruikersnaam='$gebruikersnaam' ");
}
elseif($spel3 == $naamspel){
mysql_query("UPDATE `laatste10` SET datum='$datum' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel1='$naamspel' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel2='$spel1' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel3='$spel2' WHERE gebruikersnaam='$gebruikersnaam' ");
}
elseif($spel4 == $naamspel){
mysql_query("UPDATE `laatste10` SET datum='$datum' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel1='$naamspel' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel2='$spel1' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel3='$spel2' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel4='$spel3' WHERE gebruikersnaam='$gebruikersnaam' ");
}
elseif($spel5 == $naamspel){
mysql_query("UPDATE `laatste10` SET datum='$datum' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel1='$naamspel' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel2='$spel1' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel3='$spel2' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel4='$spel3' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel5='$spel4' WHERE gebruikersnaam='$gebruikersnaam' ");
}
elseif($spel6 == $naamspel){
mysql_query("UPDATE `laatste10` SET datum='$datum' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel1='$naamspel' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel2='$spel1' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel3='$spel2' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel4='$spel3' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel5='$spel4' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel6='$spel5' WHERE gebruikersnaam='$gebruikersnaam' ");
}
elseif($spel7 == $naamspel){
mysql_query("UPDATE `laatste10` SET datum='$datum' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel1='$naamspel' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel2='$spel1' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel3='$spel2' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel4='$spel3' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel5='$spel4' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel6='$spel5' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel7='$spel6' WHERE gebruikersnaam='$gebruikersnaam' ");
}
elseif($spel8 == $naamspel){
mysql_query("UPDATE `laatste10` SET datum='$datum' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel1='$naamspel' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel2='$spel1' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel3='$spel2' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel4='$spel3' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel5='$spel4' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel6='$spel5' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel7='$spel6' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel8='$spel7' WHERE gebruikersnaam='$gebruikersnaam' ");
}
elseif($spel9 == $naamspel){
mysql_query("UPDATE `laatste10` SET datum='$datum' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel1='$naamspel' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel2='$spel1' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel3='$spel2' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel4='$spel3' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel5='$spel4' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel6='$spel5' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel7='$spel6' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel8='$spel7' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel9='$spel8' WHERE gebruikersnaam='$gebruikersnaam' ");
} else {
mysql_query("UPDATE `laatste10` SET datum='$datum' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel1='$naamspel' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel2='$spel1' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel3='$spel2' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel4='$spel3' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel5='$spel4' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel6='$spel5' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel7='$spel6' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel8='$spel7' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel9='$spel8' WHERE gebruikersnaam='$gebruikersnaam' ");
mysql_query("UPDATE `laatste10` SET spel10='$spel9' WHERE gebruikersnaam='$gebruikersnaam' ");
}
mysql_close($con);
	}
	?>


Wat doe ik verkeerd?
Alvast bedankt
Een hele hoop gaat er verkeerd.
Echt... vaaaaag.

Kijk eens goed naar de kleurtjes in de code hierboven... dan zie je al dat het fout gaat:

<?php
$result = mysql_query("SELECT spel1, spel2, spel3, spel4, spel5, spel6, spel7, spel8, spel9, spel10 FROM laatste10 WHERE gebruikersnaam= '".$gebruikersnaam."'";");
 ?>


[size=xsmall]Toevoeging op 04/08/2012 10:22:42:[/size]

Maar gezien je spel1 tm spel10.... weet ik dat je je database ook nog moet normaliseren.
Kolommen horen geen nummers te hebben. Er moeten tabellen bij (tabel: spelscores oid).
En daarin de kolommen ID, gebruikersid (en geen naam!), spelnummer, score.

Ook kan je al die updates combineren...

[size=xsmall]Toevoeging op 04/08/2012 10:32:47:[/size]

Wat bevat de kolom spel9? Een getal 8 of zo?

[size=xsmall]Toevoeging op 04/08/2012 10:34:17:[/size]

Ik probeer het even voor elkaar te krijgen, maar met deze database-opzet gaat hem dat niet logisch worden. Wat een bende... ik stel voor dat je de database-opzet even op http://sqlfiddle.com/ zet (database-dump dus).
Dan kunnen we even kijken.



[size=xsmall]Toevoeging op 04/08/2012 10:39:14:[/size]

Ik denk dat zoiets ook kan werken.... veel flexibeler.

<?php
// copyright 2012 Patrick Vollenbroek
// alle rechten voor behouden.
$con = mysql_connect("ip","db_gebruikersnaam","wachtwoord");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("laatste10", $con);
// zet dit lekker ergens anders neer... in een include of zo?


// verkrijg variabelen
$gebruikersnaam = $login->get_login_info('gebruikersnaam');
$naamspel = 'alias';
$datum = date('H:i:s d-m-Y');
$result = mysql_query("
SELECT
spel1,
spel2,
spel3,
spel4,
spel5,
spel6,
spel7,
spel8,
spel9,
spel10
FROM
laatste10
WHERE
gebruikersnaam= '".$gebruikersnaam."'
");

// fetch naar array
$row = mysql_fetch_array($result))
$aantal_spellen = count($row);


// build a nasty query
$sql = "UPDATE
laatste10
SET
datum = '".$datum."' ";
for($i = 1; $i < $aantal_spellen; $i++)
{
if(isset($row[$i]))
{
$sql .= "spel".$i." = spel".($i-1).", ";
}
}
$sql .= "WHERE gebruikersnaam='".$gebruikersnaam."' ";


// niet nodig, niet doen!
//mysql_close($con);
?>
Mis nog wel foutafhandeling van de query's ;-)

Het sluiten van een db-connectie is doorgaans niet nodig, maar kwaad kan het niet.

Reageren