Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobieranie z bazy i wielokrotne wykorzystanie tego, nie mogę "pożyczyć" z już pobranego
IIFF
post 11.12.2011, 23:22:06
Post #1





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 4.11.2008

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


Chciałbym w title wstawić nazwę użytkownika, wykorzystując to że już napisałem komendę pobierającą z bazy kolumnę z użytkownikiem.

  1. $wynik=mysql_query("SELECT * FROM uzytkownik WHERE id='$idkey'");
  2.  
  3. if(mysql_num_rows($wynik) > 0)
  4. {
  5. while($r = mysql_fetch_array($wynik))
  6. echo ''.$r['login'].'<br>
  7. Zarejestrowany: '.$r['data'].'';
  8. }
  9.  
  10. W title daję:
  11.  
  12. [php]<title><?php echo $r['login']; ?></title>


Ale wygląda że nie mogę tak zrobić, bo zamiast loginu w title wyświetla link do strony.

A i jeszcze jedno, do czego jest przydatne w ogóle mysql_fetch_array? Przecież pobieram z bazy za pomocą, mysql_query, czy nie jest to walenie kota za pomocą młota? Trochę tego nie rozumiem, ale jako początkujący być może o czymś nie wiem. Kto mnie oświeci?

Ten post edytował IIFF 11.12.2011, 23:22:44
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
mis
post 11.12.2011, 23:23:57
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 2
Dołączył: 25.04.2010

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


echo ''.$r['login'].'<br>
Zarejestrowany: '.$r['data'].'';


lepiej:

echo $r['login'].' <br> Zarejestrowany: '.$r['data'];

i tutaj normalnie podaje nick?
Go to the top of the page
+Quote Post
IIFF
post 12.12.2011, 00:01:35
Post #3





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 4.11.2008

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


Tak, tam podaje, ale w title nie, podejrzewam że przez to że title mam w osobnym "<?php", ale po co takie utrudnienia?
Go to the top of the page
+Quote Post
mis
post 12.12.2011, 00:08:22
Post #4





Grupa: Zarejestrowani
Postów: 71
Pomógł: 2
Dołączył: 25.04.2010

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


sam sobie odpowiedziałeś na pytanie smile.gif


zmienne 'normalne' można wykorzystywać tylko i wyłącznie w danym pliku php, chyba że zrobić include.

pokaż najlepiej obydwa pliki, najlepiej całe, wtedy może jakoś pomożemy.
Go to the top of the page
+Quote Post
IIFF
post 12.12.2011, 01:24:25
Post #5





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 4.11.2008

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


Cytat(mis @ 12.12.2011, 00:08:22 ) *
sam sobie odpowiedziałeś na pytanie smile.gif


?


Cytat(mis @ 12.12.2011, 00:08:22 ) *
zmienne 'normalne' można wykorzystywać tylko i wyłącznie w danym pliku php, chyba że zrobić include.


Napisałem, w title jedno <?php, drugie w body, ale to ten sam plik!

Proszę, kod:

  1. <title><?php echo $r['login']; ?></title>
  2. <link rel="stylesheet" type="text/css" media="all" href="./style.css" />
  3. </head>
  4.  
  5. <body>
  6. <?php include('./top.php');?>
  7. <div id="main">
  8.  
  9. <div id="container" style="border-top: 4px solid #505053; background: #fff url(i/user256.png) left top no-repeat; min-height: 256px;">
  10.  
  11. <?php
  12. include 'db.php'; // połączenie się z bazą danych
  13.  
  14. $idkey = $_GET['id'];
  15.  
  16. $wynik=mysql_query("SELECT * FROM uzytkownik WHERE id='$idkey'");
  17.  
  18. if(mysql_num_rows($wynik) > 0)
  19. {
  20. while($r = mysql_fetch_array($wynik))
  21. echo '<b>'.$r['login'].'</b><br>
  22. Zarejestrowany: '.$r['data'].'';
  23. }
  24.  
  25. ?>


Ten post edytował IIFF 12.12.2011, 04:03:00
Go to the top of the page
+Quote Post
redeemer
post 12.12.2011, 10:33:21
Post #6





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


W title próbujesz wyswietlić login z wyniku zapytania, które wykonujesz dopiero później.


--------------------
Go to the top of the page
+Quote Post
IIFF
post 12.12.2011, 16:41:51
Post #7





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 4.11.2008

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


