21. august 2010 - 11:30
Der er
29 kommentarer og 1 løsning
hjælp til at rette/update data i database(MySQL) fra PHP
Jeg har et problem jeg kan ikke få min update kode til at virke. kan i hjælpe mig. få enten en tom side ellers vil siden ikke vise. kan i hjælp mig i hvad jeg laver forkert. _________________________________________________________________ <html> <head> <title></title> <style> body{scrollbar-base-color:#55AAD0; scrollbar-arrow-color:#FFFFFF;} a{text-decoration:none; font-weight:bold;} a:hover{color:#000000;} td{font-family:verdana; font-size:10;} #td{background-color:CCCCCC;} #td2{background-color:CCCCCC;} input{background-color:#CCCCCC; border-width:1; border-style:solid; border-color:#000000; color:#000000; font-size:10; font-family:verdana;} </style> </head> <? session_start(); include("config.php"); ?> <! ------ side faver opsæting ----------------------> <body link=blue vlink=purple> <center><center><img src="img/logov1.jpg" border="0" width="964" height="150" align="bottom" alt=""><br> <h1>Algreen Multiservice I/S Ordersystem</h1></center><p align="left"> <? $result = mysql_query("SELECT * FROM Algreenorder WHERE id='$_GET[id]'"); while($row = mysql_fetch_array($result)) { ?> <h2>Opret ny hesteorder</h2> <table cellspacing="0" cellpadding="0" height="800"> <tr> <td valign="top"><form method="post" action="" onsubmit="return v(this)"> <input type="hidden" name="subject" value=""> <table> <tr> <td> Afhenting dato og adresse </td> <td></td> <td>Aflastings dato og adresse</td> <td></td> </tr> <tr> <tr> <td> Dato:</font> </td> <td><input id="in" type="text" name="Afhenting_dato" value="<? echo $row[Afhenting_dato]; ?>" size="48"></td> <td><font color="#FF0000">*</font>Dato:</td> <td><input id="in" type="text" name="Aflaesting_dato" value="<? echo $row[Aflaesting_dato]; ?>" size="48"></td> </tr> <tr> <td> Skal være ved kunden kl.</font> </td> <td><input id="in" type="text" name="Afhenting_svvkk" value="<? echo $row[Afhenting_svvkk]; ?>" size="48"></td> <td><font color="#FF0000">*</font>Skal være ved kunden kl.</td> <td><input id="in" type="text" name="ss_svvkk" value="<? echo $row[ss_svvkk]; ?>" size="48"></td> </tr> <tr> <td> Adresse:</font> </td> <td><input id="in" type="text" name="Afhenting_adresse" value="<? echo $row[Afhenting_adresse]; ?>" size="48"></td> <td>Adresse:</td> <td><input id="in" type="text" name="Aflaesting_adresse" value="<? echo $row[Aflaesting_adresse]; ?>" size="48"></td> </tr> <tr> <td> Post nr + by:</font> </td> <td><input id="in" type="text" name="Afhenting_post" value="<? echo $row[Afhenting_post]; ?>" size="48"></td> <td>Post nr + by:</td> <td><input id="in" type="text" name="Aflaesting_post" value="<? echo $row[Aflaesting_post]; ?>" size="48"></td> </tr> <tr> <td> Evt. stednavn:</font> </td> <td><input id="in" type="text" name="Afhenting_stednavn" value="<? echo $row[Afhenting_stednavn]; ?>" size="48"></td> <td>Evt. stednavn:</td> <td><input id="in" type="text" name="Aflaesting_stednavn" value="<? echo $row[Aflaesting_stednavn]; ?>" size="48"></td> </tr> <tr> <td><br></td> <td></td> <td></td> <td></td> </tr> <tr> <td> Kunde infomationer</font> </td> <td></td> <td><font color="#FF0000">***</font>kontagt infomationer</td> <td></td> </tr> <tr> <td> Navn:</font> </td> <td><input id="in" type="text" name="Aflaesting_kontagt" value="<? echo $row[Aflaesting_kontagt]; ?>" size="48"></td> <td>Navn:</td> <td><input id="in" type="text" name="Afhenting_kontagtperson" value="<? echo $row[Afhenting_kontagtperson]; ?>" size="48"></td> </tr> <tr> <td> Telefon:</font> </td> <td><input id="in" type="text" name="Aflaesting_tele" value="<? echo $row[Aflaesting_tele]; ?>" size="48"></td> <td>Telefon:</td> <td><input id="in" type="text" name="Afhenting_tele" value="<? echo $row[Afhenting_tele]; ?>" size="48"></td> </tr> <tr> <td> mobil:</font> </td> <td><input id="in" type="text" name="Aflaesting_mobil" value="<? echo $row[Aflaesting_mobil]; ?>" size="48"></td> <td>mobil:</td> <td><input id="in" type="text" name="Afhenting_mobil" value="<? echo $row[Afhenting_mobil]; ?>" size="48"></td> </tr> <tr> <td><br></td> <td></td> <td></td> <td></td> </tr> <tr> <td> Ekster infomationer</font> </td> <td></td> <td></td> <td></td> </tr> <tr> <td> Hestes/hestenes navn:</font> </td> <td><input id="in" type="text" name="Afhenting_hestnavn" value="<? echo $row[Afhenting_hestnavn]; ?>" size="48"></td> <td>Passerager:</td> <td><input id="in" type="text" name="pas" value="<? echo $row[pas]; ?>" size="48"></td> </tr> <tr> <td><font color="#FF0000">**</font>Aftalt Pris: </font> </td> <td><input id="in" type="text" name="Aftalt_Pris" value="<? echo $row[Aftalt_Pris]; ?>" size="48"></td> <td>Kørsle tybe:</td> <td><input id="in" type="text" name="tt" value="<? echo $row[tt]; ?>" size="48"></td> </tr> <tr> <td> Bemærkinger fra kontoret ang turen:</font> </td> <td><textarea wrap="physical" rows="5" cols="30" name="Bemaerking" id="in"><? echo $row[Bemaerking]; ?></textarea></textarea></td> <td>Bemærk de <font color="#FF0000">*</font></td> <td><font color="#FF0000">*</font> Hvis Retur dagen er en anden dag end afhentingens dato<p> <font color="#FF0000">**</font> efter lad blank hvis der ikke aftalt en fast pris<p> <font color="#FF0000">***</font> Bruges hvis kunden ikke er på afhentings stedet<p></td> </tr> </table> <? } ?> <p><input id="in" type="submit" value="ret" name="ret"><input id="in" type="reset" value="Nulstil" name="B2"></p> </form><p><? if(isset($_POST['ret'])) { $Afhenting_dato = $_POST['Afhenting_dato']; $Afhenting_svvkk = $_POST['Afhenting_svvkk']; $Afhenting_adresse = $_POST['Afhenting_adresse']; $Afhenting_post = $_POST['Afhenting_post']; $Afhenting_stednavn = $_POST['Afhenting_stednavn']; $Afhenting_kontagtperson = $_POST['Afhenting_kontagtperson']; $Afhenting_tele = $_POST['Afhenting_tele']; $Afhenting_mobil = $_POST['Afhenting_mobil']; ; $pas = $_POST['pas']; $Afhenting_hestnavn = $_POST['Afhenting_hestnavn']; $Aflaesting_dato = $_POST['Aflaesting_dato']; $ss_svvkk = $_POST['ss_svvkk']; $Aflaesting_adresse = $_POST['Aflaesting_adresse']; $Aflaesting_post = $_POST['Aflaesting_post']; $Aflaesting_stednavn = $_POST['Aflaesting_stednavn']; $Aflaesting_kontagt = $_POST['Aflaesting_kontagt']; $Aflaesting_tele = $_POST['Aflaesting_tele']; $Aflaesting_mobil = $_POST['Aflaesting_mobil']; $tt = $_POST['tt']; $Aftalt_Pris = $_POST['Aftalt_Pris']; $Bemaerking = $_POST['Bemaerking']; mysql_query("UPDATE Algreenorder SET Afhenting_dato = $Afhenting_dato WHERE id='$_GET[id]'"); ?> </p></td> </tr> </table> <table cellspacing="0" cellpadding="0" height="800"> <tr> <td valign="top"></td> </tr> </table> </table> </body> </html>
Annonceindlæg fra Conscia
21. august 2010 - 11:34
#1
mysql_query("UPDATE Algreenorder SET Afhenting_dato = $Afhenting_dato WHERE id='$_GET[id]'"); ?> er nu mysql_query("UPDATE Algreenorder SET Afhenting_dato = $Afhenting_dato WHERE id='$_GET[id]' "); ]?> hvad gør at siden godt ville vise men, den vil ikke opdate tablen.
21. august 2010 - 11:42
#2
jeg underskylder at jeg blive ved med at komme med kommentar. men nu kan jeg godt få den lige til at opdater men kun med tal, den vil ikke godkendt bogstaver. derud over kun jeg godt bruge hjælpe sådanne at alle mine input bliv update ind i databasen.
21. august 2010 - 11:52
#3
synes du selv du lukkede det sidste spørgsmål OK?
21. august 2010 - 12:13
#4
splazz jeg var ikke ude på at synde dig for point, men jeg ikke se at du havde oprette dit indlæg som svar, ellers havde du fået pointene, for jeg ville bage af med de gamle spm. jeg havde som ikke var lukket i nu. hvis du vil havde dem oprette jeg da bage en spm til 200 som du kan hente.
21. august 2010 - 12:35
#5
session_start();
skal være det FØRSTE i dit dokument - ALLERFØRSTE!
og så har du
i første linje efter <body>, for det første giver det ingen mening med 2 ens tags lige efter hinanden og for det andet er tagget deprecated, du bør style dig ud af det istedet...
lidt længere nede har du 2 <tr> lige efter hinanden, det giver heller ingen mening.
konklusion: du bør få styr på det mest grundliggende så du kan få ryddet op i din kode, så kan det jo være det hjælper, ellers er det om ikke andet nemmere for os andre at gennemskue din kode og hjælpe dig.
21. august 2010 - 14:32
#6
$result = mysql_query("SELECT * FROM Algreenorder WHERE id='$_GET[id]'"); En anden ting er således også at du som absolut minimum bør "vaske" dine ting fra $_GET. Det er trodsalt det letteste måde at smide SQL injections på.
21. august 2010 - 15:03
#7
hej zplazz of danco. har nu lavet de rettesler som i skiver. den vil grene sende infomaioner ind i databasen hvis det er rene tal. sætter jeg bogstaver med kommer de ikke der ind. og laver en dato som denne her 03/07-2010 bliver den til -2009.571428572
21. august 2010 - 15:09
#8
hip hurra jeg har lavet vendens mest kompiceret lommeregner.. af en alle anden grund tro den at den skal udregn værdig fra inputte og der efter update det ned i databasen
21. august 2010 - 15:14
#9
a hva? du updater jo kun dato: mysql_query("UPDATE Algreenorder SET Afhenting_dato = $Afhenting_dato WHERE id='$_GET[id]'"); du har også en fejl ved afhentning_mobil, der er 2 ;
21. august 2010 - 15:22
#10
jeg ved godt jeg ikke lige fik forklaret mig ordenlig. jeg har kun gang i dato´en lig nu, men hvis jeg skive et regne stykke som f.eks. 11+22-33 så ligge den et 0 ned i databasen. og jeg kan ikke finde de 2 afhentning_mobil som ikke skal være der. jeg har 4 stk. <td><input id="in" type="text" name="Afhenting_mobil" value="<? echo $row[Afhenting_mobil]; ?>" size="48"></td> $Afhenting_mobil = $_POST['Afhenting_mobil']; ; ellers har jeg ikke nogen Afhenting_mobil du skal lige huske der også er en Aflaesting_mobil og de skal være der
21. august 2010 - 15:23
#11
hvis jeg skive regne stykket i Afhenting_dato
21. august 2010 - 15:29
#12
der er ikke 2 afhentning mobil, der er 2 semikolon i den linje du selv lige postede... hvilken type er det felt i databasen hvor du gemmer dit regnestykke?
21. august 2010 - 15:38
#13
ok så er jeg med er nu rette felt er et "varchar"
21. august 2010 - 15:44
#14
tog lige for forsørges skyld og ændre den til text men det gjore ingen ting.
21. august 2010 - 15:59
#15
hvad hvis du udskriver variablen, inden du skriver den til databasen skriver den så osse 0?
21. august 2010 - 16:02
#16
det må jeg inrømme at det ved jeg ikke hvordan jeg gør.
21. august 2010 - 17:20
#17
echo $Afhentning_dato;
21. august 2010 - 18:51
#18
ok så er jeg med. det gør den fint nå skiver test stå der test, og skiver 11+22 udskiverne 11+22 men den ligge 33 i database.
21. august 2010 - 19:38
#19
og du gør sådan her: mysql_query("UPDATE Algreenorder SET Afhenting_dato = $Afhenting_dato WHERE id='$_GET[id]'"); ?
21. august 2010 - 19:44
#20
jeg har:
CREATE TABLE `exp916910` ( `id` int(11) NOT NULL auto_increment, `navn` varchar(10) NOT NULL, UNIQUE KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; og:
mysql_query("UPDATE exp916910 SET navn='".$_POST['test']."' WHERE id=1") or die(mysql_error()); og det virker fint med regnestykker..
21. august 2010 - 20:00
#21
splazz.
jeg har lige tjekke igen og ja det.
mysql_query("UPDATE Algreenorder SET Afhenting_dato = $Afhenting_dato WHERE id='$_GET[id]'");
jeg gør.
og jeg har lavet en der oprette og den virke uden problem.
filen er lige her.
http://www.skeeoldgaard.dk/EKS/rethesteorder.php p.s. det er ikke den server hvorfra system køre da jeg gerne ville holde resten af system sikket.
21. august 2010 - 23:13
#22
jeg kan ikke se andet end et manglende billede og en overskrift? var det meningen jeg skulle se koden?
22. august 2010 - 10:03
#23
<? session_start(); include("config.php"); ?> <html> <head> <title></title> <style> body{scrollbar-base-color:#55AAD0; scrollbar-arrow-color:#FFFFFF;} a{text-decoration:none; font-weight:bold;} a:hover{color:#000000;} td{font-family:verdana; font-size:10;} #td{background-color:CCCCCC;} #td2{background-color:CCCCCC;} input{background-color:#CCCCCC; border-width:1; border-style:solid; border-color:#000000; color:#000000; font-size:10; font-family:verdana;} </style> </head> <! ------ side faver opsæting ----------------------> <body link=blue vlink=purple> <center><img src="img/logov1.jpg" border="0" width="964" height="150" align="bottom" alt=""><br> <h1>Algreen Multiservice I/S Ordersystem</h1></center><p align="left"> <? $result = mysql_query("SELECT * FROM Algreenorder WHERE id=$_GET[id]"); while($row = mysql_fetch_array($result)) { ?> <center> <h2>Opret ny hesteorder</h2> <table cellspacing="0" cellpadding="0" height="800"> <tr> <td valign="top"><form method="post" action="" onsubmit="return v(this)"> <input type="hidden" name="subject" value=""> <table> <tr> <td> Afhenting dato og adresse </td> <td></td> <td>Aflastings dato og adresse</td> <td></td> </tr> <tr> <td> Dato: <? echo $row[Afhenting_dato]; ?></font> </td> <td><input id="in" type="text" name="Afhenting_dato" size="48"></td> <td><font color="#FF0000">*</font>Dato:</td> <td><input id="in" type="text" name="Aflaesting_dato" value="<? echo $row[Aflaesting_dato]; ?>" size="48"></td> </tr> <tr> <td> Skal være ved kunden kl.</font> </td> <td><input id="in" type="text" name="Afhenting_svvkk" value="<? echo $row[Afhenting_svvkk]; ?>" size="48"></td> <td><font color="#FF0000">*</font>Skal være ved kunden kl.</td> <td><input id="in" type="text" name="ss_svvkk" value="<? echo $row[ss_svvkk]; ?>" size="48"></td> </tr> <tr> <td> Adresse:</font> </td> <td><input id="in" type="text" name="Afhenting_adresse" value="<? echo $row[Afhenting_adresse]; ?>" size="48"></td> <td>Adresse:</td> <td><input id="in" type="text" name="Aflaesting_adresse" value="<? echo $row[Aflaesting_adresse]; ?>" size="48"></td> </tr> <tr> <td> Post nr + by:</font> </td> <td><input id="in" type="text" name="Afhenting_post" value="<? echo $row[Afhenting_post]; ?>" size="48"></td> <td>Post nr + by:</td> <td><input id="in" type="text" name="Aflaesting_post" value="<? echo $row[Aflaesting_post]; ?>" size="48"></td> </tr> <tr> <td> Evt. stednavn:</font> </td> <td><input id="in" type="text" name="Afhenting_stednavn" value="<? echo $row[Afhenting_stednavn]; ?>" size="48"></td> <td>Evt. stednavn:</td> <td><input id="in" type="text" name="Aflaesting_stednavn" value="<? echo $row[Aflaesting_stednavn]; ?>" size="48"></td> </tr> <tr> <td><br></td> <td></td> <td></td> <td></td> </tr> <tr> <td> Kunde infomationer</font> </td> <td></td> <td><font color="#FF0000">***</font>kontagt infomationer</td> <td></td> </tr> <tr> <td> Navn:</font> </td> <td><input id="in" type="text" name="Aflaesting_kontagt" value="<? echo $row[Aflaesting_kontagt]; ?>" size="48"></td> <td>Navn:</td> <td><input id="in" type="text" name="Afhenting_kontagtperson" value="<? echo $row[Afhenting_kontagtperson]; ?>" size="48"></td> </tr> <tr> <td> Telefon:</font> </td> <td><input id="in" type="text" name="Aflaesting_tele" value="<? echo $row[Aflaesting_tele]; ?>" size="48"></td> <td>Telefon:</td> <td><input id="in" type="text" name="Afhenting_tele" value="<? echo $row[Afhenting_tele]; ?>" size="48"></td> </tr> <tr> <td> mobil:</font> </td> <td><input id="in" type="text" name="Aflaesting_mobil" value="<? echo $row[Aflaesting_mobil]; ?>" size="48"></td> <td>mobil:</td> <td><input id="in" type="text" name="Afhenting_mobil" value="<? echo $row[Afhenting_mobil]; ?>" size="48"></td> </tr> <tr> <td><br></td> <td></td> <td></td> <td></td> </tr> <tr> <td> Ekster infomationer</font> </td> <td></td> <td></td> <td></td> </tr> <tr> <td> Hestes/hestenes navn:</font> </td> <td><input id="in" type="text" name="Afhenting_hestnavn" value="<? echo $row[Afhenting_hestnavn]; ?>" size="48"></td> <td>Passerager:</td> <td><input id="in" type="text" name="pas" value="<? echo $row[pas]; ?>" size="48"></td> </tr> <tr> <td><font color="#FF0000">**</font>Aftalt Pris: </font> </td> <td><input id="in" type="text" name="Aftalt_Pris" value="<? echo $row[Aftalt_Pris]; ?>" size="48"></td> <td>Kørsle tybe:</td> <td><input id="in" type="text" name="tt" value="<? echo $row[tt]; ?>" size="48"></td> </tr> <tr> <td> Bemærkinger fra kontoret ang turen:</font> </td> <td><textarea wrap="physical" rows="5" cols="30" name="Bemaerking" id="in"><? echo $row[Bemaerking]; ?></textarea></textarea></td> <td>Bemærk de <font color="#FF0000">*</font></td> <td><font color="#FF0000">*</font> Hvis Retur dagen er en anden dag end afhentingens dato<p> <font color="#FF0000">**</font> efter lad blank hvis der ikke aftalt en fast pris<p> <font color="#FF0000">***</font> Bruges hvis kunden ikke er på afhentings stedet<p></td> </tr> </table> <p><input id="in" type="submit" value="ret" name="ret"><input id="in" type="reset" value="Nulstil" name="B2"></p> </form><p><? if(isset($_POST['ret'])) { $Afhenting_dato = $_POST['Afhenting_dato']; $Afhenting_svvkk = $_POST['Afhenting_svvkk']; $Afhenting_adresse = $_POST['Afhenting_adresse']; $Afhenting_post = $_POST['Afhenting_post']; $Afhenting_stednavn = $_POST['Afhenting_stednavn']; $Afhenting_kontagtperson = $_POST['Afhenting_kontagtperson']; $Afhenting_tele = $_POST['Afhenting_tele']; $Afhenting_mobil = $_POST['Afhenting_mobil']; $pas = $_POST['pas']; $Afhenting_hestnavn = $_POST['Afhenting_hestnavn']; $Aflaesting_dato = $_POST['Aflaesting_dato']; $ss_svvkk = $_POST['ss_svvkk']; $Aflaesting_adresse = $_POST['Aflaesting_adresse']; $Aflaesting_post = $_POST['Aflaesting_post']; $Aflaesting_stednavn = $_POST['Aflaesting_stednavn']; $Aflaesting_kontagt = $_POST['Aflaesting_kontagt']; $Aflaesting_tele = $_POST['Aflaesting_tele']; $Aflaesting_mobil = $_POST['Aflaesting_mobil']; $tt = $_POST['tt']; $Aftalt_Pris = $_POST['Aftalt_Pris']; $Bemaerking = $_POST['Bemaerking']; echo $Afhenting_dato; mysql_query("UPDATE Algreenorder SET Afhenting_dato = $Afhenting_dato WHERE id=$_GET[id] "); echo $row[Afhenting_dato]; } }?> </p></td> </tr> </table> <table cellspacing="0" cellpadding="0" height="800"> <tr> <td valign="top"></td> </tr> </table> </table> </body> </html>
22. august 2010 - 13:23
#24
du har stadig en masse design-fejl, men det er så ikke derfor det driller. (<font> er også deprecated...)
du skal have ' rundt om din variabel i din query:
mysql_query("UPDATE Algreenorder SET Afhenting_dato = $Afhenting_dato WHERE id=$_GET[id] "); bør rettes til:
mysql_query("UPDATE Algreenorder SET Afhenting_dato = '$Afhenting_dato' WHERE id='".$_GET['id']."'"); og alle steder bør du også smide ' rundt om dine array-keys:
som du faktisk gør længere nede:
if(isset($_POST['ret'])) { $Afhenting_dato = $_POST['Afhenting_dato']; $Afhenting_svvkk = $_POST['Afhenting_svvkk']; [...]
04. november 2010 - 14:29
#25
kom du videre?
04. november 2010 - 22:02
#26
Hej Splazz. nej jeg har desvære ikke haft tid, jeg håber på at får tid her inden længe
04. november 2010 - 22:09
#27
bare i orden (er i gang med at rydde op, så hvis det ikke var aktuelt længere ville jeg bede dig lukke spørgsmålet, men lad os se på det når du har tid igen :) )
04. december 2010 - 11:12
#28
Det Lykkes, nu sætte den dato´en ind istedet for som den skal, tak for hjælpen.
04. december 2010 - 19:04
#29
super!
26. april 2012 - 14:11
#30
bedre sent end aldrig... tfp!
Vi tilbyder markedets bedste kurser inden for webudvikling