Avatar billede morell Nybegynder
29. oktober 2001 - 10:41 Der er 19 kommentarer og
1 løsning

hvordan er det lige med globale variabler... (functions)

Når jeg skal bruge globale variabler i en function så skriver jeg:

function tabel_standard() {
global $tekniker, $emne, $note, $omraade;

blal. bla. bla.

}

Men det virker ikke med et Array... hvad skal ændres? jeg har prøvet med:
global $row[tekniker], $row[emne], $row[note], $row[omraade];

se http://www.eksperten.dk/spm/126466 (min history)

Mvh.

Asbjørn Morell

Avatar billede tdaugaard Nybegynder
29. oktober 2001 - 10:43 #1
Har du prøvet bare med

global $row;

??
Avatar billede morell Nybegynder
29. oktober 2001 - 10:50 #2
har lige prøvet... det virker ikke.

function tabel_standard() {
global $row;

html html <?php echo \"$row[tekniker]\"; ?> html html

}

Jeg får ingen fejl... men den behandler selt ikke
variablen $row[tekniker].

Andre forslag?

Mvh.

Asbjørn Morell 
Avatar billede tdaugaard Nybegynder
29. oktober 2001 - 10:52 #3
Prøv:

function tabel_standard() {
global $row;

print_r($row);
}
Avatar billede tdaugaard Nybegynder
29. oktober 2001 - 10:52 #4
Og fortæl hvad den skriver ...
Avatar billede morell Nybegynder
29. oktober 2001 - 10:58 #5
Der sker intet...
Jeg kan se at søgningen fungere da jeg har den:
echo \"$row[emne]&nbsp;$row[tekniker]&nbsp;$row[område]&nbsp;$row[note]\";

og det hele bliver fint skrevet ud.
Der sker bare ikke noget i tabellen.

Mvh.

