Hallo,

Ik zit met een probleem. Ik ben bezig met een kleine applicatie die het mogelijk moet maken om uitslagen via een formulier neer te zetten. Hierdoor wordt de competitiestand automatisch bijgewerkt in de database. Het formulier vult maar enkele velden in, maar alle velden binnen de database moeten worden geupdate. Hoe pak ik dit aan.

de tabel:
INSERT INTO `comp1` (`id`, `elftal`, `gespeeld`, `gewonnen`, `gelijk`, `verloren`, `punten`, `doelsaldovoor`, `doelsaldotegen`) VALUES
(1, 'ARC 2', 0, 0, 0, 0, 0, 0, 0),
(2, 'Barendrecht 2', 0, 0, 0, 0, 0, 0, 0),
(3, 'Capelle 2', 0, 0, 0, 0, 0, 0, 0),
(4, 'Excelsior Maassluis 2', 0, 0, 0, 0, 0, 0, 0),
(5, 'Jodan Boys 2', 0, 0, 0, 0, 0, 0, 0),
(6, 'Katwijk 2', 0, 0, 0, 0, 0, 0, 0),
(7, 'Lisse 2', 0, 0, 0, 0, 0, 0, 0),
(8, 'Noordwijk 2', 0, 0, 0, 0, 0, 0, 0),
(9, 'Quick Boys 2', 0, 0, 0, 0, 0, 0, 0),
(10, 'Rijnsburgse Boys 2', 0, 0, 0, 0, 0, 0, 0),
(11, 'Rijnvogels 2', 0, 0, 0, 0, 0, 0, 0),
(12, 'Sportlust 46 2', 0, 0, 0, 0, 0, 0, 0),
(13, 'Voorschoten 97 2', 0, 0, 0, 0, 0, 0, 0),
(14, 'Xerxes DZB 2', 0, 0, 0, 0, 0, 0, 0);

formulier
<?php
require("DB.class.php");
$db = new Database("***", "****", "****", "****");
$db->connect();
$qry = "SELECT * FROM comp1";
$rows = $db->query($qry);

$thuis = $_POST["thuis"];
$thuisscore = $_POST["thuisscore"];
$uit = $_POST["uit"];
$uitscore = $_POST["uitscore"];
?>
<html>
<head>
<title>Amateur Voetbal Live</title>
<link type="text/css" rel="stylesheet" media="screen" href="jqtouch/jqtouch.css">
<link rel="stylesheet" type="text/css" href="android.css" media="only screen and (max-width: 480px)" />
<link rel="stylesheet" type="text/css" href="android.css" media="only screen and (min-width: 481px)" />
<link type="text/css" rel="stylesheet" media="screen" href="themes/jqt/theme.css">
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="jqtouch/jquery.js"></script>
<script type="text/javascript" src="jqtouch/jqtouch.js"></script>
<script type="text/javascript" src="modernizr.js"></script>
<script type="text/javascript" src="form.js"></script>
</head>
<body>
<div id="home">
<div class="toolbar">
<h1>Reserve Hoofdklasse West A</h1>
<a href="main_logged.html" class="backbutton back" onClick="funcLogin()"></a>
</div>
<form id='uitslag' method="post" action="<?php echo $PHP_SELF;?>">
<p class="form">Thuisclub</p>
<SELECT name='thuis' class='selectclub'>
<OPTION value='arc2'>ARC 2</OPTION>
<OPTION value='barendrecht2'>Barendrecht 2</OPTION>
<OPTION value='capelle2'>Capelle 2</OPTION>
<OPTION value='excelsiormaassluis2'>Excelsior Maassluis 2</OPTION>
<OPTION value='jodanboys2'>Jodan Boys 2</OPTION>
<OPTION value='katwijk2'>Katwijk 2</OPTION>
<OPTION value='lisse2'>Lisse 2</OPTION>
<OPTION value='noordwijk2'>Noordwijk 2</OPTION>
<OPTION value='quickboys2'>Quick Boys 2</OPTION>
<OPTION value='rbb2'>Rijnsburgse Boys 2</OPTION>
<OPTION value='rijnvogels2'>Rijnvogels 2</OPTION>
<OPTION value='sporlust2'>Sportlust '46 2</OPTION>
<OPTION value='voorschoten2'>Voorschoten '97 2</OPTION>
<OPTION value='xerxes2'>Xerxes DZB 2</OPTION>
</SELECT>
<input type='text' name='thuisscore' class='score'/>
<p class="form">Uitclub</p>
<SELECT name='uit' class='selectclub'>
<OPTION value='arc2'>ARC 2</OPTION>
<OPTION value='barendrecht2'>Barendrecht 2</OPTION>
<OPTION value='capelle2'>Capelle 2</OPTION>
<OPTION value='excelsiormaassluis2'>Excelsior Maassluis 2</OPTION>
<OPTION value='jodanboys2'>Jodan Boys 2</OPTION>
<OPTION value='katwijk2'>Katwijk 2</OPTION>
<OPTION value='lisse2'>Lisse 2</OPTION>
<OPTION value='noordwijk2'>Noordwijk 2</OPTION>
<OPTION value='quickboys2'>Quick Boys 2</OPTION>
<OPTION value='rbb2'>Rijnsburgse Boys 2</OPTION>
<OPTION value='rijnvogels2'>Rijnvogels 2</OPTION>
<OPTION value='sporlust2'>Sportlust '46 2</OPTION>
<OPTION value='voorschoten2'>Voorschoten '97 2</OPTION>
<OPTION value='xerxes2'>Xerxes DZB 2</OPTION>
</SELECT>
<input type='text' name='uitscore' class='score'/>
<input type='submit' value='.' name='submit' class='verwerkscore'/>
</form>
<?php

