![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 1 Dołączył: 28.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam następujący skrypt w PHP:
Kod <?php $a = "$b $c"; $b = 1; $c = 2; print ($a); ?> Jest to skrypt przykładowy i wiem, że 2. i 3. linijka powinny być przed pierwszą, ale ja potrzebuje właśnie wywołać ten skrypt w takiej kolejności. Jednak po wywołaniu skryptu na ekranie nic się nie wyświetla. Czy ktoś wie gdzie popełniłem błąd? |
|
|
-ab0012- |
![]() ![]()
Post
#2
|
Goście ![]() |
przepraszam a co ma się wyświetlić? łączysz dwie niezainicjowane zmienne, potem przypisujesz im wartości. jak nic się nie wyświetla? a spacja pomiędzy zmiennymi :]
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 1 Dołączył: 28.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mają się wyświetlić wartości zmiennych $b i$c po spacji.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
No to musisz zmienić kolejność na właściwą. Taka jest reguła że parser php idzie od góry do dołu i to jest chyba logiczne? W php nie ma żadnych "go to" żeby to obejść. Musi być właściwa kolejność i tyle...
|
|
|
-ab0012- |
![]()
Post
#5
|
Goście ![]() |
to było pytanie retoryczne.
a wracając: to niewiem czemu się uparłeś żeby robić tak jak mówisz. poprzesz to jakimś większym kawałkiem kodu bo narazie to widzę że uparłeś się na jedno i już. a powiesz po co Ci takie dziwne rozwiązanie? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 1 Dołączył: 28.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
-ab0012- oto większy kawałek kodu:
Kod <?php class test { public function WysTabele print '<table class="tabela" border="1"><tr>'; $i=1; while (isset($this->np[$i])) { //np- nazwa pola tabeli print '<td><div class = "naglowek">'.$this->np[$i].'<div></td>'; $i++; } print '<td></td><td valign="top"></td></tr>'; $wynik = mysql_query ($SqlWybierajacy); while ($rekord = mysql_fetch_assoc ($wynik)) { $i=1; while (isset($this->pt[$i])) {//pt- pole tabeli ${$this->pt[$i]} = $rekord[$this->pt[$i]]; $i++; } $l = $l+1; if (($l/2) == is_int($l/2)) { print "<tr onmouseover=\"bgColor='#EFEFFF'\" onmouseout=\"bgColor='#DADADA'\" \"bgColor='#DADADA'\" style=\"color: #000000\">"; } else { print "<tr onmouseover=\"bgColor='#EFEFFF'\" onmouseout=\"bgColor='#EAEAEA'\" \"bgColor='#EAEAEA'\" style=\"color: #000000\">"; } $i=1; while (isset($this->wp[$i])) {//wt- wartość pola tabeli print '<td><p>'.$this->wp[$i].'</p></td>'; $i++; } print '</tr>'; } print '</table>'; } } $klasa = new test; $klasa->np[1] = 'BBB'; $klasa->pt[1] = 'id'; $klasa->pt[2] = 'pole1'; $klasa->pt[3] = 'pole2'; $klasa->pt[4] = 'pole3'; $klasa->wp[1] = „$pole1, $pole2 i $pole3”; ?> Czy naprawdę nikt nie wie jak mi pomóc? (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Na moje oko, to ustawiasz zmienną w jednym miejscu, a chcesz aby była odczytywana w innym? Poczytaj o przekazywaniu zmiennych pomiędzy stronami/fragmentami kodu. Jeden z prostszych sposobów:
Kod $go = $_GET['go'];
switch ($go){ case 'bla': echo $_GET['a']; break; case 'cos': $a = 'blablable'; header("Refresh:0; URL = index.php?go=bla&a=$a"); break; } |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 1 Dołączył: 28.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie do końca mi o to chodzi. Chciałbym, aby do jakiejś zmiennej przypisać kilka innych zmiennych (na przykład: "$a lub $b albo $c"), które przybierały by wartości dopiero w chwili wywołania pierwszej zmiennej.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 22:41 |