SQL gegevens updaten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

H. Fokker

H. Fokker

24/09/2006 13:54:00
Quote Anchor link
Hallo forumleden,

Kan iemand mij uitleggen waarom dit stukje script niet doet wat ik verwacht, nl. een stukje tekst ($cont) updaten naar mijn SQL databse user? Maak ik een denkfout in de volgorde misschien?

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
<?php
if($action=="leerling1t") {

    echo "<form action=\"?action=eleerling1t\" method=\"post\">";
    
    $sql = "SELECT * FROM users WHERE rang = $rang ORDER BY groep,voornaam LIMIT 0,1"; // haalt persoon uit database
    $res = mysql_query($sql) or die(mysql_error());
    $show = mysql_fetch_array($res);
    
    echo ucwords($show['voornaam']);
    echo "<textarea name=\"cont\" cols=\"100\" rows=\"24\">";
    echo $show['portfolio'];
    echo "</textarea><br>
    <input type=\"submit\" name=\"Submit\" value=\"Alles opslaan\"></center></form>"
;
}


if($action=="eleerling1t") {

    $update = "UPDATE users SET portfolio = '".$_POST['cont']."' WHERE id='".$_GET['id']."' "; mysql_query($update) or die(mysql_error());
}

?>
Gewijzigd op 01/01/1970 01:00:00 door H. Fokker
 
PHP hulp

PHP hulp

18/11/2024 08:48:37
 
H. Fokker

H. Fokker

24/09/2006 17:46:00
Quote Anchor link
Hallo mensen,
Ik kreeg nog geen reactie, mag het nog een keer onder jullie aandacht? Ergens doe ik iets fot in dit stukje script maar waar? Er wordt op een of andere manier geen update uitgevoerd met de inhoud van de textarea naar mijn database ...
 
Stefan van Iwaarden

Stefan van Iwaarden

24/09/2006 17:49:00
Quote Anchor link
bumpen mag pas na 24 uur officieel.

Maare, voordat ik naar jou code ga kijken moet je hem toch eerst eens wat gestructueerder (duidelijker) maken, want dit is gewoon een blok opeengepropte code waar je voor geleerd moet hebben om te ontcijferen zowat.

oftewel, gebruik wat meer je entertoets, en spring eens in.
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
 
H. Fokker

H. Fokker

24/09/2006 18:09:00
Quote Anchor link
Je hebt helemaal gelijk! Ik heb alle overbodige woorden eruit gehaald en dit blijft over.
 
Stefan van Iwaarden

Stefan van Iwaarden

24/09/2006 18:15:00
Quote Anchor link
dit is al iets beter:
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
27
28
29
30
31
32
<?php
if($action=="leerling1t") {

    echo "<form action=\"?action=eleerling1t\" method=\"post\">";
    
    $sql = "SELECT *
            FROM users
            WHERE
            rang = '"
.$rang."'
            ORDER BY
            groep,voornaam
            LIMIT 0,1"
; // haalt persoon uit database
    $res = mysql_query($sql) or die(mysql_error());
    $show = mysql_fetch_array($res);
    
    echo ucwords($show['voornaam']);
    echo "<textarea name=\"cont\" cols=\"100\" rows=\"24\">";
    echo $show['portfolio'];
    echo "</textarea><br>
    <input type=\"submit\" name=\"Submit\" value=\"Alles opslaan\"></center></form>"
;
}


if($action=="eleerling1t") {

    $update = "UPDATE
            users
            SET
            portfolio = '"
.$_POST['cont']."'
            WHERE id="
.$_GET['id'];
    mysql_query($update) or die(mysql_error());
}

?>


maar ik kan zogauw niets fouts ontdekken in je update query. ik denk dat je moet gaan kijken naar het deel dat ervoor zorgt dat $cont zijn waarde toekent.
 
H. Fokker

H. Fokker

24/09/2006 18:27:00
Quote Anchor link
Bedankt! Het werkt nog niet maar ik ga er zeker eens goed naar kijken. Je zet me weer hiermee weer op een spoor.
 
H. Fokker

H. Fokker

25/09/2006 23:06:00
Quote Anchor link
Beste mensen,

