Avatar billede buxxy Praktikant
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!
Avatar billede buxxy Praktikant
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.
Avatar billede majbom Novice
24. april 2009 - 20:56 #2
har du prøvet at udskrive din genererede query, inden du udfører den?
Avatar billede buxxy Praktikant
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..
Avatar billede majbom Novice
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);
}
Avatar billede buxxy Praktikant
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.
Avatar billede smokeman Nybegynder
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.
Avatar billede majbom Novice
24. april 2009 - 21:51 #7
det er klart at den ikke gemmer, lige der i hvert fald, prøv at fjern // foran $result = ...
Avatar billede majbom Novice
24. april 2009 - 21:51 #8
men skal den gøre det i alle poster i tabellen? ikke kun en enkelt?
Avatar billede buxxy Praktikant
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.
Avatar billede buxxy Praktikant
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..
Avatar billede buxxy Praktikant
25. april 2009 - 01:17 #11
Projektet er opgivet..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester