Editten van een rij
Het is nu gedeeltelijk gelukt.
Nu lukt het me niet om de edit die dient om in die rij wijzigingen door te voeren werkend te krijgen.
gegevens:
online op http://gigabit.ifastnet.com/storingdienst/index.php
id bestaat en heeft de waarde: "19"
Je moet dus een formulier maken met de waarden van die rij als value van dat veld.
Daarna met een UPDATE SET je query uitvoeren en dan moet het werken.
Ik heb nog weinig kennis van php.
Wil je mij helpen bij het maken van een juist formulier?
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
// Connect to MySQL
include 'config.php';
if(isset($_POST['submit'])) {
$updatedrows = 0;
foreach($_POST['changed'] as $id) {
$week = $_POST["week $id"];
$begindatum = $_POST["begindatum $id"];
$einddatum = $_POST["einddatum $id"];
$dienstdoende = $_POST["dienstdoende $id"];
$backup = $_POST["backup $id"];
$land = $_POST["land $id"];
$query = "UPDATE storingdienstrooster SET week='$week', "
. "begindatum ='$begindatum ', einddatum='$einddatum', dienstdoende='$dienstdoende', "
. "backup='$backup', land='$land' WHERE id=$id";
mysql_query($query);
$updatedrows += mysql_affected_rows();
}
}
//grab data from database
$result = mysql_query('SELECT * FROM storingdienstrooster WHERE id=$id');
$products = array();
while($row = mysql_fetch_assoc($result)) {
$products[$row['id']] = array(
'week '=>$row['week '],
'begindatum '=>$row['begindatum '],
'einddatum'=>$row['einddatum'],
'dienstdoende'=>$row['dienstdoende'],
'backup'=>$row['backup'],
'land'=>$row['land']);
;
}
mysql_close();
?>
// Connect to MySQL
include 'config.php';
if(isset($_POST['submit'])) {
$updatedrows = 0;
foreach($_POST['changed'] as $id) {
$week = $_POST["week $id"];
$begindatum = $_POST["begindatum $id"];
$einddatum = $_POST["einddatum $id"];
$dienstdoende = $_POST["dienstdoende $id"];
$backup = $_POST["backup $id"];
$land = $_POST["land $id"];
$query = "UPDATE storingdienstrooster SET week='$week', "
. "begindatum ='$begindatum ', einddatum='$einddatum', dienstdoende='$dienstdoende', "
. "backup='$backup', land='$land' WHERE id=$id";
mysql_query($query);
$updatedrows += mysql_affected_rows();
}
}
//grab data from database
$result = mysql_query('SELECT * FROM storingdienstrooster WHERE id=$id');
$products = array();
while($row = mysql_fetch_assoc($result)) {
$products[$row['id']] = array(
'week '=>$row['week '],
'begindatum '=>$row['begindatum '],
'einddatum'=>$row['einddatum'],
'dienstdoende'=>$row['dienstdoende'],
'backup'=>$row['backup'],
'land'=>$row['land']);
;
}
mysql_close();
?>
Code (php)
</div>
<form method="post"
action=""
name="updateform">
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td><table border="1" align="center">
<tr>
<th><div align="center">Week</div></th>
<th><div align="center">Begindatum</div></th>
<th><div align="center">einddatum</div></th>
<th><div align="center">Dienstdoende</div></th>
<th><div align="center">Backup</div></th>
<th><div align="center">land</div></th>
</tr>
<tr>
<td>
<div align="center">
<input name="changed[]" type="hidden" value="" />
</div></td>
<td><div align="center">
<input type="text" size="10"
value=""
name="week_" />
</div></td>
<td><div align="center">
<input type="text" size="10"
value=""
name="begindatum_" />
</div></td>
<td><div align="center">
<input type="text" size="10"
value=""
name="einddatum_" />
</div></td>
<td><div align="center">
<input type="text" size="20"
value=""
name="dienstdoende_" />
</div></td>
<td><div align="center">
<input type="text" size="20"
value=""
name="backup_" />
</div>
<td><div align="center">
<input type="text" size="30"
value=""
name="land_" />
</div></td></td>
</tr>
<tr>
<th><div align="center"> </div></th>
<th><div align="center"> </div></th>
<th><div align="center"> </div></th>
<th><div align="center"> </div></th>
<th><div align="center"> </div></th>
<th><div align="center"> </div></th>
</table>
<div align="center"><br />
<input type="submit" name="submit" value="Submit" />
</div>
</form>
</td>
</tr>
</table>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door gigabit
Wees eens wat duidelijker. Wat werkt er niet, hoever kom je? En ik denk dat weinig mensen zin hebben een heel script door te werken. Post eens alleen het deel waarmee je wil gaan editen.
Ik wil een rij data uit de tabel halen en weer geven.
Kan dat zo:
$result = mysql_query('SELECT * FROM storingdienstrooster WHERE id=$id');
$products = array();
while($row = mysql_fetch_assoc($result)) {
$products[$row['id']] = array(
'id'=>$row['id'],
'week '=>$row['week '],
'begindatum '=>$row['begindatum '],
'einddatum'=>$row['einddatum'],
'dienstdoende'=>$row['dienstdoende'],
'backup'=>$row['backup'],
'land'=>$row['land']);
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
$sql = "
SELECT *
FROM storingdienstrooster
WHERE id= " . $id;
if (!$res = mysql_query ($sql)) {
echo '<pre>';
trigger_error (mysql_errno () ': ' mysql_error ());
echo htmlentities ($sql);
echo '</pre>';
}
else {
while ($row = mysql_fetch_assoc ($res)) {
foreach ($row as $key => $value) {
echo '<p>' . $key . ' heeft de waarde: ' . $value . '</p>';
}
echo '<hr>';
}
}
?>
$sql = "
SELECT *
FROM storingdienstrooster
WHERE id= " . $id;
if (!$res = mysql_query ($sql)) {
echo '<pre>';
trigger_error (mysql_errno () ': ' mysql_error ());
echo htmlentities ($sql);
echo '</pre>';
}
else {
while ($row = mysql_fetch_assoc ($res)) {
foreach ($row as $key => $value) {
echo '<p>' . $key . ' heeft de waarde: ' . $value . '</p>';
}
echo '<hr>';
}
}
?>
Zou je me ook verder kunnen helpen met mijn script om "een" rij te kunnen editten op deze site via de link edit:
http://gigabit.ifastnet.com/storingdienst/index.php
Zodra iemand op die pagina terechtkomt, ga je kijken wat er in GET staat. Je checkt ook meteen of die variabele wel een getal is met ctype_digit. Gebruikers kunnen immers van alles op de adresbalk invullen.
Daarna ga je een query in elkaar sleutelen op basis van het id dat je uit de GET variabele krijgt.
Dit zijn de eerste stappen. Probeer maar eens een beginnetje te maken, dan helpen wij je wel weer verder zodra je vastloopt.
<a href=\"edit.php?id=$id\">Edit</a>
Jan moet ik nu met de code die je hiervoven hebt geplaatsts verder gaan of ..
Kun je nog een zetje geven
Gewijzigd op 01/01/1970 01:00:00 door gigabit
Ja, het beginnetje is er al, zoals ik zei. Nu het opzetje proberen uit te breiden volgens de tips uit mijn vorige post :-)
Moet alles afstruinen gezien ik zelf nog weinig kennis heb van php. Heb wel dit gevonden over ctype_digit
// voorbeeld van gebruik ctype_digit
$strings = array('1820.20', '10002', 'wsl!12');
foreach ($strings as $testcase) {
if (ctype_digit($testcase)) {
echo "The string $testcase consists of all digits.\n";
} else {
echo "The string $testcase does not consist of all digits.\n";
}
}
Ik weet niet hoe nu eerst verder te gaan. Volgens Jan moet ik eerst gaan "kijken wat er in get staat" ik zie niet wat ik nu moet doen ?
Wie help me een handje.
Gewijzigd op 01/01/1970 01:00:00 door gigabit
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
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
<?
$sql = "SELECT * FROM storingdienstrooster WHERE id='".$_GET['id']."'";
$query = mysql_query($sql) or die("Het gaat niet helemaat goed:<br>".mysql_error());
while ($row = mysql_fetch_object($query))
{
echo "<table width=\"400px\" border=\"1\" solid=\#C8C4C8\">";
echo "<form method=\"post\" action=\"$PHP_SELF\">";
echo "<tr><td width=\"90\">Week:</td><td><input type=\"int\" name=\"week\" value=\"$row->week\" ></td></tr>";
echo "<tr><td width=\"90\">begindatum:</td><td><input type=\"varchar\" name=\"begindatum\" value=\"$row->begindatum\" ></td></tr>";
echo "<tr><td width=\"90\">einddatum:</td><td><input type=\"varchar\" name=\"einddatum\" value=\"$row->einddatum\" ></td></tr>";
echo "<tr><td width=\"90\">dienstdoende:</td><td><input type=\"varchar\" name=\"dienstdoende\" value=\"$row->dienstdoende\" ></td></tr>";
echo "<tr><td width=\"90\">backup:</td><td><input type=\"varchar\" name=\"backup\" value=\"$row->backup\" ></td></tr>";
echo "<tr><td width=\"\"><input type=\"submit\" name=\"post\" value=\"Bewerk\"></td></tr>";
echo "</form></table>";
}
if(IsSet($_POST['post'])){
if($_POST['week'] == ""){
echo "Je hebt geen week ingevult";
}if($_POST['begindatum'] == ""){
echo "Je hebt geen begindatum ingevult";
}if($_POST['einddatum'] == ""){
echo "Je hebt geen einddatum ingevult";
}if($_POST['dienstdoende'] == ""){
echo "Je hebt geen dienstdoende naam ingevult";
}if($_POST['backup'] == ""){
echo "Je hebt geen backup naam ingevult";
}else{
$sql2 = "UPDATE storingdienstrooster SET
begindatum='$_POST[begindatum]',
einddatum='$_POST[einddatum]',
dienstdoende='$_POST[dienstdoende]',
backup='$_POST[backup]'
WHERE id='".$_GET['id']."'";
mysql_query($sql2)
or die("Foutje sql2:<br>".mysql_error());
echo "De storingdienst is succesvol gewijzigt <br>";
echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"2; URL=index.php\">";
}
}
?>
$sql = "SELECT * FROM storingdienstrooster WHERE id='".$_GET['id']."'";
$query = mysql_query($sql) or die("Het gaat niet helemaat goed:<br>".mysql_error());
while ($row = mysql_fetch_object($query))
{
echo "<table width=\"400px\" border=\"1\" solid=\#C8C4C8\">";
echo "<form method=\"post\" action=\"$PHP_SELF\">";
echo "<tr><td width=\"90\">Week:</td><td><input type=\"int\" name=\"week\" value=\"$row->week\" ></td></tr>";
echo "<tr><td width=\"90\">begindatum:</td><td><input type=\"varchar\" name=\"begindatum\" value=\"$row->begindatum\" ></td></tr>";
echo "<tr><td width=\"90\">einddatum:</td><td><input type=\"varchar\" name=\"einddatum\" value=\"$row->einddatum\" ></td></tr>";
echo "<tr><td width=\"90\">dienstdoende:</td><td><input type=\"varchar\" name=\"dienstdoende\" value=\"$row->dienstdoende\" ></td></tr>";
echo "<tr><td width=\"90\">backup:</td><td><input type=\"varchar\" name=\"backup\" value=\"$row->backup\" ></td></tr>";
echo "<tr><td width=\"\"><input type=\"submit\" name=\"post\" value=\"Bewerk\"></td></tr>";
echo "</form></table>";
}
if(IsSet($_POST['post'])){
if($_POST['week'] == ""){
echo "Je hebt geen week ingevult";
}if($_POST['begindatum'] == ""){
echo "Je hebt geen begindatum ingevult";
}if($_POST['einddatum'] == ""){
echo "Je hebt geen einddatum ingevult";
}if($_POST['dienstdoende'] == ""){
echo "Je hebt geen dienstdoende naam ingevult";
}if($_POST['backup'] == ""){
echo "Je hebt geen backup naam ingevult";
}else{
$sql2 = "UPDATE storingdienstrooster SET
begindatum='$_POST[begindatum]',
einddatum='$_POST[einddatum]',
dienstdoende='$_POST[dienstdoende]',
backup='$_POST[backup]'
WHERE id='".$_GET['id']."'";
mysql_query($sql2)
or die("Foutje sql2:<br>".mysql_error());
echo "De storingdienst is succesvol gewijzigt <br>";
echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"2; URL=index.php\">";
}
}
?>
<a href="index.php">Bekijk storingsdienst rooster</a>
Wat vinden jullie ervan ?
Gewijzigd op 01/01/1970 01:00:00 door gigabit
Heeft iemand dit script compleet, heb namelijk ook zo'n script nodig, en kan het niet vinden.
PFf ik klik op die link en wordt doodgegooid met popups.. :S
daarom vraag ik ook of iemand het nog heeft?! :-0