score bij houden
Maar nu zit ik met een uitdaging waar ik nog geen oplossing voor heb gevonden.
Ik zou graag via een webpagina 2 invul blokje hebben die je met een knop kunt bevestigen dat je hem naar een mysql database schrijft. En dat deze waades er dan in blijfen staan en vervolgens weer veranderd kunnen worden.
zodat je zeg maar een score verloop van de wedstrijd in kunt vullen
1-0 post 1-1 post 1-2 post
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<html>
<head>
<title>score1<title>
</head>
<body>
<form action="plaatsscore.php" method="POST">
Team 1 - Team 2
<input type="text" name="team1" value="" size="5">
-
<input type="text" name="team2" value="" size="5">
<input type="submit" value="bevestig">
</form><br>
</body>
</html>
<head>
<title>score1<title>
</head>
<body>
<form action="plaatsscore.php" method="POST">
Team 1 - Team 2
<input type="text" name="team1" value="" size="5">
-
<input type="text" name="team2" value="" size="5">
<input type="submit" value="bevestig">
</form><br>
</body>
</html>
ik hoop dat mijn bedoeling duidelijk is.
ik ben een beginnend phper dus mijn kennis is niet heel groot
Groet Nico
- Aar -:
Gelieve in het vervolg voor scripts de [code][/code]-tags gebruiken. Zie ook deze uitleg over de opmaakcodes.
Alvast bedankt!
Alvast bedankt!
Gewijzigd op 02/09/2015 16:27:51 door - Ariën -
Weet je wel welke functions je moet gaan gebruiken?
Welke logica denk je nodig te hebben? Werk dit eens uit.
Wat je nu vraagt is veel te ruim.
Iets als: "Ik wil een nieuw iets uitvinden. Het moet rond draaien als ik mijn voet er tegen zet."
Heb je nu over een fiets? Of een voetbal? Of een draaimolen?
Wil je elke tussenstand bewaren? Of alleen de laatste (tussen)stand?
je moet de tussen stand kunnen invullen en vervolgens weer kunnen wijzigen dat de laatste (tussen)stand zichtbaar is
Gewijzigd op 02/09/2015 16:55:29 door Nico Kamper
Als het goed is doe je daar de controles en werk je de database bij.
(Dit hoeft overigens niet in een apart php script maar kan ook in het script waar je formulier staat.
Je krijg dan iets als:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
//doe hier de controles en werk de database bij
} else {
//hier komt dat wat je al had
}
//doe hier de controles en werk de database bij
} else {
//hier komt dat wat je al had
}
Bij je formulier kun je met value de eerder ingevulde waardes laten zien.
Code (php)
1
<input type="text" name="team1" value="<?php echo isset($_POST['team1']) ? htmlspecialchars($_POST['team1']) : '' ?>" size="5">
Value wordt nu gevuld als $_POST['team1'] bestaat (omdat het formulier al een keer ingevuld)
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
// contact maken met database
$db = array (
'host' => 'localhost',
'user' => 'test',
'pass' => 'test',
'dbname' => 'wed1'
);
if(!mysql_connect($db['host'], $db['user'], $db['pass']))
{
trigger_error('Fout bij verbinden: '.mysql_error());
}
elseif(!mysql_select_db($db['dbname']))
{
trigger_error('Fout bij selecteren database: '.mysql_error());
}
else
{
$sql = "SET SESSION sql_mode = 'ANSI,ONLY_FULL_GROUP_BY'";
if(!mysql_query($sql))
{
trigger_error('MySQL in ANSI niet mogelijk');
}
}
// voor invullijst
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
//doe hier de controles en werk de database bij
} else {
//hier komt dat wat je al had
}
?>
<html>
<head>
<title>score1<title>
</head>
<body>
<p>test</p>
<form method="POST">
Team 1 - Team 2
<input type="text" name="team1" value="<?php echo isset($_POST['team1']) ? htmlspecialchars($_POST['team1']) : '' ?>" size="5">
-
<input type="text" name="team2" value="<?php echo isset($_POST['team2']) ? htmlspecialchars($_POST['team2']) : '' ?>" size="5">
<input type="submit" value="bevestig">
</form>
<p>test2</p>
</body>
</html>
// contact maken met database
$db = array (
'host' => 'localhost',
'user' => 'test',
'pass' => 'test',
'dbname' => 'wed1'
);
if(!mysql_connect($db['host'], $db['user'], $db['pass']))
{
trigger_error('Fout bij verbinden: '.mysql_error());
}
elseif(!mysql_select_db($db['dbname']))
{
trigger_error('Fout bij selecteren database: '.mysql_error());
}
else
{
$sql = "SET SESSION sql_mode = 'ANSI,ONLY_FULL_GROUP_BY'";
if(!mysql_query($sql))
{
trigger_error('MySQL in ANSI niet mogelijk');
}
}
// voor invullijst
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
//doe hier de controles en werk de database bij
} else {
//hier komt dat wat je al had
}
?>
<html>
<head>
<title>score1<title>
</head>
<body>
<p>test</p>
<form method="POST">
Team 1 - Team 2
<input type="text" name="team1" value="<?php echo isset($_POST['team1']) ? htmlspecialchars($_POST['team1']) : '' ?>" size="5">
-
<input type="text" name="team2" value="<?php echo isset($_POST['team2']) ? htmlspecialchars($_POST['team2']) : '' ?>" size="5">
<input type="submit" value="bevestig">
</form>
<p>test2</p>
</body>
</html>
aleen ik zie helemaal niks
Pdo - phptuts
Code (php)
1
2
3
4
2
3
4
Warning
This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:
mysqli_connect()
PDO::__construct()
This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:
mysqli_connect()
PDO::__construct()
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
//doe hier de controles en werk de database bij
} else {
//hier komt dat wat je al had
}
//doe hier de controles en werk de database bij
} else {
//hier komt dat wat je al had
}
Dit was als voorbeeld gegeven en door dit alleen klakkeloos in je script te gooien zal het niks doen.
In het eerste deel kun je je $_POST variabelen gebruiken, controleren en afhandelen. Hier kun je dus kijken of de velden zijn ingevuld, alleen inhoud hebben die jij wilt hebben en daarna kun je het opslaan in de database.
De connectie moet bovenaan je script en de 'insert' kan dan op die plek om de gegevens op te slaan.
'//hier komt dat wat je al had' Hiermee werd bedoeld dat je hier dan je formulier kan plaatsen (natuurlijk alleen het 'form' deel)
plaats ook even het volgende bovenaan je script zodat eventuele foutmeldingen worden weergegeven
Gewijzigd op 02/09/2015 17:42:36 door Michael -
Een 'getal' invullen is dus niet nodig. Gewoon een PLUS-knopje tonen. En dat is dan gewoon een <a href="updatescore.php?team=33&wedstrijd=37549&score=plus
Op de pagina updatescore.php werk je dus wat bij.
Team 33 = team-id
wedstrijd 38338 = wedstrijd-id
score plus = welke actie. Wat als er een punt achteraf wordt afgekeurd?
Nico Kamper op 02/09/2015 16:54:26:
ik kan eventueel per wedstrijd een apparte tabel aanmaken
Dat lijkt me wat overdreven; lijkt me prima in 1 tabel te kunnen. Anders heb je voor 100 wedstrijden staks 100 tabellen.
Nico Kamper op 02/09/2015 16:54:26:
je moet de tussen stand kunnen invullen en vervolgens weer kunnen wijzigen dat de laatste (tussen)stand zichtbaar is
Dus alleen de actuele stand moet zichtbaar zijn. Lijkt de denkrichting van Eddy E mij een prima idee.