gegevens aanpassen in DB
Hallo, ik heb een db waar ik een datum en het event in toevoeg. Is er ook een manier om deze terug op te roepen en aan te passen als bijvoorbeeld de datum verandert, of als er iets zou moeten toevegoegd worden aan de event?
http://www.phphulp.nl/php/tutorials/3/2/3/
Wil je iets aan het bestaande toevoegen, dan doe je dat zo:
Om de waardes door de gebruiker te laten wijzigen, moet je het dus eerst uitlezen d.m.v. SELECT en zet je de waardes in een formulier. Vervolgens POST je het formulier en gebruik je UPDATE om het terug te schrijven.
Omdat je er (denk ik) vrij nieuw mee bent is het even uitzoeken, maar je komt er vast achter! Bekijk de bovenstaande link even, daar staat enkele info die handig voor je is.
Opgelet bij de query van Bas: Je wijzigd daar meteen alle rijen. Zet er nog een WHERE achter om slechts één veld te wijzigen
SQL commando's in hoofdletters, bijv.: UPDATE
Kolom namen in kleine letters, bijv.: SELECT id
Dit geldt hetzelfde voor variabelen dus ipv $Naam, $naam. Waarom zou je het met een hoofdletter doen? Dat kan alleen maar verwarring brengen: "Was het nou met een hoofdletter of niet?". Dat heb je niet als je het standaard alles met kleine letters doet. Staat ook een stuk mooier vind ik zelf :). Maar dat is persoonlijk denk ik..
Maar zoals je zei: het is persoonlijk :)
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
// Config : [ You must set these options ]
$sql_host = "localhost" ; // MySQL host
$sql_user = "root" ; // MySQL username
$sql_pass = "" ; // MySQL password
$sql_db = "jvanattenhoven" ; // Database name
// End of config //
<?php
// Voer de SELECT-query uit:
$result = mysql_query('SELECT * FROM events');
// Loop langs alle resultaten en print ze naar het scherm
// Dit in een form
echo '<form method="post" action="action.php">'
while($row = mysql_fetch_array($result))
{
echo '<input type="text" name="datum" value="$row['datum']" />'
echo '<input type="text" name="event" value="$row['event']" />'
echo '<input type="submit" value="Pas aan" />'
}
echo '</form>
?>
$sql_host = "localhost" ; // MySQL host
$sql_user = "root" ; // MySQL username
$sql_pass = "" ; // MySQL password
$sql_db = "jvanattenhoven" ; // Database name
// End of config //
<?php
// Voer de SELECT-query uit:
$result = mysql_query('SELECT * FROM events');
// Loop langs alle resultaten en print ze naar het scherm
// Dit in een form
echo '<form method="post" action="action.php">'
while($row = mysql_fetch_array($result))
{
echo '<input type="text" name="datum" value="$row['datum']" />'
echo '<input type="text" name="event" value="$row['event']" />'
echo '<input type="submit" value="Pas aan" />'
}
echo '</form>
?>
Krijg ik volgende error message:
Parse error: parse error, expecting `','' or `';'' in c:\program files\easyphp1-8\www\test\agenda-aanpassen.php on line 18
mijn tabel (events) bestaat uit:
* id : int, auto_increment
* datum : datetime
* event : varchar
Code (php)
1
2
3
4
2
3
4
<?php
echo '<form method="post" action="action.php">' // regel 17
// regel 18, daar loopt de boel de mist in
?>
echo '<form method="post" action="action.php">' // regel 17
// regel 18, daar loopt de boel de mist in
?>
Op regel 17 ontbreekt een ;
En dan ook een ; op regel 18?
Gewijzigd op 01/01/1970 01:00:00 door niek s
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
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
<?
// Config : [ You must set these options ]
$sql_host = "localhost" ; // MySQL host
$sql_user = "root" ; // MySQL username
$sql_pass = "" ; // MySQL password
$sql_db = "jvanattenhoven" ; // Database name
// End of config //
?>
<?php
// Voer de SELECT-query uit:
$result = mysql_query('SELECT * FROM events');
// Loop langs alle resultaten en print ze naar het scherm
// Dit in een form
echo '<form method="post" action="action.php">';
while($row = mysql_fetch_array($result))
{
echo '<input type="text" name="datum" value="$row['datum']" />';
echo '<input type="text" name="event" value="$row['event']" />';
echo '<input type="submit" value="Pas aan" />';
}
echo '</form>';
?>
// Config : [ You must set these options ]
$sql_host = "localhost" ; // MySQL host
$sql_user = "root" ; // MySQL username
$sql_pass = "" ; // MySQL password
$sql_db = "jvanattenhoven" ; // Database name
// End of config //
?>
<?php
// Voer de SELECT-query uit:
$result = mysql_query('SELECT * FROM events');
// Loop langs alle resultaten en print ze naar het scherm
// Dit in een form
echo '<form method="post" action="action.php">';
while($row = mysql_fetch_array($result))
{
echo '<input type="text" name="datum" value="$row['datum']" />';
echo '<input type="text" name="event" value="$row['event']" />';
echo '<input type="submit" value="Pas aan" />';
}
echo '</form>';
?>
zo moet het
Edit:
typo
typo
Gewijzigd op 01/01/1970 01:00:00 door niek s
Parse error: parse error, expecting `','' or `';'' in c:\program files\easyphp1-8\www\test\agenda-aanpassen.php on line 21
Edit:
Het leren lezen een foutmelding zal je veel vragen besparen denk ik. Het gaat fout op regel 21: php verwacht daar een , of een ;. Dan ga je vanaf regel 21 dus omhoog kijken waar je zo'n teken vergeten bent...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Maar daar staat er toch één?
Code (php)
Het gaat mis doordat je quotes om de key van je array nodig hebt. Maar goed, variabelen horen niet tussen quotes te staan en dus heb je nooit problemen met de quotes van een key. Zie mijn voorbeeld, rest mag je zelf doen.
Dit is het uiteindelijk geworden.
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
// Config : [ You must set these options ]
mysql_connect('localhost','root','');
mysql_select_db('jvanattenhoven') or die (mysql_error());
// End of config //
// Voer de SELECT-query uit:
$result = mysql_query('SELECT * FROM events');
// Loop langs alle resultaten en print ze naar het scherm
// Dit in een form
echo '<form method="post" action="action.php">';
while($row = mysql_fetch_array($result))
{
echo '<input type="text" name="datum" value="'.$row['datum'].'" />';
echo '<input type="text" name="event" value="'.$row['event'].'" />';
echo '<input type="submit" value="Pas aan" />';
}
echo '</form>';
?>
// Config : [ You must set these options ]
mysql_connect('localhost','root','');
mysql_select_db('jvanattenhoven') or die (mysql_error());
// End of config //
// Voer de SELECT-query uit:
$result = mysql_query('SELECT * FROM events');
// Loop langs alle resultaten en print ze naar het scherm
// Dit in een form
echo '<form method="post" action="action.php">';
while($row = mysql_fetch_array($result))
{
echo '<input type="text" name="datum" value="'.$row['datum'].'" />';
echo '<input type="text" name="event" value="'.$row['event'].'" />';
echo '<input type="submit" value="Pas aan" />';
}
echo '</form>';
?>
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
// Config : [ You must set these options ]
mysql_connect('localhost','root','');
mysql_select_db('jvanattenhoven') or die (mysql_error());
// End of config //
// Voer de SELECT-query uit:
$result = mysql_query('SELECT * FROM events');
// Loop langs alle resultaten en print ze naar het scherm
// Dit in een form
echo '<form method="post" action="<?=$_SERVER['PHP_SELF']?> ">';
while($row = mysql_fetch_array($result))
{
echo '<input type="text" name="datum" value="'.$row['datum'].'" />';
echo '<input type="text" name="event" value="'.$row['event'].'" />';
echo '<input type="submit" value="Pas aan" /><br />';
}
echo '</form>';
?>
// Config : [ You must set these options ]
mysql_connect('localhost','root','');
mysql_select_db('jvanattenhoven') or die (mysql_error());
// End of config //
// Voer de SELECT-query uit:
$result = mysql_query('SELECT * FROM events');
// Loop langs alle resultaten en print ze naar het scherm
// Dit in een form
echo '<form method="post" action="<?=$_SERVER['PHP_SELF']?> ">';
while($row = mysql_fetch_array($result))
{
echo '<input type="text" name="datum" value="'.$row['datum'].'" />';
echo '<input type="text" name="event" value="'.$row['event'].'" />';
echo '<input type="submit" value="Pas aan" /><br />';
}
echo '</form>';
?>
Parse error: parse error, expecting `','' or `';'' in c:\program files\easyphp1-8\www\test\agenda-aanpassen.php on line 15
Dit zal wel werken...
Zelf gebruik ik Zend Studio (vanaf $ 99,-) en Eclipse (met PHP-plugin) (gratis).
Dat was het inderdaad. Nu moet ik zien dat het werkelijk aangepast wordt. Dit was update, geloof ik?