?>
<div id="standbutton" onClick="standButton()"><img src="images/standbutton.png" ></div>
<div id="bottom"><img src="images/background.png"></div>
</div>
</body>
</html>
<?php
$db->close();
?>

[size=xsmall]Toevoeging op 28/10/2011 15:46:06:[/size]

Update, iemand nog suggesties?

<?php
require("DB.class.php");
$db = new Database("***", "***", "***", "***");
$db->connect();
$qry = "SELECT * FROM comp1";
$rows = $db->query($qry);

$thuis = mysql_escape_string($_POST['thuis']);
$thuisscore = $_POST["thuisscore"];
$uit = mysql_escape_string($_POST["uit"]);
$uitscore = $_POST["uitscore"];

$qrythuis = "SELECT * FROM tabel WHERE elftal = $thuis";
$qryuit = "SELECT * FROM tabel WHERE elftal = $uit";

if($thuisscore > $uitscore){
$thuis[2]++;
$thuis[3]++;
$thuis[6] +=3;
$thuis[7] += $thuisscore;
$thuis[8] += $uitscore;
$uit[2]++;
$uit[5]++;
$uit[7] += $uitscore;
$uit[8] += $thuisscore;
}
else if ($thuisscore < $uitscore){
$thuis[2]++;
$thuis[5]++;
$thuis[7] += $thuisscore;
$thuis[8] += $uitscore;
$uit[2]++;$uit[3]++;
$uit[6] +=3;
$uit[7] += $uitscore;
$uit[8] += $thuisscore;
}
else if ($thuisscore == $uitscore){
$thuis[2]++;
$thuis[4]++;
$thuis[6]++;
$thuis[7] += $thuisscore;
$thuis[8] += $uitscore;
$uit[2]++;
$uit[4]++;
$uit[6]++;
$uit[7] += $uitscore;
$uit[8] += $thuisscore;
}

