gegevens aanpassen in DB

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Jvuz

jvuz

25/07/2006 11:05:00
Quote Anchor link
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?
 
PHP hulp

PHP hulp

17/11/2024 17:44:51
 
B a s
Beheerder

B a s

25/07/2006 11:09:00
Quote Anchor link
Dat kan. Kijk hier eens naar:

http://www.phphulp.nl/php/tutorials/3/2/3/

Wil je iets aan het bestaande toevoegen, dan doe je dat zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
UPDATE tabel_naam SET kolom = CONCAT(kolom, ' iets erbij');


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.
 

25/07/2006 11:15:00
Quote Anchor link
Opgelet bij de query van Bas: Je wijzigd daar meteen alle rijen. Zet er nog een WHERE achter om slechts één veld te wijzigen
 
Lissy Pixel

Lissy Pixel

25/07/2006 11:36:00
Quote Anchor link
Dus bijvoorbeeld zoiets:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$SQL
= "Update tabel";
$SQL .="Set Naam = '".$Naam."', Email = '".$Email."', Bericht = '".$Bericht."',Url = '".$Url."'";
$SQL .="Where ID = ".$iID." ";
?>
 
B a s
Beheerder

B a s

25/07/2006 11:53:00
Quote Anchor link
En wat ik altijd als 'regel' hou, om het overzichtelijk te maken..

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..
 
Ponzi

Ponzi

25/07/2006 11:55:00
Quote Anchor link
Ik doe het juist hetzelfde als jouw Bas, op de variabelen na :) . Ik doe ze altijd met hoofdletter en als ze uit 2 'woorden' bestaan doe ik beide 'woorden' met hoofdletter. BV: $PhotoName ;) Verhoogd de leesbaarheid...

Maar zoals je zei: het is persoonlijk :)
 
Jvuz

jvuz

25/07/2006 13:39:00
Quote Anchor link
Bij volgende code

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
// 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>
?>



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
 
Frank -

Frank -

25/07/2006 14:02:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
echo '<form method="post" action="action.php">' // regel 17
// regel 18, daar loopt de boel de mist in

?>

Op regel 17 ontbreekt een ;
 
Jvuz

jvuz

25/07/2006 14:12:00
Quote Anchor link
En dan ook een ; op regel 18?
 
Niek s

niek s

25/07/2006 14:17:00
Quote Anchor link
en je makt een config file, maar die staat niet tussen de
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? en ?>
dus zal het niet werken... het zal niet worden gedefineerd ;-)
 
Niek s

niek s

25/07/2006 14:18:00
Quote Anchor link
--dubelpost?--
Gewijzigd op 01/01/1970 01:00:00 door niek s
 
Niek s

niek s

25/07/2006 14:19:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?
// 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
Gewijzigd op 01/01/1970 01:00:00 door niek s
 
Jvuz

jvuz

25/07/2006 14:33:00
Quote Anchor link
Bedankt, maar ik krijg nog steeds:
Parse error: parse error, expecting `','' or `';'' in c:\program files\easyphp1-8\www\test\agenda-aanpassen.php on line 21
 
Joren de Wit

Joren de Wit

25/07/2006 14:36:00
Quote Anchor link
Dat komt omdat je op regel 18 ook een ; vergeten bent...

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
 
Jvuz

jvuz

25/07/2006 14:38:00
Quote Anchor link
Maar daar staat er toch één?
 
Frank -

Frank -

25/07/2006 14:44:00
Quote Anchor link
Haal de variabelen buiten quotes:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
// fout
echo '<input type="text" name="datum" value="$row['datum']" />';
// goed
echo '<input type="text" name="datum" value="'.$row['datum'].'" />';
?>

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.
 
Jvuz

jvuz

25/07/2006 14:45:00
Quote Anchor link
Bedankt!

Dit is het uiteindelijk geworden.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>';
?>
 
Jvuz

jvuz

25/07/2006 14:53:00
Quote Anchor link
Sorry, ben er toch nog nie helemaal. :(

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>';
?>


Parse error: parse error, expecting `','' or `';'' in c:\program files\easyphp1-8\www\test\agenda-aanpassen.php on line 15
 
Joren de Wit

Joren de Wit

25/07/2006 14:58:00
Quote Anchor link
Zelfde verhaal als Frank al eerder zei:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<form method="post" action="' . $_SERVER['PHP_SELF'] . '">';
?>


Dit zal wel werken...
 
Frank -

Frank -

25/07/2006 15:01:00
Quote Anchor link
Tip: Installeer eens een goede editor, dan krijg je tijdens het tikwerk al de nodige foutmeldingen om de oren geslingerd.

Zelf gebruik ik Zend Studio (vanaf $ 99,-) en Eclipse (met PHP-plugin) (gratis).
 
Jvuz

jvuz

25/07/2006 15:04:00
Quote Anchor link
Dat was het inderdaad. Nu moet ik zien dat het werkelijk aangepast wordt. Dit was update, geloof ik?
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.