[php/SQL] Update syntax

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Snap er de balle van, volgende probleem:

PHP:
1
$result2 = mysql_query("UPDATE telefoonnotitie SET done='$done' WHERE id='$id' ");


Hij moet dus de kolom done veranderen waar id (in dit geval) 1 is.
Als ik doe echo $id; dan krijg ik gewoon 1 te zien.
Maar waarom werkt bovenstaande dan niet, lijkt wel of ie dit stukje niet pakt: id='$id'
Als ik namelijk id='1' doe dan werkt het wel gewoon.

Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 09-09 22:26

André

Analytics dude

WHERE id=$id

zonder quotes ?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
nope... zelfde probleem

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nouja, hier maar even hele code, misschien dat dat iets duidelijker is:

De bovenste echo $id; geeft ook gewoon 1 weer.
Ik zit dan ook op de pagina teldetail.php?id=1


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
<?
echo $id;
require("../php/admin/config.php");



if ($schakelaar == 'gezet')
            {
            $datum = date("Y-m-d");
            $result2 = mysql_query("UPDATE telefoonnotitie SET done='$done' WHERE id=$id ");
            echo "<meta http-equiv=refresh content=\"0.5 ;url=tel.php\">";
            }
            else
            {

?>

        <table border=0>
        <tr>
            <td width='100%' bgcolor='#C0C0C0'>
            <b>Terugbel Notitie:</b>
            </td>
        </tr>

        <tr>
        <td>

            </td>
        </tr>
</table>

<?

$result = mysql_query("SELECT * FROM telefoonnotitie WHERE id='".$id."' ");

echo "<table border='0' cellpadding='0' cellspacing='0' style='border-collapse: collapse' width='100%'>";
echo  "<tr>";
echo    "<td width='10%'>Naam:</td>";
echo    "<td width='90%'>".mysql_result($result,$x,"naam")."</td>";
echo  "</tr>";
echo  "<tr>";
echo    "<td width='10%'>Gebruikersnaam:</td>";
echo    "<td width='90%'>".mysql_result($result,$x,"username")."</td>";
echo  "</tr>";
echo  "<tr>";
echo    "<td width='10%'>Telefoonnummer:</td>";
echo    "<td width='90%'>".mysql_result($result,$x,"telefoon")."</td>";
echo  "</tr>";
echo  "<tr>";
echo    "<td width='10%'>&nbsp;</td>";
echo    "<td width='90%'>&nbsp;</td>";
echo  "</tr>";

echo  "<tr>";
echo    "<td width='10%'>Probleem:</td>";
echo    "<td width='90%'>".mysql_result($result,$x,"probleem")."</td>";
echo  "</tr>";

echo "</table>";

}

?>

<table cellspacing="2" cellpadding="2" border="0">
            <form method="post" action="<? echo $PHP_SELF; ?>">
        <br>    
        
        <tr>
            <td>Opmerkingen: </td>
            <td><TEXTAREA name="opmerkingen" rows="5" cols="50" maxlenght='500'></TEXTAREA> </td>
        </tr>
        
            
        <tr>
            <td>Done: </td>
            <td><input type='text' name="done"></td>
        </tr>
        
        <tr>
            <td>Later terugbellen: </td>
            <td><input type='checkbox' name="terugbellen"></td>
        </tr>
        
        <tr>
            <td>
                <input type="hidden" name="schakelaar" value="gezet">
                <input type="submit" value="Toevoegen"></form></td>
        </tr>
    </table>    
    

[ Voor 36% gewijzigd door Verwijderd op 07-02-2003 01:32 ]


Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 09-09 22:26

André

Analytics dude

PHP:
1
2
3
<?php
$result2 = mysql_query("UPDATE [telefoonnotitie] SET [done] = '$done' WHERE [id] = $id");
?>

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
nope, zelfde probleem

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
nouja ik gaat pitten... als iemand een oplossing weet dan hoor ik dat graag... alvast bedankt.

Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 09-09 22:26

André

Analytics dude

eerst doe je
PHP:
1
id='".$id."'

en dan
PHP:
1
id=$id

