Avatar billede MoXXiS Nybegynder
30. april 2010 - 11:58 Der er 3 kommentarer

Kalde en enkelt variabel mellem PHP filer

Hejsa Eksperter!

Først og fremmest vil jeg lige sige at jeg er helt grøn i PHP! :)

Mit spørgsmål går på om man ikke kan lave en PHP fil hvor alle mine SQL Queries ligger i, og derefter kalde dem enkeltvis som variabler i mine andre PHP filer.
Vel og mærke uden at skulle bruge include, da det importerer hele query dokumentet... :-S

Syntes virkelig at jeg har googlet i en evighed, men kan bare ikke finde svar!

På forhånd tak! :)
Avatar billede Slettet bruger
30. april 2010 - 12:13 #1
Nej, du er nødt til at include dem - PHP fortolker kun det den kan se - og har ingen "hukommelse" imellem sider.
(medmindre man betragter "sessions" som en slags korttidshukommelse)

Men hvis du gemmer dine SQL-statements som dumme strenge, så sker der ikke noget ved at du includer dem alle, selvom du kun skal bruge den ene.

Eller smartere:
En stribe selvstændige functions - alle i samme fil, som du includer, og derefter kan kaldes efter behov.
Avatar billede MoXXiS Nybegynder
30. april 2010 - 12:23 #2
Tak for det hurtige svar T4NK3R!

Mener du som det her?:

<?php
function test_query()
{
    $sql_select_all_Item = "SELECT * FROM Item";
}
return $sql_select_all_Item;
?>
Avatar billede Slettet bruger
30. april 2010 - 13:20 #3
Njah.. det er jo bare streng-metoden pakket ind i en function.
- dobbeltkonfekt.

Enten en stribe strenge som du kan genbruge:

$sql_select_all_Item = "SELECT * FROM Item";
$sql_select_alle_Artikler = "SELECT * FROM Artikler";

Men det giver faktisk ikke meget mening, for på den måde skal du bare kunne huske et variabelnavn i stedet for en SQL-sætning.

Bedre med en funktion som henter dine data:

function getItems( $dbCon, $key )
  {
  $sql = "SELECT * FROM Item WHERE key='$key'";
  Udføre
  if (success)
      cykle igennem resultatet
          opbygge et array
      return array
  else
      return false
  }
 

Den funktion kan du så kalde dér hvor det giver mening, f.eks:

$myItems = getItems( $myDb, "news");
if ($myItems !== false)
    {
    bruge arrayet
    }
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
Kurser inden for grundlæggende programmering

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