Invulvelden opslaan achter de juiste naam
Nadat iemand is ingelogd krijgt hij een tabel van zijn eigen team te zien/
Nu wil een een tabel krijgen waarin ziet:
Naam:
Datum:
De datum moet in te vullen zijn en dan door middel van een opslaan-knop opgeslagen worden in de tabel onder datum bij de juiste persoon.
Wie heeft een idee??
De opslaan knop is gewoon een submit knop die de ingevulde datums weer insert en/of update in je database.
En wat is de betekenis van die datum in die tabel?
Code (php)
Ik zou zeggen: Volg de tutorial eens op http://www.phptuts.nl
Gewijzigd op 05/10/2012 13:02:16 door - Ariën -
Die leden in de tabel zetten lukt wel
echo("<table align=center border=1 WIDTH=800 bordercolor=123456");
echo("<TR> <TD align=left ><b>Naam</b></TD><TD><b>Team</b></TD><TD><b>Datum</b></TD> </TR>");
while($weergeven = mysql_fetch_array($gegevens)){
echo("
<TR>
<TD align=left >".$weergeven['naam']." </TD>
<TD>".$weergeven['Team']."</TD>
<TD >".$weergeven['???']." </TD></TR>");
}
echo("</TABLE>");
Alleen hoe op de plaats van doe vraagtekens het invulveld??
- Aar - op 05/10/2012 13:00:58:
Dit is eigenlijk best wel basis PHP scripting. het komt eigenlijk neer op de volgende constructie:
Ik zou zeggen: Volg de tutorial eens op http://www.phptuts.nl
Code (php)
Ik zou zeggen: Volg de tutorial eens op http://www.phptuts.nl
Aar,
Hoe helpt dat de TS om naam en datum bij elkaar te zetten en juist te updaten/inserten in zijn database?
Wat ik lees is dat hij het volgende wil.
Henk |_____________| Save
Piet |_____________| Save
Jan |_____________| Save
Kees |_____________| Save
En dus zal |___________| een input veld zijn waar hij de datum wil invullen.
Jou stukje code hebt hem volgens mij niet echt met wat hij wil bereiken lijkt me.
John Adje op 05/10/2012 13:04:20:
Die datum wil zeggen dat ze een gesprek gehad hebben.
Nee, het is me nog steeds niet duidelijk wat die tabel is en wat datum betekent.
De naam van de tabel zou al helpen
John Adje op 05/10/2012 13:04:20:
Die datum wil zeggen dat ze een gesprek gehad hebben.
Die leden in de tabel zetten lukt wel
echo("<table align=center border=1 WIDTH=800 bordercolor=123456");
echo("<TR> <TD align=left ><b>Naam</b></TD><TD><b>Team</b></TD><TD><b>Datum</b></TD> </TR>");
while($weergeven = mysql_fetch_array($gegevens)){
echo("
<TR>
<TD align=left >".$weergeven['naam']." </TD>
<TD>".$weergeven['Team']."</TD>
<TD >".$weergeven['???']." </TD></TR>");
}
echo("</TABLE>");
Alleen hoe op de plaats van doe vraagtekens het invulveld??
Die leden in de tabel zetten lukt wel
echo("<table align=center border=1 WIDTH=800 bordercolor=123456");
echo("<TR> <TD align=left ><b>Naam</b></TD><TD><b>Team</b></TD><TD><b>Datum</b></TD> </TR>");
while($weergeven = mysql_fetch_array($gegevens)){
echo("
<TR>
<TD align=left >".$weergeven['naam']." </TD>
<TD>".$weergeven['Team']."</TD>
<TD >".$weergeven['???']." </TD></TR>");
}
echo("</TABLE>");
Alleen hoe op de plaats van doe vraagtekens het invulveld??
Gewoon je datum veld van je datase invullen.
Dus dan krijg je dit of niet hoe dat veld heet in je database. Voor het invulveld doe je dat zo
<TD ><input type=”text” name=”datum” value=”’.$weergeven['datum'].’”/> </TD></TR>);
Ook kun je de opmaak van je tabellen beter in CSS doen, en je table gewoon een id of class geven. Dat werkt makkelijker en overzichtelijker, ook hoef je dan maar 1 wijziging te doen wanneer je de kleur of layout van je tabellen anders wilt hebben. Inline CSS/Style wordt eigenlijk nooit aangeraden.
Let wel dat ik voor de echo's enkele ' quotes geberuik. Dan hoef je niets te gaan escapen aangezien HTML dubbelenquotes " gebruikt
Gewijzigd op 05/10/2012 13:14:12 door Chris PHP
Piet |_____________| Save
Jan |_____________| Save
Kees |_____________| Save
En dus zal |___________| een input veld zijn waar hij de datum wil invullen.
Dit is inderdaad de bedoeling!
Zorg dat je de echo's tussen enkele quotes zet. Dit verkomt een hoop escapen in HTML. Nog beter is gewoon om uit php te gaan voor z'n tabel als dit, nu ben je de webserver onnodig aan het belasten aangezien PHP op de server wordt uitgevoerd.
Let wel dat ik een hoop heb aangepast in je tabel. HTML wordt voornamelijk in kleine letters gedaan, dus <td> ipv <TD> ook wordt <b> niet meer gebruikt hier hebben we CSS voor of de <th> (table header). Deze maakt de tekst standaard bold.
Let wel dat de usr_id moet kloppen aan jou veldnaam voor het unieke user id dat ze hebben, zodat je straks weet waar je iets moet inserten!
Maak het zo:
Je formulier
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
//Je php code hier
?>
<table>
<tr><th>Naam</th><th>Team</th><th>Datum</th></tr>
<form action=je_pagina_hier.php method=post />
<?php
while($weergeven = mysql_fetch_array($gegevens)){
echo('
<tr>
<td>'.$weergeven['naam'].'</td>
<td>'.$weergeven['Team'].'</td>
<td><input type=”text” name=”datum” value=”'.$weergeven['datum'].'”</td>
<td><input type=”submit” value=”Save” name=”submit” /></tr>
<input type=”hidden” name=”usr_id” value=”' .$weergeven['usr_id'].'” />'
}
?>
</form></table>
//Je php code hier
?>
<table>
<tr><th>Naam</th><th>Team</th><th>Datum</th></tr>
<form action=je_pagina_hier.php method=post />
<?php
while($weergeven = mysql_fetch_array($gegevens)){
echo('
<tr>
<td>'.$weergeven['naam'].'</td>
<td>'.$weergeven['Team'].'</td>
<td><input type=”text” name=”datum” value=”'.$weergeven['datum'].'”</td>
<td><input type=”submit” value=”Save” name=”submit” /></tr>
<input type=”hidden” name=”usr_id” value=”' .$weergeven['usr_id'].'” />'
}
?>
</form></table>
CSS
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
Table {
Border: solid 1px #123456;
Width: 800px;
}
th {
text-align: left;
}
td {
text-align: left;
}
Border: solid 1px #123456;
Width: 800px;
}
th {
text-align: left;
}
td {
text-align: left;
}
Nu is je inline CSS eruit en netjes in een CSS bestand gezet. Die hoef je nu alleen nog maar te includen in je pagina. Dan komt de layout er precies zo uit te zien zoals jij het had.
Tevens zitten er een hoop fouten in je code, ik zal ze hieronder noemen.
- De waardes van je table stonden niet tussen quotes “”
- Je echo’d alles, beter is voor grotere HTML stukken om gewoon even uit PHP te gaan
- Je gebruikt dubbele quotes voor echo’s, is niet echt fout maar af te raden door veel escapes.
- Geen <form>, dus er kan niets verzonden worden.
Gewijzigd op 05/10/2012 13:56:07 door Chris PHP
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
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
<HTML>
<HEAD>
<TITLE>Scholing</TITLE>
</HEAD>
<BODY>
<?php
echo "<br>";
echo 'Overzicht van:';
$tabel="XX";
$dbhost = "localhost";
$dbdb = "XXX"
$dbgebruiker = "XXX"
$dbww = "XXX"
mysql_connect($dbhost,$dbgebruiker,$dbww) or die(mysql_error());
mysql_select_db($dbdb) or die(mysql_error());
$sql=mysql_query($query);
$gegevens = mysql_query("SELECT * FROM $tabel ");
?>
<table>
<tr><th>Naam</th><th>Team</th><th>Datum</th></tr>
<form action=index.php method=post />
<?php
while($weergeven = mysql_fetch_array($gegevens)){
echo(
<tr>
<td>.$weergeven['naam'].</td>
<td>.$weergeven['Team'].</td>
<td><input type=text name=datum value=.$weergeven['datum'].</td><td><input type=submit value=Save name=submit /></tr>
}
echo(</form></table>);
?>
<HEAD>
<TITLE>Scholing</TITLE>
</HEAD>
<BODY>
<?php
echo "<br>";
echo 'Overzicht van:';
$tabel="XX";
$dbhost = "localhost";
$dbdb = "XXX"
$dbgebruiker = "XXX"
$dbww = "XXX"
mysql_connect($dbhost,$dbgebruiker,$dbww) or die(mysql_error());
mysql_select_db($dbdb) or die(mysql_error());
$sql=mysql_query($query);
$gegevens = mysql_query("SELECT * FROM $tabel ");
?>
<table>
<tr><th>Naam</th><th>Team</th><th>Datum</th></tr>
<form action=index.php method=post />
<?php
while($weergeven = mysql_fetch_array($gegevens)){
echo(
<tr>
<td>.$weergeven['naam'].</td>
<td>.$weergeven['Team'].</td>
<td><input type=text name=datum value=.$weergeven['datum'].</td><td><input type=submit value=Save name=submit /></tr>
}
echo(</form></table>);
?>
Maar dit werkt nog niet...
Gewijzigd op 05/10/2012 19:26:26 door Bas IJzelendoorn
P.S. je hebt een 'oudere versie' ik heb net nog wat veranderingen gedaan!
Gewijzigd op 05/10/2012 14:02:51 door Chris PHP
Ik krijg nu:
HTTP-fout 500 (Internal Server Error): Er is een onverwachte voorwaarde gevonden toen de server het verzoek wilde uitvoeren.
Is PHP correct geinstalleerd?
Ja, heb er veel andere scriptjes op draaien en geeft geen problemen
Haal de / eens weg achter bij <form>, die hoort er niet in.
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
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
<HTML>
<HEAD>
<TITLE>Scholing</TITLE>
</HEAD>
<BODY>
<?php
echo "<br>";
echo 'Overzicht van:';
$tabel="xxx";
$dbhost = "xxx";
$dbdb = "xx";
$dbgebruiker = "xxx";
$dbww = "xxx";
mysql_connect($dbhost,$dbgebruiker,$dbww) or die(mysql_error());
mysql_select_db($dbdb) or die(mysql_error());
$sql=mysql_query($query);
$gegevens = mysql_query("SELECT * FROM $tabel");
?>
<table>
<tr><th>Naam</th><th>Team</th><th>Datum</th></tr>
<form action=index.php method=post >
<?php
while($weergeven = mysql_fetch_array($gegevens)){
echo(
<tr>
<td>.$weergeven['naam'].</td>
<td>.$weergeven['naam'].</td>
<td><input type=text name=datum value=.$weergeven['datum'].</td><td><input type=submit value=Save name=submit /></tr>
}
echo(</form></table>);
?>
<HEAD>
<TITLE>Scholing</TITLE>
</HEAD>
<BODY>
<?php
echo "<br>";
echo 'Overzicht van:';
$tabel="xxx";
$dbhost = "xxx";
$dbdb = "xx";
$dbgebruiker = "xxx";
$dbww = "xxx";
mysql_connect($dbhost,$dbgebruiker,$dbww) or die(mysql_error());
mysql_select_db($dbdb) or die(mysql_error());
$sql=mysql_query($query);
$gegevens = mysql_query("SELECT * FROM $tabel");
?>
<table>
<tr><th>Naam</th><th>Team</th><th>Datum</th></tr>
<form action=index.php method=post >
<?php
while($weergeven = mysql_fetch_array($gegevens)){
echo(
<tr>
<td>.$weergeven['naam'].</td>
<td>.$weergeven['naam'].</td>
<td><input type=text name=datum value=.$weergeven['datum'].</td><td><input type=submit value=Save name=submit /></tr>
}
echo(</form></table>);
?>
Dit heb ik nu staan, maar ik krijg nog dezelfde melding...
Gewijzigd op 05/10/2012 19:26:11 door Bas IJzelendoorn
- SanThe - op 05/10/2012 15:10:54:
Hij gebruikt mijn oude script, hier zet hij ' neer, maar in word komt er een andere quote te staan. En omdat hier het reply gedeelte flipt onder IE7 kan ik geen lange berichten typen, en moet ik dat eerst in word 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
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
<HTML>
<HEAD>
<TITLE>Scholing</TITLE>
</HEAD>
<BODY>
<?php
echo "<br>";
echo 'Overzicht van:';
$dbhost = "xx";
$dbdb = "xxx";
$dbgebruiker = "xxx";
$dbww = "xxx";
mysql_connect($dbhost,$dbgebruiker,$dbww) or die(mysql_error());
mysql_select_db($dbdb) or die(mysql_error());
$sql=mysql_query($query);
$gegevens = mysql_query("SELECT * FROM $atermes");
?>
<table>
<tr><th>Naam</th><th>Team</th><th>Datum</th></tr>
<form action=index.php method=post >
<?php
while($weergeven = mysql_fetch_array($gegevens)){
echo
(
<tr>
<td>.$weergeven['naam'].</td>
<td>.$weergeven['naam'].</td>
<td><input type=text name=datum value=.$weergeven['datum'].</td><td><input type=submit value=Save name=submit /></tr>)
}
echo</form></table>;
?>
<HEAD>
<TITLE>Scholing</TITLE>
</HEAD>
<BODY>
<?php
echo "<br>";
echo 'Overzicht van:';
$dbhost = "xx";
$dbdb = "xxx";
$dbgebruiker = "xxx";
$dbww = "xxx";
mysql_connect($dbhost,$dbgebruiker,$dbww) or die(mysql_error());
mysql_select_db($dbdb) or die(mysql_error());
$sql=mysql_query($query);
$gegevens = mysql_query("SELECT * FROM $atermes");
?>
<table>
<tr><th>Naam</th><th>Team</th><th>Datum</th></tr>
<form action=index.php method=post >
<?php
while($weergeven = mysql_fetch_array($gegevens)){
echo
(
<tr>
<td>.$weergeven['naam'].</td>
<td>.$weergeven['naam'].</td>
<td><input type=text name=datum value=.$weergeven['datum'].</td><td><input type=submit value=Save name=submit /></tr>)
}
echo</form></table>;
?>
Helaas nog zonder resultaat. Weet echt niet wat er mis is...
Graag in het vervolg bij code, [code] [/code] tags gebruiken.[/modedit]
Gewijzigd op 05/10/2012 19:25:48 door Bas IJzelendoorn