Asbjørn Morell
Avatar billede tdaugaard Nybegynder
29. oktober 2001 - 11:02 #6
Hmm .. jeg er blank så :o(
Avatar billede morell Nybegynder
29. oktober 2001 - 11:13 #7
det er da underligt...
hvis jeg bruger:
global $row[tekniker], $row[emne], $row[note], $row[omraade];

så får jeg følgende fejl:

Parse error: parse error, expecting `\',\'\' or `\';\'\' in /usr/local/apache/htdocs/htm.php on line 6

efterfulgt af:
Fatal error: Call to undefined function: tabel_standard() in /usr/local/apache/htdocs/udskriv.php on line 46

hvilket vel er logisk nok da min function fejler.

Mvh.

Asbjørn Morell.
Avatar billede tdaugaard Nybegynder
29. oktober 2001 - 11:15 #8
Har du prøvet med:

global $row[];

??
Avatar billede morell Nybegynder
29. oktober 2001 - 11:18 #9
giver:

Parse error: parse error, expecting `\',\'\' or `\';\'\' in /usr/local/apache/htdocs/htm.php on line 6

Mvh.

Asbjørn Morell
Avatar billede tdaugaard Nybegynder
29. oktober 2001 - 11:28 #10
æv :o(
Avatar billede Slettet bruger
29. oktober 2001 - 11:33 #11
kan du ikke poste koden fra htm.php her så vi kan se koden? Også gerne den side hvor dine funktioner er defineret :)

Men er da glad for at søgningen kom til at virke (næsten)
Avatar billede morell Nybegynder
29. oktober 2001 - 12:20 #12
Hvorfor ikke... der er vel ikke noget som I ikke har set før...

#function til standard indlæg.
function tabel_standard() {

global $row[];

?>

<meta http-equiv=\"Content-Language\" content=\"da\">
<div align=\"center\">
  <center>
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"500\" id=\"AutoNumber1\">
  <tr>
    <td width=\"50\"></td>
    <td width=\"400\" height=\"13\"></td>
    <td width=\"50\"></td>
  </tr>
  <tr>
    <td width=\"50\">&nbsp;</td>
    <td width=\"400\" bgcolor=\"#BAB6A6\" style=\"border-left-style: solid; border-left-width: 1; border-right-width: 1; border-top-style: solid; border-top-width: 1; border-bottom-width: medium; border-right-style:solid; border-bottom-style:none\">
    <p align=\"left\"><font color=\"#FFFFFF\">Oprettet:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Skrevet af: <?php echo \"$row[tekniker]\"; ?></font></td>
    <td width=\"50\">&nbsp;</td>
  </tr>
  <tr>
    <td width=\"50\">&nbsp;</td>
    <td width=\"400\" height=\"10\" bgcolor=\"#BAB6A6\" style=\"border-left-style: solid; border-left-width: 1; border-right-width: 1; border-top-style: none; border-top-width: medium; border-bottom-width: 1; border-right-style:solid\">
    <b>Område: <?php echo \"$row[omraade]\"; ?></b></td>
    <td width=\"50\">&nbsp;</td>
  </tr>
  <tr>
    <td width=\"50\">&nbsp;</td>
    <td width=\"400\" height=\"10\" bgcolor=\"#BAB6A6\" style=\"border-left-style: solid; border-left-width: 1; border-right-width: 1; border-top-style: none; border-top-width: medium; border-bottom-width: 1; border-right-style:solid\">
    <b>Emne: <?php echo \"$row[emne]\"; ?></b></td>
    <td width=\"50\">&nbsp;</td>
  </tr>
  <tr>
    <td width=\"50\" height=\"200\">&nbsp;</td>
    <td width=\"400\" height=\"200\" bgcolor=\"#E7E3DB\" style=\"border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1; border-top-width: 1; border-bottom-style: solid; border-bottom-width: 1; padding-top: 1\" valign=\"top\">
    <?php echo \"$row[note]\"; ?></td>
    <td width=\"50\" height=\"200\">&nbsp;</td>
  </tr>
  </table>

  </center>
</div>

<?php
#afslutter tabel standard function.
}

#Her laves HTML \"rammen\" som standard_tabel ligger I når jeg skal bruge en status.
function tabel_status() {
?>

<p>&nbsp;</p>
<div align=\"center\">
  <center>
  <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"500\" id=\"AutoNumber2\">
    <tr>
      <td height=\"100%\" width=\"500\">
      <p align=\"center\"><font size=\"5\">Indlægget er blevet oprettet...</font></td>
    </tr>
    <tr>
      <td height=\"100%\" width=\"500\"><?php tabel_standard(); ?>&nbsp;</td>
    </tr>
    <tr>
      <td height=\"100%\" width=\"500\">
      <p align=\"center\"><a href=\"index.php\">Tilbage til hovedmenu\'en.</a></td>
    </tr>
  </table>
  </center>
</div>

<?php
#afslutter tabel-ramme function
}

#function til opret-indlæg.
function opret() {

?>


<html>

<body>

<form method=\"POST\" action=\"skriv.php\">
  <div align=\"center\">
    <center>
  <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"369\" id=\"AutoNumber2\" height=\"278\">
        <tr>
          <td width=\"19\" height=\"19\" style=\"border-left-style: solid; border-left-width: 1; border-top-style: solid; border-top-width: 1\" bgcolor=\"#BAB6A6\" bordercolor=\"#000000\">&nbsp;</td>
          <td width=\"303\" colspan=\"2\" height=\"19\" style=\"border-right-style: solid; border-right-width: 1; border-top-style: solid; border-top-width: 1\" bgcolor=\"#BAB6A6\" bordercolor=\"#000000\">
          <font size=\"5\">Opret nyt emne</font></td>
        </tr>
        <tr>
          <td width=\"19\" height=\"1\" style=\"border-left-style: solid; border-left-width: 1\" bordercolor=\"#000000\" bgcolor=\"#E7E3DB\"></td>
          <td width=\"87\" height=\"1\" bordercolor=\"#000000\" bgcolor=\"#E7E3DB\">Tekniker</td>
          <td width=\"216\" height=\"1\" style=\"border-right-style: solid; border-right-width: 1; border-top-style: none; border-top-width: medium\" bordercolor=\"#000000\" bgcolor=\"#E7E3DB\">
          <select size=\"1\" name=\"tekniker\">
          <option value=\"CMA\" selected>CMA</option>
          <option value=\"SSK\">SSK</option>
          <option value=\"ATM\">ATM</option>
          <option value=\"MTJ\">MTJ</option>
          <option value=\"JEC\">JEC</option>
          <option value=\"HDA\">HDA</option>
          <option value=\"SVL\">SVL</option>
          <option value=\"MLU\">MLU</option>
          </select></td>
        </tr>
        <tr>
          <td width=\"19\" height=\"1\" style=\"border-left-style: solid; border-left-width: 1\" bordercolor=\"#000000\" bgcolor=\"#E7E3DB\"></td>
          <td width=\"87\" height=\"1\" bordercolor=\"#000000\" bgcolor=\"#E7E3DB\">
          Område</td>
          <td width=\"216\" height=\"1\" style=\"border-right-style: solid; border-right-width: 1\" bordercolor=\"#000000\" bgcolor=\"#E7E3DB\">
          <select size=\"1\" name=\"omraade\">
          <option value=\"WindowsNT4\">Windows NT 4</option>
          <option value=\"Windows2000\">Windows 2000</option>
          <option value=\"Windows9x\">Windows9x</option>
          <option value=\"Linux\">Linux Redhat 7.1</option>
          <option value=\"AS400\">AS400</option>
          <option value=\"LotusNotes\">Lotus Notes</option>
          <option value=\"Antivirus\">Antivirus</option>
          <option value=\"BackupEXEC\">Backup EXEC</option>
          </select></td>
        </tr>
        <tr>
          <td width=\"19\" height=\"1\" style=\"border-left-style: solid; border-left-width: 1\" bordercolor=\"#000000\" bgcolor=\"#E7E3DB\">&nbsp;</td>
          <td width=\"87\" height=\"1\" bordercolor=\"#000000\" bgcolor=\"#E7E3DB\">Emne</td>
          <td width=\"216\" height=\"1\" style=\"border-right-style: solid; border-right-width: 1\" bordercolor=\"#000000\" bgcolor=\"#E7E3DB\">
          <textarea rows=\"2\" name=\"emne\" cols=\"26\"></textarea></td>
        </tr>
        <tr>
          <td width=\"19\" height=\"1\" style=\"border-left-style: solid; border-left-width: 1\" bordercolor=\"#000000\" bgcolor=\"#E7E3DB\"></td>
          <td width=\"87\" height=\"1\" bordercolor=\"#000000\" bgcolor=\"#E7E3DB\">Note:</td>
          <td width=\"216\" height=\"1\" style=\"border-right-style: solid; border-right-width: 1\" bordercolor=\"#000000\" bgcolor=\"#E7E3DB\"></td>
        </tr>
        <tr>
          <td width=\"19\" height=\"238\" style=\"border-left-style: solid; border-left-width: 1\" bordercolor=\"#000000\" bgcolor=\"#E7E3DB\">&nbsp;</td>
          <td width=\"303\" height=\"238\" colspan=\"2\" style=\"border-right-style: solid; border-right-width: 1\" bordercolor=\"#000000\" bgcolor=\"#E7E3DB\">
          <textarea rows=\"15\" name=\"note\" cols=\"37\"></textarea></td>
        </tr>
        <tr>
          <td width=\"19\" height=\"1\" style=\"border-left-style: solid; border-left-width: 1; border-bottom-style: solid; border-bottom-width: 1\" bordercolor=\"#000000\" bgcolor=\"#E7E3DB\"></td>
          <td width=\"303\" height=\"1\" style=\"border-bottom-style: solid; border-bottom-width: 1; border-right-style:solid; border-right-width:1\" colspan=\"2\" bordercolor=\"#000000\" bgcolor=\"#E7E3DB\">
          <input type=\"submit\" value=\"Opret\" name=\"B1\"></td>
        </tr>
      </table>
    </center>
  </div>
    </form>

<?php
#afslutter function til opret.
}

#function til quick menu.
function qmenu() {

?>
   

<p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>
<form method=\"POST\" action=\"udskriv.php\">
  <div align=\"left\">
    <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"200\" id=\"AutoNumber3\" height=\"206\">
      <tr>
        <td colspan=\"2\" width=\"250\" bgcolor=\"#BAB6A6\" style=\"border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1; border-top-style: solid; border-top-width: 1\" height=\"21\">
        <font size=\"4\">Quick Menu: </font>Udskriv alt fra:</td>
      </tr>
      <tr>
        <td width=\"23\" height=\"20\" style=\"border-left-style: solid; border-left-width: 1\" bgcolor=\"#E7E3DB\">
        <input type=\"checkbox\" name=\"WindowsNT4\" value=\"ON\"></td>
        <td width=\"227\" height=\"20\" bgcolor=\"#E7E3DB\" style=\"border-right-style: solid; border-right-width: 1\">Windows NT 4</td>
      </tr>
      <tr>
        <td width=\"23\" height=\"20\" style=\"border-left-style: solid; border-left-width: 1\" bgcolor=\"#E7E3DB\">
        <input type=\"checkbox\" name=\"Windows2000\" value=\"ON\"></td>
        <td width=\"227\" height=\"20\" bgcolor=\"#E7E3DB\" style=\"border-right-style: solid; border-right-width: 1\">Windows 2000</td>
      </tr>
      <tr>
        <td width=\"23\" height=\"20\" style=\"border-left-style: solid; border-left-width: 1\" bgcolor=\"#E7E3DB\">
        <input type=\"checkbox\" name=\"Windows9x\" value=\"ON\"></td>
        <td width=\"227\" height=\"20\" bgcolor=\"#E7E3DB\" style=\"border-right-style: solid; border-right-width: 1\">Windows 9x</td>
      </tr>
      <tr>
        <td width=\"23\" height=\"20\" style=\"border-left-style: solid; border-left-width: 1\" bgcolor=\"#E7E3DB\">
        <input type=\"checkbox\" name=\"Linux\" value=\"ON\"></td>
        <td width=\"227\" height=\"20\" bgcolor=\"#E7E3DB\" style=\"border-right-style: solid; border-right-width: 1\">Linux Redhat 7.1</td>
      </tr>
      <tr>
        <td width=\"23\" height=\"20\" style=\"border-left-style: solid; border-left-width: 1\" bgcolor=\"#E7E3DB\">
        <input type=\"checkbox\" name=\"AS400\" value=\"ON\"></td>
        <td width=\"227\" height=\"20\" bgcolor=\"#E7E3DB\" style=\"border-right-style: solid; border-right-width: 1\">AS400</td>
      </tr>
      <tr>
        <td width=\"23\" height=\"20\" style=\"border-left-style: solid; border-left-width: 1\" bgcolor=\"#E7E3DB\">
        <input type=\"checkbox\" name=\"LorusNotes\" value=\"ON\"></td>
        <td width=\"227\" height=\"20\" bgcolor=\"#E7E3DB\" style=\"border-right-style: solid; border-right-width: 1\">Lotus Notes</td>
      </tr>
      <tr>
        <td width=\"23\" height=\"19\" style=\"border-left-style: solid; border-left-width: 1\" bgcolor=\"#E7E3DB\">
        <input type=\"checkbox\" name=\"Antivirus\" value=\"ON\"></td>
        <td width=\"227\" height=\"19\" bgcolor=\"#E7E3DB\" style=\"border-right-style: solid; border-right-width: 1\">Antivirus</td>
      </tr>
      <tr>
        <td width=\"23\" height=\"20\" style=\"border-left-style: solid; border-left-width: 1\" bgcolor=\"#E7E3DB\">
        <input type=\"checkbox\" name=\"BackupEXEC\" value=\"ON1\"></td>
        <td width=\"227\" height=\"20\" bgcolor=\"#E7E3DB\" style=\"border-right-style: solid; border-right-width: 1\">Backup EXEC</td>
      </tr>
      <tr>
        <td width=\"23\" height=\"26\" style=\"border-left-style: solid; border-left-width: 1; border-bottom-style: solid; border-bottom-width: 1\" bgcolor=\"#E7E3DB\">&nbsp;</td>
        <td width=\"227\" height=\"26\" style=\"border-bottom-style: solid; border-bottom-width: 1; border-right-style:solid; border-right-width:1\" bgcolor=\"#E7E3DB\">
        <input type=\"submit\" value=\"Vis poster\" name=\"B2\"></td>
      </tr>
    </table>
  </div>
</form>

<?php
#afslutter function qmenu
}



#function til quick menu.
function soeg() {
?>


<form method=\"POST\" action=\"udskriv.php\">
  <div align=\"center\">
    <center>
    <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"369\" id=\"AutoNumber4\">
      <tr>
        <td bgcolor=\"#BAB6A6\" width=\"369\" style=\"border-left-style: solid; border-left-width: 1; border-top-style: solid; border-top-width: 1\">&nbsp;</td>
        <td bgcolor=\"#BAB6A6\" width=\"369\" style=\"border-right-style: solid; border-right-width: 1; border-top-style: solid; border-top-width: 1\">
        <font size=\"4\">Søg</font></td>
      </tr>
      <tr>
        <td width=\"369\" bgcolor=\"#E7E3DB\" style=\"border-left-style: solid; border-left-width: 1\">&nbsp;</td>
        <td width=\"369\" bgcolor=\"#E7E3DB\" style=\"border-right-style: solid; border-right-width: 1\">
        <input type=\"text\" name=\"soeg\" size=\"53\"></td>
      </tr>
      <tr>
        <td width=\"369\" bgcolor=\"#E7E3DB\" style=\"border-left-style: solid; border-left-width: 1; border-bottom-style: solid; border-bottom-width: 1\">&nbsp;</td>
        <td width=\"369\" bgcolor=\"#E7E3DB\" style=\"border-right-style: solid; border-right-width: 1; border-bottom-style: solid; border-bottom-width: 1\">
        <input type=\"submit\" value=\"Søg\" name=\"B1\"></td>
      </tr>
    </table>
    </center>
  </div>
</form>

</body>

</html>

<?php
#afslutter function soeg
}
?>

her er det som står i udskriv.php:

#Henter lige nogle funktions.. til mysql.
require(\"settings/connection-status.php\");
require(\"htm.php\");

#åbner forbindelsen til MySQL
aabn_forbindelse_og_vaelgdb();

$betingelse = \"SELECT * FROM knowledgedb WHERE id > \'0\' AND (\";

$words = str_replace(\"&\",\" \",$soeg);
$words = str_replace(\"+\",\" \",$words);
$words = str_replace(\",\",\" \",$words);
$words = str_replace(\"  \",\" \",$words);
$words = ereg_replace(\'( +)$\',\',\',$words) .\".\";
$words = str_replace(\",,\",\",\",$words);
$words = str_replace(\".\",\"\",$words);
$words = str_replace(\" \",\",\",$words);
$words = split(\",\", $words);
$tal = count($words);

$i = -1;
do {
++$i;
$betingelse = \"$betingelse emne LIKE \'%$words[$i]%\' OR tekniker LIKE \'%$words[$i]%\' OR omraade LIKE \'%$words[$i]%\' OR note LIKE \'%$words[$i]%\' OR\";

} while ($tal-1 > $i);
$betingelse = \"$betingelse emne LIKE \'%$words[$i]%\' OR tekniker LIKE \'%$words[$i]%\' OR omraade LIKE \'%$words[$i]%\' OR note LIKE \'%$words[$i]%\')\";

$query = mysql_query(\"$betingelse order by id asc\") or die(mysql_error());

if (!mysql_num_rows($query)) {
echo \"Intet fundet.\";
}

while($row = mysql_fetch_array($query)){
$sql = \"SELECT * FROM knowledgedb WHERE id = \'$row[id]\'\";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);

echo \"$row[emne]&nbsp;$row[tekniker]&nbsp;$row[område]&nbsp;$row[note]\";

}

tabel_standard();

luk_forbindelse();

?>

connection-status.php er lånt fra webcafe:
http://webcafe.dk/php/artikler/250/gbog-ting/mysql-funktioner.phps

Jeg har faktisk kun functioner i:
htm.hph og connection-status.php.

Er der andet I skal bruger?

Mvh.

Asbjørn Morell
Avatar billede morell Nybegynder
29. oktober 2001 - 13:38 #13
Jeg er virkelig på spanden!
Hvis det ikke kan lade sig gøre at brugere:
global $row[emne], $row[tekniker], $row[omraade], $row[note];
Er der så en måde at flytte det fra f.eks. $row[note] til en standard variable?

Mvh.

Asbjørn Morell
Avatar billede tdaugaard Nybegynder
29. oktober 2001 - 13:50 #14
Du kan bruge:

extract($row);

Det vil lave variabler med navne der er lig dine feltnavne fra DB\'en, med værdien fra $row[\"note\"] f.eks.

Så kan du skrive:

global $note, $omraade;

osv. i din funktion
Avatar billede morell Nybegynder
29. oktober 2001 - 14:09 #15
tdaugaard du er simpelthen en guttermand!
Nu virker det!!.

Mvh.
Asbjørn Morell
Avatar billede tdaugaard Nybegynder
29. oktober 2001 - 14:10 #16
Vil lige svare så :o)
Avatar billede tdaugaard Nybegynder
29. oktober 2001 - 14:11 #17
Og det var godt :o)
Jeg bruger selv extract() og den er effektiv til netop det her.
Avatar billede coderdk Praktikant
29. oktober 2001 - 14:11 #18
Smid $row med som parameter:

function tabel_standard($row) {
  echo \"$row[tekniker]\";
}

tabel_standard($row);
Avatar billede coderdk Praktikant
29. oktober 2001 - 14:13 #19
Der burde have stået:

function tabel_standard(&$row) {
  echo \"$row[tekniker]\";
}
Avatar billede morell Nybegynder
29. oktober 2001 - 14:13 #20
Det vil jeg prøve senere...
Tak for hjælpen begge 2. I har været en enorm god hjælp!

Mvh.

Asbjørn Morell
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