Update edit scriptje
Mijn vraag is: Kan ik dezelfde werking ook in 1 of 2 pagina's zetten? Ook heb ik het probleem dat dit script niet op een site werkt met php 4.4.9 en mysql 5.1. Waarschijnlijk omdat deze al vrij oud is. De host heeft mij dit ook al verteld.
Ik heb op deze site even een downloadje van het script gezet, om het hier te zetten kom ik er niet uit met de tags:
http://www.squarelife365.com/phphulp.php3
Zou het super vinden als iemand mij kan helpen hiermee!
php3 :O !
Heb overigens ook weinig aan je reply. Als je het graag kwijt wilt, pm me dan.
Gewijzigd op 01/01/1970 01:00:00 door Roy
Edit:
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?php
include 'database.php';
if($_SERVER['REQUEST_METHOD'] != 'POST')
{
if(empty($_GET['id']) || !ctype_digit($_GET['id']))
{
$sql = "SELECT
*
FROM
categorie
ORDER BY
categorie
ASC
";
$result = mysql_query($sql);
if(!$result)
{
trigger_error('FOUT: De query is mislukt!');
}
else
{
echo 'Welke categorie wil je wijzigen?';
echo '<table>
<tr>
';
while($row = mysql_fetch_assoc($result))
{
echo '<td><a href="wijzigen.php?id='.$row['id'].'">'.$row['categorie'].'</a></td>';
}
echo ' </tr>
</table>
';
}
}
else
{
$sql = "SELECT
*
FROM
categorie
WHERE
id = ".$_GET['id']."
";
$result = mysql_query($sql);
if(!$result)
{
trigger_error('FOUT: De query is mislukt!');
}
else
{
$row = mysql_fetch_assoc($result)
echo '<form action="" method="post">
<table>
<tr>
<td>Naam categorie:</td>
<td><input type="text" name="naam" value="'.$row['naam'].'" /></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Wijzigen" /></td>
</tr>
</table>
</form>
';
}
}
}
else
{
if(empty($_GET['id']) || !ctype_digit($_GET['id']))
{
echo 'Dit is niet toegestaan!';
}
else
{
$sql = "UPDATE
categorie
SET
categorie = '".mysql_real_escape_string($_POST['naam'])."'
WHERE
id= ".$_GET['id']
;
$result = mysql_query($sql);
if (!$result)
{
trigger_error('FOUT: Het updaten is niet gelukt!');
}
else
{
echo 'De categorie is hernoemd naar "'.$_POST['naam'].'"!';
echo '<a href="index.php">Terug naar de index</a>';
}
}
}
?>
include 'database.php';
if($_SERVER['REQUEST_METHOD'] != 'POST')
{
if(empty($_GET['id']) || !ctype_digit($_GET['id']))
{
$sql = "SELECT
*
FROM
categorie
ORDER BY
categorie
ASC
";
$result = mysql_query($sql);
if(!$result)
{
trigger_error('FOUT: De query is mislukt!');
}
else
{
echo 'Welke categorie wil je wijzigen?';
echo '<table>
<tr>
';
while($row = mysql_fetch_assoc($result))
{
echo '<td><a href="wijzigen.php?id='.$row['id'].'">'.$row['categorie'].'</a></td>';
}
echo ' </tr>
</table>
';
}
}
else
{
$sql = "SELECT
*
FROM
categorie
WHERE
id = ".$_GET['id']."
";
$result = mysql_query($sql);
if(!$result)
{
trigger_error('FOUT: De query is mislukt!');
}
else
{
$row = mysql_fetch_assoc($result)
echo '<form action="" method="post">
<table>
<tr>
<td>Naam categorie:</td>
<td><input type="text" name="naam" value="'.$row['naam'].'" /></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Wijzigen" /></td>
</tr>
</table>
</form>
';
}
}
}
else
{
if(empty($_GET['id']) || !ctype_digit($_GET['id']))
{
echo 'Dit is niet toegestaan!';
}
else
{
$sql = "UPDATE
categorie
SET
categorie = '".mysql_real_escape_string($_POST['naam'])."'
WHERE
id= ".$_GET['id']
;
$result = mysql_query($sql);
if (!$result)
{
trigger_error('FOUT: Het updaten is niet gelukt!');
}
else
{
echo 'De categorie is hernoemd naar "'.$_POST['naam'].'"!';
echo '<a href="index.php">Terug naar de index</a>';
}
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door --
"Parse error: syntax error, unexpected T_ECHO in line 58"
error aan, maar hartstikke bedankt!
Dat komt omdat er nog een ; achter regel 56 moet.
$row = mysql_fetch_assoc($result)
(regel 56)
voeg een ; aan het eind xD
edit: te laat...
Gewijzigd op 01/01/1970 01:00:00 door Jan Horden
Ja
"Dit is niet toegestaan!"
Regel 58: echo '<form action="" method="post">
moet zijn
echo '<form action="?id='.$row['id'].'" method="post">
Gewijzigd op 01/01/1970 01:00:00 door --
Waar je het kan testen? Hmm, kan het momenteel niet ergens uploaden. Lokaal aan het testen hier.
Zie mijn edit.
Echter als ik iets wijzig met een apostrof, komt er een \ voor te staan. Ook in de database. Kan ik dat nog voorkomen?
Quote:
Jep, dat kan wel. Gewoon op de oude manier zoals je het ook in je originele script had. Dan moet je wel de overige code nog wat aanpassen.select name="categorie" size="20" width="40">
>
> </select>
>
> Sowieso is het de bedoeling om weer een form worden, want bij de categorie komen meerdere opties. Nu vul je alleen de categorie naam in. Maar als je die id dan wilt wijzigen, moet ik ook sub categorie enz van dat id kunnen wijzigen.
>
> Met jouw opzet weet ik het nu even niet namelijk. Ik kan natuurlijk niet bij:
>
> echo 'Welke categorie wil je wijzigen?';
> echo '<table>
> <tr>
> ';
> while($row = mysql_fetch_assoc($result))
> {
> echo '<td><a href="index.php?pagina=categorie/test&id='.$row['id'].'">'.$row['categorie'].'</a></td>';
> }
>
> echo ' </tr>
> </table>
> ';
>
> een formulier toevoegen. Of wel?
>
>
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
> include "database.php";
> $bla = "SELECT * FROM categorie ORDER BY categorie ASC";
> $sql = mysql_query($bla);
> while($record = mysql_fetch_object($sql))
> {
> echo '<option value="'.$record->categorie .'">'.$record->categorie .'</option>';
> }
> ?>
> include "database.php";
> $bla = "SELECT * FROM categorie ORDER BY categorie ASC";
> $sql = mysql_query($bla);
> while($record = mysql_fetch_object($sql))
> {
> echo '<option value="'.$record->categorie .'">'.$record->categorie .'</option>';
> }
> ?>
> </select>
>
> Sowieso is het de bedoeling om weer een form worden, want bij de categorie komen meerdere opties. Nu vul je alleen de categorie naam in. Maar als je die id dan wilt wijzigen, moet ik ook sub categorie enz van dat id kunnen wijzigen.
>
> Met jouw opzet weet ik het nu even niet namelijk. Ik kan natuurlijk niet bij:
>
> echo 'Welke categorie wil je wijzigen?';
> echo '<table>
> <tr>
> ';
> while($row = mysql_fetch_assoc($result))
> {
> echo '<td><a href="index.php?pagina=categorie/test&id='.$row['id'].'">'.$row['categorie'].'</a></td>';
> }
>
> echo ' </tr>
> </table>
> ';
>
> een formulier toevoegen. Of wel?
>
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
<?
echo 'Welke categorie wilt u wijzigen?';
echo '<table>
<tr>
<form action="index.php?pagina=categorie/test&id='.$row['id'].'" method="post"> <select name="menu1" onchange="MM_jumpMenu(\'parent\',this,0)">
';
while($row = mysql_fetch_assoc($result))
{
echo '<option value="index.php?pagina=categorie/test&id='.$row['id'].'">'.$row['categorie'].'</option>';
}
echo ' <input type="submit" name="submit" value="Wijzigen" />
</select>
</form>
</tr>
</table>
';
?>
echo 'Welke categorie wilt u wijzigen?';
echo '<table>
<tr>
<form action="index.php?pagina=categorie/test&id='.$row['id'].'" method="post"> <select name="menu1" onchange="MM_jumpMenu(\'parent\',this,0)">
';
while($row = mysql_fetch_assoc($result))
{
echo '<option value="index.php?pagina=categorie/test&id='.$row['id'].'">'.$row['categorie'].'</option>';
}
echo ' <input type="submit" name="submit" value="Wijzigen" />
</select>
</form>
</tr>
</table>
';
?>
Dit stukje script heb ik nu gemaakt, maar nu krijg ik de foutmelding bij mijn form action dat hij de var $row niet kent. Dit klopt natuurlijk, want die staat daaronder. Hoe kan ik dit oplossen? Als ik mijn form action namelijk onder
" while($row = mysql_fetch_assoc($result)) " zet... krijg ik ook 30x een dropdown.
En welke $row['id'] zou je daar dan willen neerzetten? de 1e, 2e, 5e? Volgens mij moet daar helemaal geen $row['id'] staan. Als het formulier is gepost dan haal je het id toch uit de geposte menu1 waarde.
Hij moet dan toch het ID gaan wijzigen waar ik in de dropdown op klik?
Ja dus dat haal je dan toch ook uit de value van de dropdown.