Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pytanie w zwiazku z przekazywaniem zmiennej
Forum PHP.pl > Forum > Przedszkole
wierus
hej, mam takie pytanko prosbe w zwiazku z php... bo sam nie moge jakos wpasc na nic. mam sobie taki kod
"mysql_select_db ("Panstwa_swiata") or die('NIe mozna polaczyc sie z baza ');
$wynik = mysql_query ("SELECT * FROM dane ORDER BY Panstwo aSC;") or die("blad w pytaniu");



print"<TABLE BGCOLOR='#90C0F0' align='center' width='80%'>";

php?><br>
<center>
<b><font size="+5">Lista panstw w bazie danych </font></b></center>
</B><br>
<br>
<?php
while($rekord = mysql_fetch_array ($wynik)){


$nazwa = $rekord[Panstwo];
?><a href="index.php?plik=dane.php" ><?print"<TR><TD><B>$nazwa<B></TD></TR>";


?></a><?



}
print"</TABLE>";


php?></td>
</tr>
</table>

</body>"

w skrocie wyswietla na stronie liste panstw z bazy danych. i teraz chcialbym zeby mozna bylo kliknac na nazwe tego panstwa i zeby pobralo dane o tym panstwie i je wyswietlilo. da sie to zrobic dynamicznie?
bo nie wiem jak przekazac do pliku dane.php (gdzie mialyby byc wyswietlone dane danego panstwa) zawartosc zmiennej $nazwa. czyli nie wiem jak zrobic by kod w dane.php wiedzial jakie panstwo zostalo klikniete w lista_panstw.php i jaki rekord ma odszukac w bazie i go poszukac. to wszystko musi byc dynamiczne.. czyli ewentualnie po dodaniu nowego pasntwa zeby tez je wyswietlilo i tez umialo wyswietlic jego dane po kliknieciu na nie
z gory dzieki za pomoc
Ar2r
Hej,
Po prostu przekaż ten parametr w linku. Po co przekazujesz nazwę pliku jako parametr. Spróbuj odwołać się bezpośredni do niego, np.
<a href="dane.php?nazwa=$nazwa">
wierus
hmmm. tylko jak teraz odczytac wartosc tej zmiennej? w pliku dane.php?
bo powiedzmy, ze na lista_panstw.php wyswietlila mi sie lista dostepnych panstw, kliknalem na afganistan, i teraz otwiera mi sie strona dane.php i jak daje tam cos takiego "<? print"$nazwa";?>" to na stronie wyswietla mi $nazwa a nie jej wartosc.... sorki za te pewnie lamerskie pytania, ale to moj pierwszy kontakt z php.
sf
Używaj kolorwania składni. Popatrz na inne posty. Zresztą gdybyś je obejrzał to byś znał odpowiedź bo często tam jest zawarty Twój problem.

  1. <?php
  2. echo $nazwa;
  3. // lub jezeli masz, a powinienes miec wylaczone zmienne globalne
  4. echo $_GET['nazwa'];
  5. ?>



Co do drugiego Twojego posta (tego co zamkneli jak pisałem odpowiedź tongue.gif) :

Używaj echo zamiast print, tagi html lepiej pisać z małych liter, dzięki temu wszystko jest czytelniejsze. Wyświetl sobie zawartość $rekord i zobacz co jest nie tak.
  1. <?php
  2. print_r($rekord);
  3. ?>

Bleh! Już wiem co źle zrobiłeś...
  1. <?php
  2. $rekord = mysql_fetch_row ($wynik) // brak średnika !!!
  3. ?>

Włącz sobie obsługę błędów w pliku php.ini, albo na początku pliku poprzez umieszczenie:
  1. <?php
  2. ?>

Wtedy będziesz wiedział co jest nie tak zawsze.
wierus
dzieki za porady...
Przekazywalem nazwe pliku jako parametr zeby calosc wyswietlala mi sie jako 'czesc' pliku index. Bo teraz jesli przekazuje nazwe do nowej stronki dane.php to juz otwiera mi sie inna stronka... ale juz wpadlem, ze moze poradze sobie z tym za pomoca include.

jednak ponizszy kod
  1. <?php
  2. echo $_GET['nazwa'];
  3. ?>

niestety nie daje efektow... wyswietla mi sie pusta strona..(znaczy same tlo).
I teraz zastanawiam sie czy ponizszy kod
  1. <?while($rekord = mysql_fetch_array ($wynik))//fragment pobierajacy z bazy pojedynczy wiersz
  2. {
  3.  
  4.  $nazwa = $rekord[Panstwo];?>//przepisanie do zmiennej danej komorki wyciagnietej z bazy danych
  5. <a href=\"dane.php?nazwa=$nazwa\"><?print&#092;"<TR><TD><B>$nazwa<B></TD></TR>\";?></a>//wyswietlenie zmiennej razem z uczyniniem z niej linka
  6. ?>

spelni swoje zadanie. MOze mam problem z 'wyobrazeniem sobie dzialania php', ale zastanawiam sie czy po tym jak zostanie wyswietlona zawartosc komorek 'panstwo' i uzytkownik kliknie na dane panstwo(a wiec link) to czy zmienna $nazwa bedzie zawierac wartosc odpowiadajaca miejscu klikniecia(czyli ktos np kliknal na Polska to czy w zmiennej $nazwa bedzie znajdowac sie wartosc Polska? ) czy tez w zmiennej $nazwa bedzie ostatnia wartosc komorki po wyjsciu z petli while? (czyli np zambia)
Ar2r
Po wyjściu z pętli zmienna $nazwa będzie zawierać ostatnia wartosc komorki czyli jak podajesz zambia. Twój problem polega na tym, że link do pliku dane umieściłeś poza tagami <? ?>
Powinno być:
  1. <?
  2. while($rekord = mysql_fetch_array ($wynik)){             
  3. $nazwa = $rekord[Panstwo];//przepisanie do zmiennej danej komorki wyciagnietej z bazy danych
  4. print(&#092;"<tr><td><a href='dane.php?nazwa=$nazwa'>$nazwa</a></td></tr>\");
  5. }
  6. ?>
wierus
wszystko juz dziala!!! Po prostu wielkie dzieki!! sam bym sobie chyba nie poradzil.... przynajmniej nie tak szybko!!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.