Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Ako nastavit rozsah platnosti pola [PHP]

Dobry vecer,

prosil by som o radu, ako nastavit rozsah platnosti pola. Premenne sa da registrovat ako globalne pomocou

global $premenna;

a platia pre cely rozsah dokumentu. Ako to vsak nastavit pre polia (array)?

Blizsie: mam udaje vytiahnute z DB pomocou mysql_fetch_array a potrebujem z jedneho stlpca DB vytvorit pole, ktore chcem pouzivat v celom dokumente. Ako na to? V poliach sa az tak nevyznam, nejak mi nelezu do hlavy, ak mate nejake odkazy na jednoduche vysvetlenia a funkcnost, tiez uvitam.

Vdaka.

Předmět Autor Datum
Programovat neumim, ale co vim, tak PHP vraci udaje vytazene z DB pomocou mysql_fetch_array jako pol…
Flash_Gordon 22.03.2008 20:38
Flash_Gordon
Ano z DB to ta fcia taha ako pole, avsak nie je globalne. A uz som sa zrejme dozvedel aj to, preco n…
2laak 22.03.2008 20:43
2laak
<?php function fPole() { global $pole; $pole[0] = 'a'; $pole[1] = 'b'; $pole[2] = 'c'; } fPole(); pr…
Marvin 22.03.2008 21:54
Marvin
Dnes vecer sa uz do toho nepustim, rano dam vediet. Vdaka
2laak 22.03.2008 22:04
2laak
Dakujem pekne, global $pole; funguje bezchybne, len som tam mal neskutocne hlupy preklep, kvoli kt… poslední
2laak 23.03.2008 06:46
2laak

Programovat neumim, ale co vim, tak PHP vraci udaje vytazene z DB pomocou mysql_fetch_array jako pole:

http://cz2.php.net/manual/cs/function.mysql-fetch-a rray.php

Jestliže :

 mysql_connect("localhost", "mysql_uziv", "mysql_heslo") or
        die("Nelze se spojit");
    mysql_select_db("mojedb");

    $result = mysql_query("SELECT id, jmeno FROM moje_tabulka");

    while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
        printf ("ID: %s  Jméno: %s", $row[0], $row[1]); 
    }

    mysql_free_result($result); // POKUD TOTO NEZAVOLAS, JE POLE udaju STALE GLOBALNI !

No a jestli snad vytvoris to pole ve funkci (fakt nevim jak to je tedka v PHP), tak muzes vracet referenci na pole znakem &, cimz jestlize ho priradis do nejake globalni promenne, tak bude globalni. Alespon myslim.

Ano z DB to ta fcia taha ako pole, avsak nie je globalne. A uz som sa zrejme dozvedel aj to, preco nie:

mysql_free_result($result); // POKUD TOTO NEZAVOLAS, JE POLE udaju STALE GLOBALNI !

Avsak vyvolavanie dat z DB mam vyriesene definovanou funkciou, kde na konci tento riadok je. Pri ostatnych volaniach dat sa to hodi viac, preto tuto funkciu zrusit nechcem. Radsej by som bol, keby bol nejaky "registrator" globalneho pola.

Napriek tomu vdaka za objasnenie. :-)

Zpět do poradny Odpovědět na původní otázku Nahoru