Selectie vakje
Alleen nu wil ik dmv een selectie vakje dat je kan aangeven of het je eigen team is zodat die straks een ander kleurtje krijgt ofzoiets.
ik dacht dat ik er al een heel eind uit was alleen het wil niet echt lukken
Dus heb ik 2 vraagjes.ik zeg er vast bij dat ik er niet echt veel verstand van heb ben nog maar net bezig.
Heb 2 velden in mijn tabel eentje met teamnaam en eentje met eigenteam
1= Wat is er fout aan mijn script?
2= Hoe kan ik straks het eigen team een ander kleurtje geven
//teams toevoegen
if(isset($_POST['teamnaam']))
{
$teamnaam = $_POST['teamnaam'];
$intEigenteam = 0; // is geen eigenteam
if(isset($_POST['eigenteam']))
{
$intEigenteam = 1; // wel eigen team
}
$toevoegen = 'INSERT INTO tegenstanders SET teamnaam, eigenteam = "'.$_POST['teamnaam'].'"';
mysql_query($toevoegen) or die (mysql_error());
echo 'Team toegevoegd!';
echo '<br />';
echo '<br />';
}
echo '<form action="" method="post">';
echo '<label>Teamnaam:</label><input type="text" class="text" name="teamnaam"><br />';
echo '<label>Eigenteam:</label><input type="checkbox" name="eigenteam"><br />';
echo '</td>';
echo '</tr>';
echo '</table>';
echo '<br />';
echo '<input type="submit" class="submit" value="Voeg Team toe">';
?>
moet zijn:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$toevoegen = "
INSERT INTO tegenstanders
SET
teamnaam = '".mysql_real_escape_string ($_POST['teamnaam'])."',
eigenteam = " . $intEigenteam;
?>
$toevoegen = "
INSERT INTO tegenstanders
SET
teamnaam = '".mysql_real_escape_string ($_POST['teamnaam'])."',
eigenteam = " . $intEigenteam;
?>
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
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
<?php
//MySQL connectie
mysql_connect('localhost', '****', '******') or die (mysql_error());
mysql_select_db('test');
//teams toevoegen
if(isset($_POST['teamnaam']))
{
$teamnaam = $_POST['teamnaam'];
$intEigenteam = 0; // is geen eigenteam
if(isset($_POST['eigenteam']))
{
$intEigenteam = 1; // wel eigen team
}
$toevoegen = 'INSERT INTO tegenstanders
SET
teamnaam = '".mysql_real_escape_string ($_POST['teamnaam'])."',
eigenteam = " . $intEigenteam;
mysql_query($toevoegen) or die (mysql_error());
echo 'Team toegevoegd!';
echo '<br />';
echo '<br />';
}
echo '<form action="" method="post">';
echo '<label>Teamnaam:</label><input type="text" class="text" name="teamnaam"><br />';
echo '<label>Eigenteam:</label><input type="checkbox" name="eigenteam"><br />';
echo '</td>';
echo '</tr>';
echo '</table>';
echo '<br />';
echo '<input type="submit" class="submit" value="Voeg Team toe">';
?>
//MySQL connectie
mysql_connect('localhost', '****', '******') or die (mysql_error());
mysql_select_db('test');
//teams toevoegen
if(isset($_POST['teamnaam']))
{
$teamnaam = $_POST['teamnaam'];
$intEigenteam = 0; // is geen eigenteam
if(isset($_POST['eigenteam']))
{
$intEigenteam = 1; // wel eigen team
}
$toevoegen = 'INSERT INTO tegenstanders
SET
teamnaam = '".mysql_real_escape_string ($_POST['teamnaam'])."',
eigenteam = " . $intEigenteam;
mysql_query($toevoegen) or die (mysql_error());
echo 'Team toegevoegd!';
echo '<br />';
echo '<br />';
}
echo '<form action="" method="post">';
echo '<label>Teamnaam:</label><input type="text" class="text" name="teamnaam"><br />';
echo '<label>Eigenteam:</label><input type="checkbox" name="eigenteam"><br />';
echo '</td>';
echo '</tr>';
echo '</table>';
echo '<br />';
echo '<input type="submit" class="submit" value="Voeg Team toe">';
?>
En krijg ik deze error:
Parse error: parse error, unexpected '"' in H:\Program Files\xampp\htdocs\toevoegen.php on line 41
Niemand die mij kan helpen??
Zoals je aan de kleur van je eigen script ziet gaat het al ergens niet goed. Dat komt waarschijnlijk door de enkele quote op regel 20, dat moet een dubbele zijn.
SET
teamnaam = '".mysql_real_escape_string ($_POST['teamnaam'])."',
eigenteam = " . $intEigenteam;
moet op het eind zó:
$toevoegen = 'INSERT INTO tegenstanders
SET
teamnaam = '".mysql_real_escape_string ($_POST['teamnaam'])."',
eigenteam = '".$intEigenteam."';
Groet,
Barry
Barry, dat is niet correct. $intEigenteam doet vermoeden dat het een integer is en daar horen in een sql query dus geen quotes om. Het is de eerste enkele quote in het begin die een probleem oplevert, dat moet een dubbele zijn.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$toevoegen = "INSERT INTO tegenstanders
SET
teamnaam = "'.($_POST['teamnaam']).'",
eigenteam = " . $intEigenteam;
?>
$toevoegen = "INSERT INTO tegenstanders
SET
teamnaam = "'.($_POST['teamnaam']).'",
eigenteam = " . $intEigenteam;
?>
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in H:\Program Files\xampp\htdocs\toevoegen.php on line 41
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$toevoegen = "
INSERT INTO tegenstanders
SET
teamnaam = '".mysql_real_escape_string ($_POST['teamnaam'])."',
eigenteam = " . $intEigenteam;
?>
$toevoegen = "
INSERT INTO tegenstanders
SET
teamnaam = '".mysql_real_escape_string ($_POST['teamnaam'])."',
eigenteam = " . $intEigenteam;
?>
Zo werkt het thx voor de hulp
De eerste:
-Hoe krijg ik het voor elkaar om te zien of dat er een team al bestaat in de database zodat er genne dubbele inkomt en dat er dan in een tekst komt dat het team als bestaat?
De tweede:
_ Met het volgende script haal ik de teams weer uit de database maar hoe kan iik nu mijn eigen team dmv van een ander kleurtje laten weergeven?
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
echo '<label><b>Teams in database:</b></label><br />';
$res = mysql_query("SELECT teamnaam FROM tegenstanders ORDER BY teamnaam");
while ($arr = mysql_fetch_assoc($res)) {
echo $arr["teamnaam"]."<br />";
}
mysql_free_result($res);
?>
echo '<label><b>Teams in database:</b></label><br />';
$res = mysql_query("SELECT teamnaam FROM tegenstanders ORDER BY teamnaam");
while ($arr = mysql_fetch_assoc($res)) {
echo $arr["teamnaam"]."<br />";
}
mysql_free_result($res);
?>
- Dat doe je door de kolom waarin de teamnaam staat UNIQUE te maken. Op die manier zorg je ervoor dat er nooit een dubbele teamnaam in die tabel kan staan. Als je dat toch probeert zal de mysql query een foutmelding geven en wel die met foutnummer 1062. Daar kun je dus op controleren:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
if(!$res = mysql_query($sql))
{
if(mysql_errno() == 1062)
{
echo 'Dit team bestaat al.';
}
}
?>
if(!$res = mysql_query($sql))
{
if(mysql_errno() == 1062)
{
echo 'Dit team bestaat al.';
}
}
?>
Antwoord op je tweede vraag:
- Dit doe je in php zelf. Je controleert of jouw team weergegeven wordt, en dan geef je die een andere kleur mee:
Code (php)
Vervolgens maak je in je CSS code een class .eigen aan waarin je de kleur zet:
Alleen die foutmelding dat die dan weergeeft dat het team bestaat wil nog niet lukken die kleur enzo wel.
Maar ja ben nog maar een beginneling he.Zou je misschien nog kunnen aangeven waar ik die mysql query voor die foutmelding moet plaatsen?
Ik dacht zelf ergens hier tussen alleen dan werkt het niet
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
//teams toevoegen
if(isset($_POST['teamnaam']))
{
$teamnaam = $_POST['teamnaam'];
$intEigenteam = 0; // is geen eigenteam
if(isset($_POST['eigenteam']))
{
$intEigenteam = 1; // wel eigen team
}
$toevoegen = "
INSERT INTO tegenstanders
SET
teamnaam = '".mysql_real_escape_string ($_POST['teamnaam'])."',
eigenteam = " . $intEigenteam;
mysql_query($toevoegen) or die (mysql_error());
echo 'Team toegevoegd!';
echo '<br />';
echo '<br />';
?>
//teams toevoegen
if(isset($_POST['teamnaam']))
{
$teamnaam = $_POST['teamnaam'];
$intEigenteam = 0; // is geen eigenteam
if(isset($_POST['eigenteam']))
{
$intEigenteam = 1; // wel eigen team
}
$toevoegen = "
INSERT INTO tegenstanders
SET
teamnaam = '".mysql_real_escape_string ($_POST['teamnaam'])."',
eigenteam = " . $intEigenteam;
mysql_query($toevoegen) or die (mysql_error());
echo 'Team toegevoegd!';
echo '<br />';
echo '<br />';
?>
De complete code
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
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
<?php
//MySQL connectie
mysql_connect('localhost', '****', '******') or die (mysql_error());
mysql_select_db('test');
//teams toevoegen
if(isset($_POST['teamnaam']))
{
$teamnaam = $_POST['teamnaam'];
$intEigenteam = 0; // is geen eigenteam
if(isset($_POST['eigenteam']))
{
$intEigenteam = 1; // wel eigen team
}
$toevoegen = "
INSERT INTO tegenstanders
SET
teamnaam = '".mysql_real_escape_string ($_POST['teamnaam'])."',
eigenteam = " . $intEigenteam;
mysql_query($toevoegen) or die (mysql_error());
echo 'Team toegevoegd!';
echo '<br />';
echo '<br />';
}
echo '<form action="" method="post">';
echo '<label>Teamnaam:</label><input type="text" class="text" name="teamnaam"><br />';
echo '<label>Eigenteam:</label><input type="checkbox" name="eigenteam"><br />';
echo '</td>';
echo '</tr>';
echo '</table>';
echo '<br />';
echo '<input type="submit" class="submit" value="Voeg Team toe">';
?>
//MySQL connectie
mysql_connect('localhost', '****', '******') or die (mysql_error());
mysql_select_db('test');
//teams toevoegen
if(isset($_POST['teamnaam']))
{
$teamnaam = $_POST['teamnaam'];
$intEigenteam = 0; // is geen eigenteam
if(isset($_POST['eigenteam']))
{
$intEigenteam = 1; // wel eigen team
}
$toevoegen = "
INSERT INTO tegenstanders
SET
teamnaam = '".mysql_real_escape_string ($_POST['teamnaam'])."',
eigenteam = " . $intEigenteam;
mysql_query($toevoegen) or die (mysql_error());
echo 'Team toegevoegd!';
echo '<br />';
echo '<br />';
}
echo '<form action="" method="post">';
echo '<label>Teamnaam:</label><input type="text" class="text" name="teamnaam"><br />';
echo '<label>Eigenteam:</label><input type="checkbox" name="eigenteam"><br />';
echo '</td>';
echo '</tr>';
echo '</table>';
echo '<br />';
echo '<input type="submit" class="submit" value="Voeg Team toe">';
?>
<br>
<div id="teams" style="position: absolute; top:150; left:350;">
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
echo '<label><b>Teams in database:</b></label><br />';
$res = mysql_query("SELECT teamnaam FROM tegenstanders ORDER BY teamnaam");
while ($arr = mysql_fetch_assoc($res)) {
echo $arr["teamnaam"]."<br />";
}
mysql_free_result($res);
?>
echo '<label><b>Teams in database:</b></label><br />';
$res = mysql_query("SELECT teamnaam FROM tegenstanders ORDER BY teamnaam");
while ($arr = mysql_fetch_assoc($res)) {
echo $arr["teamnaam"]."<br />";
}
mysql_free_result($res);
?>
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
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
<?php
//teams toevoegen
if(isset($_POST['teamnaam']))
{
$teamnaam = $_POST['teamnaam'];
$intEigenteam = 0; // is geen eigenteam
if(isset($_POST['eigenteam']))
{
$intEigenteam = 1; // wel eigen team
}
$toevoegen = "
INSERT INTO tegenstanders
SET
teamnaam = '".mysql_real_escape_string ($_POST['teamnaam'])."',
eigenteam = " . $intEigenteam;
if(!$res = mysql_query($toevoegen))
{
if(mysql_errno() = 1062)
{
echo 'Team bestaat al.';
}
else
{
trigger_error(mysql_error());
}
}
else
{
echo 'Team toegevoegd!';
}
echo '<br />';
echo '<br />';
?>
//teams toevoegen
if(isset($_POST['teamnaam']))
{
$teamnaam = $_POST['teamnaam'];
$intEigenteam = 0; // is geen eigenteam
if(isset($_POST['eigenteam']))
{
$intEigenteam = 1; // wel eigen team
}
$toevoegen = "
INSERT INTO tegenstanders
SET
teamnaam = '".mysql_real_escape_string ($_POST['teamnaam'])."',
eigenteam = " . $intEigenteam;
if(!$res = mysql_query($toevoegen))
{
if(mysql_errno() = 1062)
{
echo 'Team bestaat al.';
}
else
{
trigger_error(mysql_error());
}
}
else
{
echo 'Team toegevoegd!';
}
echo '<br />';
echo '<br />';
?>
Zoiets. Daarnaast nog een opmerking over je insert query: INSERT ... SET kun je gebruiken in mysql, maar het is niet de sql standaard. Gebruik dus liever:
Fatal error: Can't use function return value in write context in H:\Program Files\xampp\htdocs\toevoegen1.php on line 47
en op line 47 staat bij mij
if(mysql_errno() = 1062)
en die insert query zou die er dan zo ongeveer uit moeten zien.
Code (php)
1
2
3
4
2
3
4
<?php
INSERT INTO tegenstanders (teamnaam, eigenteam)
VALUES ('$teamnaam', '$intEigenteam')
?>
INSERT INTO tegenstanders (teamnaam, eigenteam)
VALUES ('$teamnaam', '$intEigenteam')
?>
o ja en ik dacht dat ik eruit was met die kleuren maar krijg het toch niet voor elkaar( erg ben ik he)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
echo '<label><b>Teams in database:</b></label><br /><br />';
$res = mysql_query("SELECT teamnaam,eigenteam FROM tegenstanders ORDER BY teamnaam");
while($row = mysql_fetch_assoc($res))
{
if($row['teamnaam'] == 'eigenteam')
{
echo '<span class="eigen">'.$row['teamnaam'].'</span>';
}
else
{
echo $row['teamnaam']."<br />";
}
}
mysql_free_result($res);
?>
echo '<label><b>Teams in database:</b></label><br /><br />';
$res = mysql_query("SELECT teamnaam,eigenteam FROM tegenstanders ORDER BY teamnaam");
while($row = mysql_fetch_assoc($res))
{
if($row['teamnaam'] == 'eigenteam')
{
echo '<span class="eigen">'.$row['teamnaam'].'</span>';
}
else
{
echo $row['teamnaam']."<br />";
}
}
mysql_free_result($res);
?>
Gewijzigd op 01/01/1970 01:00:00 door Roland Braat
ps. En ja, hoe duid jij aan dat een team een eigen team is. Juist, door in de database een de kolom eigenteam een 0 of een 1 te zetten. Dan zul je in je phpscript daar ook wel op moeten controleren:
pps. Controleer ook altijd of een msyql query gelukt is. Je controleert nu nergens of je select query wel gelukt is.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Alleen die foutmelding nog niet.
Een dubbele invoer krijg ik niet meer maar krijg geen eigen tekst zoals dat team al bestaat.
Krijg alleen het volgende:
Duplicate entry 'test' for key 2
En dat controleren dat moet ik nog even uitzoeken hoe ik dat klan doen
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
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
<?php
//teams toevoegen
if(isset($_POST['teamnaam']))
{
$teamnaam = $_POST['teamnaam'];
$intEigenteam = 0; // is geen eigenteam
if(isset($_POST['eigenteam']))
{
$intEigenteam = 1; // wel eigen team
}
$toevoegen = "
INSERT INTO tegenstanders
SET
teamnaam = '".mysql_real_escape_string ($_POST['teamnaam'])."',
eigenteam = " . $intEigenteam;
if(!$res = mysql_query($toevoegen))
{
if(mysql_errno() == 1062)
{
echo 'Team bestaat al.';
}
else
{
trigger_error(mysql_error());
}
}
else
{
echo 'Team toegevoegd!';
}
echo '<form action="" method="post">';
echo '<label>Teamnaam:</label><input type="text" class="text" name="teamnaam"><br />';
echo '<label>Eigenteam:</label><input type="checkbox" name="eigenteam"><br />';
echo '</td>';
echo '</tr>';
echo '</table>';
echo '<br />';
echo '<input type="submit" class="submit" value="Voeg Team toe">';
?>
//teams toevoegen
if(isset($_POST['teamnaam']))
{
$teamnaam = $_POST['teamnaam'];
$intEigenteam = 0; // is geen eigenteam
if(isset($_POST['eigenteam']))
{
$intEigenteam = 1; // wel eigen team
}
$toevoegen = "
INSERT INTO tegenstanders
SET
teamnaam = '".mysql_real_escape_string ($_POST['teamnaam'])."',
eigenteam = " . $intEigenteam;
if(!$res = mysql_query($toevoegen))
{
if(mysql_errno() == 1062)
{
echo 'Team bestaat al.';
}
else
{
trigger_error(mysql_error());
}
}
else
{
echo 'Team toegevoegd!';
}
echo '<form action="" method="post">';
echo '<label>Teamnaam:</label><input type="text" class="text" name="teamnaam"><br />';
echo '<label>Eigenteam:</label><input type="checkbox" name="eigenteam"><br />';
echo '</td>';
echo '</tr>';
echo '</table>';
echo '<br />';
echo '<input type="submit" class="submit" value="Voeg Team toe">';
?>
eens in:
En kijk vervolgens eens welke foutcode er bij die melding gegeven wordt. Volgens mij moet dat toch echt 1062 zijn. Ik snap dan ook niet waarom je script dat niet pakt.
Het werkt nu prima.
Dan ga ik nu even kijken hoe ik kan controleren of de query gelukt is