24. april 2009 - 20:48
Der er
10 kommentarer og 1 løsning
Update felt i DB
Hej Eksperter. Jeg har et mindre problem, der består i at opdatere et felt i min database. Flg. er indsat i databasen: --------------------------- $result = dbquery("DROP TABLE IF EXISTS ".$db_prefix."dwp"); $result = dbquery("CREATE TABLE ".$db_prefix."dwp ( numoflinks TINYINT(2) UNSIGNED NOT NULL DEFAULT '10', ) TYPE=MyISAM;"); --------------------------- Dertil er lavet en .php-fil, som jeg via denne gerne vil opdatere det felt jeg har oprettet i databasen = numoflinks Men når jeg vil ændre værdien via .php-filen, så bliver der ved med at stå 10 - uanset om jeg ændrer til 5, 15 eller 20. Indholdet af .php-filen: --------------------------- <?php if (isset($_POST['savesettings'])) { $error = 0; $result = dbquery("UPDATE ".DB_DWP." SET numoflinks='".(isnum($_POST['numoflinks']) ? $_POST['numoflinks'] : "10")."' "); if (!$result) { $error = 1; } redirect(FUSION_SELF.$aidlink."&error=".$error); } $settings = dbarray(dbquery("SELECT * FROM ".$db_prefix."dwp)); echo "<form name='settingsform2' method='post' action='".FUSION_SELF.$aidlink."'>\n"; echo "<table cellpadding='0' cellspacing='0' width='500' class='center'>\n<tr>\n"; echo "<td width='50%' class='tbl'>Antal links:</td>\n"; echo "<td width='50%' class='tbl'><select name='numoflinks' class='textbox' style='width:50px;'>\n"; echo "<option".($settings['numoflinks'] == 5 ? " selected='selected'" : "").">5</option>\n"; echo "<option".($settings['numoflinks'] == 10 ? " selected='selected'" : "").">10</option>\n"; echo "<option".($settings['numoflinks'] == 15 ? " selected='selected'" : "").">15</option>\n"; echo "<option".($settings['numoflinks'] == 20 ? " selected='selected'" : "").">20</option>\n"; echo "</select></td>\n"; echo "</tr>\n<tr>\n"; echo "<td align='center' colspan='2' class='tbl'><br />\n"; echo "<input type='submit' name='savesettings' value='Gem indstillinger' class='button' /></td>\n"; echo "</tr>\n</table>\n</form>\n"; ?> --------------------------- Jeg håber her er en der kan, samt ikke mindst har lyst til at hjælpe mig. Fortsat god aften!
Annonceindlæg fra Infor
24. april 2009 - 20:56
#1
Orientering: ------------ Der står lfg. i ovenstående php-kode: UPDATE ".DB_DWP." - det skal selvfølgelig være: ".$db_prefix."dwp Men det er ikke der problemet/fejlen ligger.
24. april 2009 - 20:56
#2
har du prøvet at udskrive din genererede query, inden du udfører den?
24. april 2009 - 20:57
#3
Hej splazz. Det må jeg sige nej til, da jeg slet ikke ved hvordan man gør det. Som du nok kan anspore er jeg ret grøn på dette område..
24. april 2009 - 21:11
#4
prøv med: if (isset($_POST['savesettings'])) { $error = 0; $query = "UPDATE ".DB_DWP." SET numoflinks='".(isnum($_POST['numoflinks']) ? $_POST['numoflinks'] : "10")."'"; echo $query; // $result = dbquery($query); if (!$result) { $error = 1; } // redirect(FUSION_SELF.$aidlink."&error=".$error); }
24. april 2009 - 21:33
#5
Så skriver den flg. helt øverst (uden for <table> tabellen: UPDATE db_dwp SET numoflinks='15' Men det er ikke ændret i databasen - der står den stadig til 10.
24. april 2009 - 21:47
#6
Tilføjet til tidligere indlæg: Det var 15 jeg valgte - men den gemmer det som sagt ikke i databasen.
24. april 2009 - 21:51
#7
det er klart at den ikke gemmer, lige der i hvert fald, prøv at fjern // foran $result = ...
24. april 2009 - 21:51
#8
men skal den gøre det i alle poster i tabellen? ikke kun en enkelt?
24. april 2009 - 22:00
#9
Det hjælper ikke at fjerne udkommenteringen af den nævnte linje. Mht. "alle poster i tabellen" - her er jeg også lost, og ved ikke hvad du mener.. Det jeg har tilføjet til databasen skal bare bruges til at bestemme om det er 5, 10, 15, eller 20 - som jeg skal kunne bruge/vise andetsteds i en anden fil. Jeg ved ikke hvad du mener med poster.
24. april 2009 - 22:31
#10
Hmm, kan man mon ikke længere forøge sine point ? Jeg har en smule små-travlt, idet jeg gerne ville have det færdigt i dag. Hehe, har bøvlet med det her i næsten 3 hele døgn nu - uden at have sovet endnu. Det kunne være fint at få det ordnet i dag. Det er selvfølgelig ikke for at hive ekstra meget i folk - men også derfor det kan være dethjælper lidt på det at forøge sine point. Men kan dælme ikk se funktionen længere..
25. april 2009 - 01:17
#11
Projektet er opgivet..
Vi tilbyder markedets bedste kurser inden for webudvikling