$dataupdatethuis = "UPDATE comp1
SET gespeeld = $thuis[2] gewonnen = $thuis[3] gelijk = $thuis[4] verloren = $thuis[5] punten = $thuis[6] doelsaldovoor = $thuis[7] doelsaldotegen = $thuis[8]
WHERE elftal = $thuis";
$dataupdateuit = "UPDATE comp1
SET gespeeld = $uit[2] gewonnen = $uit[3] gelijk = $uit[4] verloren = $uit[5] punten = $uit[6] doelsaldovoor = $uit[7] doelsaldotegen = $uit[8]
WHERE elftal = $thuis";
?>
<html>
<head>
<title>Amateur Voetbal Live</title>
<link type="text/css" rel="stylesheet" media="screen" href="jqtouch/jqtouch.css">
<link rel="stylesheet" type="text/css" href="android.css" media="only screen and (max-width: 480px)" />
<link rel="stylesheet" type="text/css" href="android.css" media="only screen and (min-width: 481px)" />
<link type="text/css" rel="stylesheet" media="screen" href="themes/jqt/theme.css">
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="jqtouch/jquery.js"></script>
<script type="text/javascript" src="jqtouch/jqtouch.js"></script>
<script type="text/javascript" src="modernizr.js"></script>
<script type="text/javascript" src="form.js"></script>
</head>
<body>
<div id="home">
<div class="toolbar">
<h1>Reserve Hoofdklasse West A</h1>
<a href="main_logged.html" class="backbutton back" onClick="funcLogin()"></a>
</div>
<form id='uitslag' method="post" action="<?php $dataupdatethuis; $dataupdateuit;?>">
<p class="form">Thuisclub</p>
<SELECT name='thuis' class='selectclub'>
<OPTION value='ARC 2'>ARC 2</OPTION>
<OPTION value='Barendrecht 2'>Barendrecht 2</OPTION>
<OPTION value='Capelle 2'>Capelle 2</OPTION>
<OPTION value='Excelsior Maassluis 2'>Excelsior Maassluis 2</OPTION>
<OPTION value='Jodan Boys 2'>Jodan Boys 2</OPTION>
<OPTION value='Katwijk 2'>Katwijk 2</OPTION>
<OPTION value='Lisse 2'>Lisse 2</OPTION>
<OPTION value='Noordwijk 2'>Noordwijk 2</OPTION>
<OPTION value='Quick Boys 2'>Quick Boys 2</OPTION>
<OPTION value='Rijnsburgse Boys 2'>Rijnsburgse Boys 2</OPTION>
<OPTION value='Rijnvogels 2'>Rijnvogels 2</OPTION>
<OPTION value='Sportlust 46 2'>Sportlust '46 2</OPTION>
<OPTION value='Voorschoten 97 2'>Voorschoten '97 2</OPTION>
<OPTION value='Xerxes DZB 2'>Xerxes DZB 2</OPTION>
</SELECT>
<input type='text' name='thuisscore' class='score'/>
<p class="form">Uitclub</p>
<SELECT name='uit' class='selectclub'>
<OPTION value='ARC 2'>ARC 2</OPTION>
<OPTION value='Barendrecht 2'>Barendrecht 2</OPTION>
<OPTION value='Capelle 2'>Capelle 2</OPTION>
<OPTION value='Excelsior Maassluis 2'>Excelsior Maassluis 2</OPTION>
<OPTION value='Jodan Boys 2'>Jodan Boys 2</OPTION>
<OPTION value='Katwijk 2'>Katwijk 2</OPTION>
<OPTION value='Lisse 2'>Lisse 2</OPTION>
<OPTION value='Noordwijk 2'>Noordwijk 2</OPTION>
<OPTION value='Quick Boys 2'>Quick Boys 2</OPTION>
<OPTION value='Rijnsburgse Boys 2'>Rijnsburgse Boys 2</OPTION>
<OPTION value='Rijnvogels 2'>Rijnvogels 2</OPTION>
<OPTION value='Sportlust 46 2'>Sportlust '46 2</OPTION>
<OPTION value='Voorschoten 97 2'>Voorschoten '97 2</OPTION>
<OPTION value='Xerxes DZB 2'>Xerxes DZB 2</OPTION>
</SELECT>
<input type='text' name='uitscore' class='score'/>
<input type='submit' value='.' name='submit' class='verwerkscore'/>
</form>
<?php

?>
<div id="standbutton" onClick="standButton()"><img src="images/standbutton.png" ></div>
<div id="bottom"><img src="images/background.png"></div>
</div>
</body>
</html>
<?php
$db->close();
?>
Ik begrijp de vraag niet helemaal, maar volgens mij is je opzet onjuist. ik zou er zoiets van maken: Neem een tabel met daarin de clubnaam, verdere gegevens en alles wat je verder wilt bewaren. verder neem je een veld met een uniek id:

-------------------
|Id  naam    adres|
-------------------
|1   Arc 2   foo  |
|2   Bar. 2  bar  |
|3   Cple 2  foo  |
-------------------
etc

vervolgens maak je nog een tabel waarin je alle uitslagen in zet:

-------------------------------
|id datum thuis uit voor tegen|
-------------------------------
|1  23-07 1     2   3    0    | // 23-07 speelt id 1 (ARC 2) thuis tegen id 2
|2  30-07 2     3   0    2    | // (barendrecht 2) waar Arc met 3-0 wint.
|3  06-08 1     3   1    1    |
-------------------------------

Door op deze manier met PHP de boel te verwerken tot een leesbare tabel kun je hetzelfde resultaat bereiken, alleen kun je dan makkelijk scores updaten en toevoegen. wat vooral heel handig is is dat je een speelgeschiedenis kunt maken (tegen wie heeft ARC al eens gespeelt en hebben ze gewonnen?) of dat je een overzicht kunt maken tussen thuis gespeelde wedstrijden en uitwedstrijden. je kunt zelf een extra rij maken met een wedstrijdverslag o.i.d.. Het maken van dit systeem zal een stuk langer duren maar als je het goed doet en hier goede vragen stelt kun je een strak systeem neer zetten. dit zal ook een stuk gebruiksvriendelijker zijn en neemt eigenlijk al het werk op zich.
Dat is een goeie tip. Die ga ik zeker gebruiken. Maar omdat ik maandag al een demo wil laten zien, ga ik het niet redden door alles zo aan te passen. Ik zal het nu op deze manier moeten redden.

Reageren