Rozumiem sedno błędu, ale pytam jak zaincludować(czy można zaincludować? Wykorzystać to drugi raz?) by nie musieć robić bałaganu w kodzie - dodawać kilka razy to samo? I czy ma wpływ to że jest w innym <?php, czy tylko dlatego nie działa że jest "przed zapytaniem" a sekcja <?php nie ma żadnego wpływu....?

?

Ten post edytował IIFF 12.12.2011, 15:16:56
Go to the top of the page
+Quote Post
lukesh
post 12.12.2011, 16:57:40
Post #8





Grupa: Zarejestrowani
Postów: 113
Pomógł: 14
Dołączył: 25.08.2006

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


Wykorzystać zmienną drugi raz możesz tylko wtedy, kiedy ta zmienna istnieje. Nie możesz jej wykorzystać u góry, bo jej wcześniej nie ma. Skrypt jest czytany od góry w dół.

Powinienes najpierw pobrać dane o użytkowniku, zapisać je do zmiennej i dopiero potem wykorzystać. Najpierw wstawisz zmienną w tytule, a potem w dalszej części kodu.

Ten post edytował lukesh 12.12.2011, 16:58:53


--------------------
Edumemo.pl - Nauka Języków Obcych
Go to the top of the page
+Quote Post
IIFF
post 12.12.2011, 17:54:46
Post #9





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 4.11.2008

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


Jeszcze jedno: po co do diabła dodano coś takiego jak: mysql_fetch_array questionmark.gif Przecież zapytanie wykonuje mysql_query'em, wystarczy później tylko echo'em wydrukować tą zmienną i powinno wyświetlać, ale nie, krzyczy że błąd. Nie mogę tego pojąć...

Ja się pytam: Czy to pełni jakąś dokładną funkcję ważną o której nie wiem, czy poprostu dodane zostało tak, żeby poprostu nauka php nie była taka łatwa?

Ten post edytował IIFF 12.12.2011, 17:56:02
Go to the top of the page
+Quote Post
nospor
post 12.12.2011, 17:56:51
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Tak cięzko doczytać w manualu co zwraca i co robi mysql_query oraz mysql_fetch_array() a nie zadawać równie idiotyczne pytania?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
IIFF
post 12.12.2011, 18:02:06
Post #11





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 4.11.2008

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


Uspokój się, proszę, weź głęboki wdech. Czytałem to wszystko, chodzi mi o logikę, bo że to utrudnienie i tak trzeba, bo tak mogę zrozumieć, ale nie widzę tutaj logiki.
Go to the top of the page
+Quote Post
lukesh
post 12.12.2011, 18:02:43
Post #12





Grupa: Zarejestrowani
Postów: 113
Pomógł: 14
Dołączył: 25.08.2006

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


Cytat(IIFF @ 12.12.2011, 17:54:46 ) *
Ja się pytam: Czy to pełni jakąś dokładną funkcję ważną o której nie wiem, czy poprostu dodane zostało tak, żeby poprostu nauka php nie była taka łatwa?

Mysql_query zwraca true lub false, mysql_fetch_array zwraca tablicę wyników, a jesli chcesz tylko jeden wiersze, wtedy użyj mysql_fetch_row.

Mysql_query wykonuje zapytania, ale go poniekąd nie przechwytuje. Z mysql_query dowiesz się, czy zapytanie się udało. Wyobraź sobie, że oprócz wybierania z bazy danych, dane można też dodawać - i co wtedy miałoby wyświetlić mysql_query? Dlatego ta funckaj służy do określenia, czy zapytanie zostało wykonane, czy nie. Potem te dane musisz przechwycić innymi funkcjami.

Teraz rozumiesz "logikę"?

Ten post edytował lukesh 12.12.2011, 18:03:31


--------------------
Edumemo.pl - Nauka Języków Obcych
Go to the top of the page
+Quote Post
nospor
post 12.12.2011, 18:14:08
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Uspokój się, proszę, weź głęboki wdech. Czytałem to wszystko, chodzi mi o logikę, bo że to utrudnienie i tak trzeba, bo tak mogę zrozumieć, ale nie widzę tutaj logiki.
Po czytaniu Twoich ostatnich tematów na forum odnoszę wrażenie że mało w czym widzisz logikę. Może ty też trochę się uspokuj i przed założoniem kolejnego tematu/postu zastanów się jednak trochę nad nim.

Cytat
Mysql_query zwraca true lub false
Zwraca też RESOURCE.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 15:08