Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]jak wyświetlić zmienną ?
mr_Bart
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 15.11.2010

Ostrzeżenie: (0%)
-----


Witam,
może mi ktoś powiedzieć jak wyświetlić taką zmienną ?

echo "$r['name']";

wyskakuje błąd; wiem, że zadziała jak będzie bez znaczków '' '' echo $r['name']; , ale chce, żeby te znaczki były.
Dzięki
Go to the top of the page
+Quote Post
kill15
post
Post #2





Grupa: Zarejestrowani
Postów: 184
Pomógł: 14
Dołączył: 21.12.2010

Ostrzeżenie: (0%)
-----


co to za zmienna wgl (IMG:style_emoticons/default/questionmark.gif)
tablica (IMG:style_emoticons/default/questionmark.gif) czy może chodzi ci o ściągnięcie z formularza (IMG:style_emoticons/default/questionmark.gif) podaj wiecej kodu albo opisz dobrze
Go to the top of the page
+Quote Post
Bags_Bunny
post
Post #3





Grupa: Zarejestrowani
Postów: 262
Pomógł: 39
Dołączył: 12.04.2004

Ostrzeżenie: (0%)
-----


  1. echo "{$r['name']}";

Ale po co? To nie ma żadnego sensu. Może potrzeba Ci konkatenacji?
Go to the top of the page
+Quote Post
mr_Bart
post
Post #4





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 15.11.2010

Ostrzeżenie: (0%)
-----


Więcej kodu:

if($wynik->num_rows > 0) {
while ($r= $wynik->fetch_assoc() ) {
echo $r['nazwa_uz'] ;
echo $r['name'] ;
echo $r['data'] ;

to działa, tylko chciałbym wyświetlić jeszcze html, np tak:

echo "Name - user - data : <b>$r['name'] <small>($r['nazwa_uz']) - $r['data']</small></b><br>";

i przy takim echo wyskakuje błąd.

Ten post edytował mr_Bart 9.05.2011, 20:50:16
Go to the top of the page
+Quote Post
kadlub
post
Post #5





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

Ostrzeżenie: (0%)
-----


  1. echo $r['name']." twój html";

kropka służy do łączenia

Ten post edytował kadlub 9.05.2011, 20:52:17
Go to the top of the page
+Quote Post
mat-bi
post
Post #6





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

Ostrzeżenie: (0%)
-----


@kadlub, jeśli już takich używasz, to można:

  1.  
  2. echo "Coś tam, $zmienna, coś tam";

, co ci wywali na wyjście:

  1. Coś tam, wartość_zmiennej, coś tam


Ten post edytował mat-bi 9.05.2011, 20:54:30
Go to the top of the page
+Quote Post
kadlub
post
Post #7





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

Ostrzeżenie: (0%)
-----


tak ale tak jak na pisałem jest czytelniej.
a i jeszcze jedno kiedys tak robiłem jak Ty napisałeś ale ktoś mi na tym forum powiedział że takie wstawianie zmiennej jak ja pokazałem jest traktowane przez php od razu jako zmienna a nie najpierw jako tekst a później jako zmienna z czego wynika że skrypt działa nieznacznie szybciej

Ten post edytował kadlub 9.05.2011, 20:57:39
Go to the top of the page
+Quote Post
mat-bi
post
Post #8





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

Ostrzeżenie: (0%)
-----


Jest tak:

  1.  
  2. echo 'Coś tam, '.$zmienna.', coś tam';
  3. //zamiennie
  4. echo "Coś tam, $zmienna, coś tam";
  5. //lub
  6. echo "Coś tam, ".$zmienna.", coś tam";


Jeśli już używasz konkatenacji, lepiej użyć zwykłych ''
Go to the top of the page
+Quote Post
kill15
post
Post #9





Grupa: Zarejestrowani
Postów: 184
Pomógł: 14
Dołączył: 21.12.2010

Ostrzeżenie: (0%)
-----


A nie tak się to robi?:

  1. echo 'Name - user - data : <b> "'.$r['name'].'" <small>("'.$r['nazwa_uz'].'") - "'.$r['data'].'"</small></b><br>';
Go to the top of the page
+Quote Post
kadlub
post
Post #10





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

Ostrzeżenie: (0%)
-----


Cytat(mat-bi @ 9.05.2011, 21:00:16 ) *
Jest tak:

  1.  
  2. echo 'Coś tam, '.$zmienna.', coś tam';
  3. //zamiennie
  4. echo "Coś tam, $zmienna, coś tam";
  5. //lub
  6. echo "Coś tam, ".$zmienna.", coś tam";


Jeśli już używasz konkatenacji, lepiej użyć zwykłych ''

tutaj się zgodzę jeśli chodzi o przeplatanie HTML z PHP to lepiej używać apostrofu bo wtedy nie trzeba stosować backslash np do jakiś atrybutów HTML
Go to the top of the page
+Quote Post
sadistic_son
post
Post #11





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Ustosunkowując się do pierwszego postu to nie najprościej tak:
  1. echo "$r[name]";
(IMG:style_emoticons/default/questionmark.gif)

Ten post edytował sadistic_son 9.05.2011, 21:39:24
Go to the top of the page
+Quote Post
mat-bi
post
Post #12





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

Ostrzeżenie: (0%)
-----


Można jeszcze prościej:

  1. echo $r[name];


(IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
sadistic_son
post
Post #13





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cytat(mat-bi @ 9.05.2011, 22:39:49 ) *
Można jeszcze prościej:

  1. echo $r[name];


(IMG:style_emoticons/default/smile.gif)

Ale to Ci nie zadziała (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
mat-bi
post
Post #14





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

Ostrzeżenie: (0%)
-----


Jak nie:

  1. <?php
  2. $r = array('name' => 'test');
  3.  
  4. echo $r[name];


na wyjściu:

  1. test


(IMG:style_emoticons/default/tongue.gif)

@EDIT:
Chociaż ja radzę:

  1. echo $r['name'];


Przynajmniej notice'a nie wywala przy włączonym raportowaniu błędów (IMG:style_emoticons/default/smile.gif)

Ten post edytował mat-bi 9.05.2011, 21:44:59
Go to the top of the page
+Quote Post
thek
post
Post #15





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A więc... Najszybciej jest jako:
  1. echo 'Coś tam, '.$zmienna.', coś tam';
choć wszystkie zapisy są w tamtym poście poprawne i różnice między nimi z racji coraz większych usprawnień PHP są już powoli niemal nieistotne.
Niepoprawne jest $r[name] ponieważ w takim wypadku name jest traktowane jako STAŁA, ale php "się domyśla", że chodzi o nazwę indeksu, w locie zamienia ją na $r['name'] i rzuca warning a wynik wyświetla. To cała filozofia za tym stojąca.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.09.2025 - 19:51