Ik zit inmiddels op dit stukje script, maar een update van gegevens gebeurt nog steeds niet. Wat kan er nou aan de hand zijn? Het script lijkt kloppend, geeft geen error maar er wordt niets naar SQL gezet.

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
27
28
29
30
31
32
33
34
35
36
37
38
<?
if($action=="leerling") {

    if ($_GET['bevestig'] == 'ja') {
        
            $cont = $_POST['cont'];
            
            $update = " UPDATE users
                        SET portfolio = $cont
                        WHERE id='"
.$_GET['id']."'
                      "
;
                        
            mysql_query($update) or die(mysql_error());
                            
}

else {
    
    $sql = " SELECT *
             FROM users
             WHERE rang = $rang
             ORDER BY groep,voornaam
             LIMIT 0,1
           "
;
            
    $resultaat = mysql_query($sql) or die(mysql_error());
    $show = mysql_fetch_array($resultaat);

    echo "<form action=\"?leerlingadmin.php&amp;action=leerling&amp;bevestig=ja\" method=\"post\">
    <input type=\"hidden\" name=\"id\" value=\""
.$_GET['id']."\">
    <center>Maak de tekst aan van <b>"
;
    echo ucwords($show['voornaam']);
    echo "</b></center><br><center><textarea name=\"cont\" cols=\"100\" rows=\"24\">";
    echo $show['portfolio'];
    echo "</textarea></center><br>
    <center><input type=\"submit\" name=\"Submit\" value=\"Alles opslaan\"></center></form>"
;
    }
}

?>
Gewijzigd op 01/01/1970 01:00:00 door H. Fokker
 
Jan Koehoorn

Jan Koehoorn

25/09/2006 23:09:00
Quote Anchor link
Je stelt deze voorwaarde op regel 2:
if($action=="leerling") {

maar op regel 28 staat:
action=leerling1t

aangezien de update in je eerste if zit, wordt hij niet uitgevoerd.
 
H. Fokker

H. Fokker

25/09/2006 23:19:00
Quote Anchor link
Hallo Jan,

Dank je wel voor reageren. Ik heb bij het overzetten naar phphulp deze fout gemaakt omdat ik overbodige code weg wilde halen. Maar los daarvan werkt het ook niet als beiden gelijk zijn.
 
Joren de Wit

Joren de Wit

25/09/2006 23:21:00
Quote Anchor link
Het is wel een $_GET variabele, dus zo zal ie ook opgehaald moeten worden

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    if(isset($_GET['action']) && $_GET['action'] == 'leerling1t')
?>
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
H. Fokker

H. Fokker

25/09/2006 23:35:00
Quote Anchor link
Sorry, helaas .. er wordt nog steeds niets geupdate.
Kan het ook aan de SQL kant liggen? De kolom portfolio is type text.

Het script is nu:

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?
if (isset($_GET['action']) && $_GET['action'] == 'leerling1t') {

    if ($_GET['bevestig'] == 'ja') {
        
            $cont = $_POST['cont'];
            
            $update = " UPDATE users
                        SET portfolio = '$cont'
                        WHERE id='"
.$_GET['id']."'
                      "
;
                        
            mysql_query($update) or die(mysql_error());
                            
    echo "<table width=\"99%\" border=\"1\" cellpadding=\"4\" cellspacing=\"0\" bgcolor=\"#FFCC00\" bordercolor=\"#7F9DB9\">
    <tr><td><font face=\"Verdana\" size=\"2\" style=\"color:#D3180B\"><center>De tekst wordt gewijzigd, een ogenblikje ...</center></font></td></tr></table>
    <br><br><META HTTP-EQUIV=\"REFRESH\" CONTENT=\"1; URL=leerlingadmin.php\">"
;
}

else {
    
    $sql = " SELECT *
             FROM users
             WHERE rang = $rang
             ORDER BY groep,voornaam
             LIMIT 0,1
           "
;
            
    $resultaat = mysql_query($sql) or die(mysql_error());
    $show = mysql_fetch_array($resultaat);

    echo "<form action=\"?leerlingadmin.php&amp;action=leerling1t&amp;bevestig=ja\" method=\"post\">
    <input type=\"hidden\" name=\"id\" value=\""
.$_GET['id']."\">
    <table width=\"99%\" border=\"1\" cellpadding=\"4\" cellspacing=\"0\" bgcolor=\"#FFCC00\" bordercolor=\"#7F9DB9\">
    <tr><td><font face=\"Verdana\" size=\"2\" style=\"color:#D3180B\"><center><center>Maak de tekst aan van <b>"
;
    echo ucwords($show['voornaam']);
    echo "</b></center></font></td></tr></table><br><center><textarea name=\"cont\" cols=\"100\" rows=\"24\">";
    echo $show['portfolio'];
    echo "</textarea></center><br>
    <center><input type=\"submit\" name=\"Submit\" value=\"Alles opslaan\"></center></form>"
;
    }
}

?>
 
- SanThe -

- SanThe -

26/09/2006 09:12:00
Quote Anchor link
Je moet
error_reporting(E_ALL);
eens bovenin je script zetten.

En waar komt $_GET['id'] vandaan?
 



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.