[ Voor 18% gewijzigd door André op 07-02-2003 01:36 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Weet je dus of deze het wel doet:
PHP:
1
$result = mysql_query("SELECT * FROM telefoonnotitie WHERE id='".$id."' ");

Acties:
  • 0 Henk 'm!

Verwijderd

PHP:
1
$result2 = mysql_query("UPDATE telefoonnotitie SET done='$done' WHERE id=".$id); or die(mysql_error());

Welkom in P&W (FAQ-28/11/2002)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
yogho: Was gewoon even om te proberen, dat is het vreemde... die 2de (result) werkt wel, maar als ik dat op zelfde manier doe dan werkt het opeens niet meer..


cowmike: werkt ook niet.

Acties:
  • 0 Henk 'm!

  • PrinsEdje80
  • Registratie: Oktober 2001
  • Laatst online: 15-07 09:34

PrinsEdje80

Holographic, not grated...

Probeer concatenation:
PHP:
1
$result2 = mysql_query("UPDATE telefoonnotitie SET done='".$done."' WHERE id='".$id."'") or die(mysql_error());

(Is het misschien een reserved word in MySQL?)
Waar komt id vandaan? Je doet op regel 1 van je code echo $id... Is het misschien een $_POST/$_GET variabele? Dan moet je naar je instellingen mbt Globals kijken.

[ Voor 8% gewijzigd door PrinsEdje80 op 07-02-2003 08:32 . Reden: foutje in sql-query ]

Used to be Down Under... Foto gallery


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
die code op regel 1 met echo $id; is alleen om te kijken of id ook echt wel een waarde heeft. En dat heeft ie want krijg namelijk gewoon 1 te zien.

Wat ie doet is van de pagina tel.php alle records weergeven waar done = 0. Die records die er staan zijn linkjes... ofwel linkjes naar teldetail.php?id=1

Wat ie dus moet doen is done veranderen naar bijvoorbeeld 1 zodat ze niet meer op de pagina tel.php verschijnen.

Het vreemde is dat als ik dit zou doen dat het dan wel gewoon werkt:
$result2 = mysql_query("UPDATE telefoonnotitie SET done='$done' WHERE id='1' ");

Dan word in de database gewoon verandert done=1 en krijg ik dus die record niet meer te zien op tel.php

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hier maar de link, staat toch niets bezonders tussen:
http://www.le-romarin.nl/yourhosting/tel.php

Acties:
  • 0 Henk 'm!

  • Darkvater
  • Registratie: Januari 2001
  • Laatst online: 26-08-2024

Darkvater

oh really?

Volgens mij is het:
PHP:
1
2
3
<?
$result2 = mysql_query("UPDATE `telefoonnotitie` SET `done`='$done' WHERE `id`='$id' ") or die(mysql_error());
?>


Windows Vista? *NEVER* Het waarom - Opera forever!!!
I've seen chickens that were more menacing. Chickens in a coma. On ice. In my fridge


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
maakt niet uit.. zelfde probleem... done blijft gewoon 0 i.p.v. 1

Acties:
  • 0 Henk 'm!

  • klokop
  • Registratie: Juli 2001
  • Laatst online: 06-07 11:48

klokop

swiekie swoeng

Ik doe altijd:
PHP:
1
2
$updateQuery = "UPDATE telefoonnotitie SET done='$done' WHERE id='$id' ";
$result2 = mysql_query($updateQuery);

en als er iets niet klopt kun je snel ff 'echo' voor de query zetten:
PHP:
1
2
echo $updateQuery = "UPDATE telefoonnotitie SET done='$done' WHERE id='$id' ";
$result2 = mysql_query($updateQuery);

zo kun je snel zien of in elk geval je query klopt!
en verder doe ik altijd dit, vindt ik overzichterlijker:
PHP:
1
2
$updateQuery = "UPDATE telefoonnotitie SET done='". $done ."' WHERE id='". $id ."' ";
$result2 = mysql_query($updateQuery);

"Passing silhouettes of strange illuminated mannequins"


Acties:
  • 0 Henk 'm!

  • klokop
  • Registratie: Juli 2001
  • Laatst online: 06-07 11:48

klokop

swiekie swoeng

en, trouwens, ipv
PHP:
1
echo "<meta http-equiv=refresh content=\"0.5 ;url=tel.php\">";
doe IK altijd:
PHP:
1
Header ("location: tel.php");
...met als eis dat er voor de Header() he-le-maal niks op het scherm geprint mag worden.

"Passing silhouettes of strange illuminated mannequins"


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ok thx..

en met echo ervoor krijg ik: UPDATE telefoonnotitie SET done='1' WHERE id=''
Ofwel id mist dus... maar dat snap ik dan nog niet...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ok.. thx ff proberen..

En hij werkt.. probleem was <form method="post" action="<? echo $PHP_SELF; ?>">

moest zijn: <form method="post" action="<? echo "teldetail.php?id=$id" ; ?>">

txh
Pagina: 1