Avatar billede brainless Nybegynder
24. august 2003 - 15:17 Der er 12 kommentarer og
1 løsning

Update database via array

Hejsa

Jeg har et lille problem som hedder at jeg skal have opdateret noget date i en database via. en form på en side jeg har prøvet med:
<?PHP include('db.php'); // database indstillinger
mysql_query("UPDATE news (firm, model, category) values ('$_POST[firm]', '$_POST[model]', '$_POST[category]')");
header("Location: admin.php?action=view"); ?>

Tror ikke at jeg har fattet SQL'en rigtigt...
Nogle som kan hjælpe??
TAK

-Casper Klitgaard
Avatar billede schaefner Juniormester
24. august 2003 - 15:21 #1
Prøv:

<?php
include('db.php'); // database indstillinger
mysql_query("UPDATE news SET firm='$_POST[firm]', model='$_POST[model]', category='$_POST[category]'") or die(mysql_error());
?>
Avatar billede schaefner Juniormester
24. august 2003 - 15:22 #2
hov, selvfølgelig skal din header også lige med :)
Avatar billede schaefner Juniormester
24. august 2003 - 15:24 #3
Avatar billede schaefner Juniormester
24. august 2003 - 15:25 #4
men du skal lige tænke på at alle din rækker vil blive opdateret med den kode du har fået nu.
Avatar billede brainless Nybegynder
24. august 2003 - 15:28 #5
He he, tak... Det virker, men desvære for godt :-( Det opdaterer samtlige data i tabellen, var hensigten at den kun skulle ændre den pågældende id... Ved ikke om du mangler nogle oplysninger for at sige mig hvordan det skal gøre??

- Casper Klitgaard
Avatar billede brainless Nybegynder
24. august 2003 - 15:30 #6
Hmm, altså skal jeg have (WHERE id='$_GET[id]') flettet ind et sted... Jeg er ikke supermand til sql, måske du kan hjælpe med det?

- Casper
Avatar billede schaefner Juniormester
24. august 2003 - 15:31 #7
Hvordan ser dit "rette-script" ud?
Avatar billede brainless Nybegynder
24. august 2003 - 15:42 #8
Hang on...

change.php ser sådan ud:
"
<table width='100%' border='0' align='center' cellpadding='0' cellspacing='0'>
                          <tr>
                            <td valign=top>Firm:<br>Værdi:</td>
                            <td align='right'>
                            <form action='change.inc.php' method='post' enctype='multipart/form-data'>
                            <SELECT NAME='firm' SIZE=1>
                              <OPTION>None
                              <OPTION>Nokia
                              <OPTION>Ericsson
                              <OPTION>Siemens
                            </SELECT><br>
                            </td>
                          </tr>
                          <tr>
                            <td valign=top>Model:<br>Værdi:</td>
                            <td align='right'><input name='model' type='text' value='' size='10' maxlength='20'><br></td>
                          </tr>
                          <tr>
                            <td valign=top>Category:<br>Værdi:</td>
                            <td align='right'>
                            <SELECT NAME='category' SIZE=1>
                                <OPTION>None
                            <OPTION>Datakabel
                            <OPTION>Bluetooth
                            </SELECT><br></td>
                          </tr>
                        </form>
                        </table>
"

mens change.inc.php nu ser sådan ud:
"
<?PHP
$con = mysql_connect("localhost", "root", "pass");
mysql_select_db("news");
mysql_query("UPDATE news SET firm='$_POST[firm]', model='$_POST[model]', category='$_POST[category]'");

header("Location: view.php");
?>
"

- Casper Klitgaard
Avatar billede schaefner Juniormester
24. august 2003 - 15:44 #9
Når du kommer ind på change.php har du vel noget alla ?id=1 i adressen, ikke?
Avatar billede schaefner Juniormester
24. august 2003 - 15:48 #10
Hvis det er tilfældet, så prøv:

--- change.php ---

<table width='100%' border='0' align='center' cellpadding='0' cellspacing='0'>
                          <tr>
                            <td valign=top>Firm:<br>Værdi:</td>
                            <td align='right'>
                            <form action='change.inc.php' method='post' enctype='multipart/form-data'>
                            <input type="hidden" name="id" value="<?php echo $_GET['id']; ?>">
                            <SELECT NAME='firm' SIZE=1>
                              <OPTION>None
                              <OPTION>Nokia
                              <OPTION>Ericsson
                              <OPTION>Siemens
                            </SELECT><br>
                            </td>
                          </tr>
                          <tr>
                            <td valign=top>Model:<br>Værdi:</td>
                            <td align='right'><input name='model' type='text' value='' size='10' maxlength='20'><br></td>
                          </tr>
                          <tr>
                            <td valign=top>Category:<br>Værdi:</td>
                            <td align='right'>
                            <SELECT NAME='category' SIZE=1>
                                <OPTION>None
                            <OPTION>Datakabel
                            <OPTION>Bluetooth
                            </SELECT><br></td>
                          </tr>
                        </form>
                        </table>

--- change.inc.php ---

<?php
$con = mysql_connect("localhost","root","pass");
mysql_select_db("news");
mysql_query("UPDATE news SET firm='$_POST[firm]',model='$_POST[model]',category='$_POST[category]' WHERE id=$_POST[id]") or die(mysql_error());

header("Location: view.php");
?>
Avatar billede brainless Nybegynder
24. august 2003 - 15:48 #11
argh jov, glemte jeg at sige...
Avatar billede brainless Nybegynder
24. august 2003 - 15:53 #12
Super! Ser ud til at fungere... Tak for hjælpen mester, skriv et svar og du får dine velfortjente points :-)

- Casper Klitgaard
Avatar billede schaefner Juniormester
24. august 2003 - 15:54 #13
svar'

mvh. Jesper Sørensen
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
Computerworld tilbyder specialiserede kurser i database-management

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