Avatar billede nemlig Professor
24. august 2008 - 10:59 Der er 14 kommentarer og
1 løsning

Genbrug af data, men ikke include/require

Hej.
Jeg genbruger traditionelt programkode ved hjælp af include eller require. Men så henter jeg jo programkoden fra en ekstern fil.
Kan man ikke i én og samme fil, definere noget programkode, som kan genbruges - eller skal det ske i en ekstern fil?
Avatar billede w13 Novice
24. august 2008 - 11:43 #1
Det må du lige forklare nærmere. Altså du kan jo lave funktioner, som udfører nogle handlinger, og som du kan bruge, så ofte du vil.
Avatar billede w13 Novice
24. august 2008 - 11:44 #2
function writeHello(){
  echo "Hello!<br>";
}

writeHello();
writeHello();
writeHello();
writeHello();
Avatar billede nemlig Professor
24. august 2008 - 12:20 #3
Jeg har nogle kodelinjer, hvor jeg opdaterer MySQL med nogle data. Disse linjer anvender jeg flere steder, hvorfor jeg synes, det var nemmere at definere det én gang og så kalde koden, de steder hvor jeg skal bruge den.
Men jeg får SQl-fejl, når jeg lagt linjerne i en function.
Avatar billede nemlig Professor
24. august 2008 - 12:21 #4
Måske fordi at der i kodelinjerne i forvejen er kald til en function - altås en function kalder en anden function.
Avatar billede w13 Novice
24. august 2008 - 12:32 #5
Det burde ikke være et problem. Prøv at vise funktionens kode, og hvordan du kalder den.

Og skriv også din SQL-fejl, som jo skal bruges til at finde fejlen med.
Avatar billede nemlig Professor
24. august 2008 - 12:41 #6
function GemSQL()
{   
    $sql = "UPDATE ".$kalendernavn."indstillinger SET
        nyhed_overskrift    ='".$_SESSION['nyhed_overskrift']."',
        nyhed_tekst        ='".$_SESSION['nyhed_tekst']."'";
        database($sql);

        unsetSavedForm();
}

Og så kalder jeg funktionen med
GemSQL();
Avatar billede nemlig Professor
24. august 2008 - 12:44 #7
SQL-Fejlen =

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in C:\wamp\www\ny_lightbox\tool\tool.php on line 42
Databasefejl:

MySQL-sætningen var:
UPDATE indstillinger SET nyhed_overskrift ='4', nyhed_tekst ='111111'
Avatar billede w13 Novice
24. august 2008 - 12:54 #8
Ser denne rigtig ud:
UPDATE indstillinger SET nyhed_overskrift ='4', nyhed_tekst ='111111'

og skal du ikke have en WHERE?
Avatar billede nemlig Professor
24. august 2008 - 13:15 #9
Det er kun 1 post i tabellen, så jeg bruger ikke WHERE.

Og UPDATE linjen ser også korrekt ud.
Jeg leger lidt videre.....
Avatar billede w13 Novice
24. august 2008 - 13:20 #10
Og du er sikker på, linje 42 er den linje og at siden hedder tool.php?
Avatar billede erikjacobsen Ekspert
24. august 2008 - 13:25 #11
I din funktion GemSQL er variablen $kalendernavn tom. Funktioner i PHP kan ikke se variabler udenfor, med mindre de er specialt globale ($_SESSION er), med som parameter, eller er angivet som fx:  global $kalendernavn.
Avatar billede nemlig Professor
24. august 2008 - 19:21 #12
Jubii - så kører det.
Det sidste problem var ganske rigtigt, som erikjacobsen skrev. Tak for hintet.
OG tak til w13 med dine bidrag om function() - så blev jeg lidt klogere.
w13 - send venligst et svar og også gerne erikjacobsen, hvis du er begyndt at samle point.
Avatar billede erikjacobsen Ekspert
24. august 2008 - 19:27 #13
Nej tak, du.
Avatar billede w13 Novice
24. august 2008 - 19:56 #14
:)
Avatar billede w13 Novice
24. august 2008 - 20:01 #15
Tak for point!
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