Avatar billede morten-1981 Nybegynder
17. juli 2008 - 09:31 Der er 5 kommentarer og
1 løsning

Funktion til mysql insert i enhver database?

Jeg har følgende funktion, der hiver data ud af enhver database og stiller dem op på en på forhånd defineret måde:

echo fnSQLtoHTML("SELECT id, dato FROM events");

Den laver så en tabel med id & data på alle poster i databasen. Funktionen er fundet på et website, da jeg ikke selv er langt nok fremme til at lave sådan noget.

Er der nogen, der ligger inde med en lignende funktion til at indtaste nye data? Hvor den finder alle felter i databasen og laver en opstilling med feltnavn og et indtastningsfelt og selv genererer sql-insert når brugeren trykker send?

Det skal bruges til et lille administrationssystem, der kun skal bruges af 2 personer, så det ville være lækkert at kunne lave den slags lidt hurtig når der ikke er brug for data validering og beskrivelse af hver felt.
Avatar billede w13 Novice
17. juli 2008 - 10:10 #1
Prøv at vise selve funktionens kode, så kan det være, vi kan lave en tilsvarende, der indsætter. =) Ud fra det, du viser, er det ikke til at se, hvad den gør.
Avatar billede morten-1981 Nybegynder
17. juli 2008 - 10:38 #2
http://articles.techrepublic.com.com/5100-10878_11-1045433.html
Den snupper bare al data og udskriver det ud i en overskuelig tabel.
Avatar billede w13 Novice
17. juli 2008 - 10:48 #3
Du skriver flere gange "hiver data ud af enhver database", hvilket jeg ikke helt forstår. Men hvis du bare nemt vil kunne indsætte i databasen, kan du bruge:

function fnSQLtoDB($sSQL) {

    //Inserts posts with an SQL statement


    if (!$oConn = @mysql_connect(“mysql.kaufman.net”, “guest”, “secretword”)) {


        $sRetVal = mysql_error();


    } else {


        if (!mysql_selectdb('MyDatabase',$oConn)) {


            $sRetVal = mysql_error();


        } else {


            if (!$result = mysql_query($sSQL, $oConn)) {

                $sRetVal = mysql_error();

            } else {

                mysql_free_result($result);
            }

        }


        mysql_close($oConn);


    }

    return ($sRetVal);

}
Avatar billede w13 Novice
17. juli 2008 - 10:50 #4
Men inde på den side, er der vist allerede en eksisterende funktion til dette. Det er den, der hedder fnRunSQL():

function fnRunSQL($sSQL) {


//Runs a SQL statement and returns


// - TRUE if successful


// - FALSE if it couldn't connect


// - The MySQL error code if the SQL statement fails


if (!$oConn = @mysql_connect(“mysql.kaufman.net”, “guest”, “secretword”)) {


$bRetVal = FALSE;


} else {


if (!mysql_selectdb('MyDatabase',$oConn)) {


$bRetVal = FALSE;


} else {


if (!$result = mysql_query($sSQL, $oConn)) {


$bRetVal = mysql_error();


} else {


$bRetVal = TRUE;


mysql_free_result($result);


} }


mysql_close($oConn);


}


return ($bRetVal);


}


Uanset hvilken funktion, du bruger, kalder du den bare med SQL'en "INSERT INTO events (felt1,felt2) VALUES ('data1','data2')"
Avatar billede morten-1981 Nybegynder
17. juli 2008 - 10:56 #5
Formuleringen var dum - jeg kan godt se at jeg modsiger mig selv og ævler om "sql-insert". Beklager at jeg ikke fik formuleret det korrekt fra starten af.

Det jeg vil er at trække ex. række 4 ud og så stille alle informationerne op i tekstbokse, som det er muligt at rette og derefter gennemfører en update.
Avatar billede w13 Novice
17. juli 2008 - 10:57 #6
Ah, ja det vil kræve en del flere koder og muligvis at det fordeles over flere sider. Det kan jeg ikke hjælpe med lige p.t.
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