Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL/php] Nazwa artykułu w tytule strony..., EDIT: obicążenie serwera przez to???
Vitoss
post
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 17.03.2005

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


Chciałbym w tytule strony wyświetlać nazwę poszczególnego artykułu. Niestety, nie wiem do końca jak to zrobić worriedsmiley.gif

Wpisy artykułów są przechowywane dajmy na to w nazwa w artykul

Tworzę zatem kod:
  1. <?php
  2. $sql = mysql_query("SELECT nazwa from artykul");
  3. $tytul = mysql_fetch_array($sql);
  4. ?>

i w polu title, gdzie powinien sie wyswietlac tytul daje:
  1. <?php
  2. echo $tytul;
  3. ?>

ale wyswietla sie wtedy w tytule napis "Array" tam, gdzie powinien byc tytuł każdego artykulu... Jak to zrobić, żeby wszystko działało, a przeglądając pozostałe strony - poza artykułami, te pole było puste? Porszę o pomoc. Pozdrawiam.

Ten post edytował Vitoss 2.06.2006, 14:27:55


--------------------
=)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
nospor
post
Post #2





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




Przyjrzyj sie, co zwraca Twoja funkcja:
http://pl.php.net/manual/pl/function.mysql-fetch-array.php
a potem zadawaj pytania na forum. Polecam moj podpis smile.gif
A potem zobacz w manualu jak sie dobrac do danych


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

"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
-Gość-
post
Post #3





Goście







mysql_fetch_array zwraca tablice asocjacyjna - zrob cos z tym.
Go to the top of the page
+Quote Post
Vitoss
post
Post #4





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 17.03.2005

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


Bazowałem na rozwiązaniu z tego skryptu - kiedy wyświetlał tytuł w treści - jednak w innym w pliku... Nie jestem orłem w php, zatem nie wychodzi mi to najlepiej sad.gif

Przejrzałem manual php - chodzi może o funkcję mysql_field_name - można dzięki niej uzyskać taki efekt?


Przepraszam, wiem, że wydaje się to uciążliwe - na pewno z Waszego punktu widzenia takie błędy są niedopuszczalne i banalne, jednak z php zbyt wiele nie miałem do czynienia - dlatego widać kwiatki...


--------------------
=)
Go to the top of the page
+Quote Post
-Gość-
post
Post #5





Goście







  1. <?php
  2. $sql = mysql_query("SELECT nazwa from artykul");
  3. ?>

To zapytanie zwroci nazwy wszystkich artykulow, bo nie ma zadnego warunku. Wiec przede wszystkim jak ma byc tylko jedna nazwa to zmien pytanie, czyli dodaj jakis warunek WHERE nazwa= ...
Pozniej pobierz dane za pomoca mysql_fetch_array.
Go to the top of the page
+Quote Post
Vitoss
post
Post #6





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 17.03.2005

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


Dzięki ślicznie smile.gif

Rozwiązałem to w ten sposób:

  1. <?php
  2. $id = htmlspecialchars(intval(@$_GET['id']));
  3.  
  4. $1="SELECT nazwa FROM kategoria WHERE id='$id'";
  5. $2=mysql_query($1);
  6. $kat=$cat["nazwa"]." - ";
  7.  
  8.  $pyt = "SELECT nazwa FROM artykul WHERE id='$id'";
  9.  $wnk = mysql_query($pyt);
  10.  $tenr = @mysql_fetch_array($wnk);
  11.  $artykl=$tenr["name"]." - ";
  12. ?>

Został tylko jeden malutki problem - może moglibyście coś doradzić... winksmiley.jpg Otóż chciałbym, żeby tytuły wyświetlały się w takiej formie: Tytuł materiału/Tytuł kategorii - Strona tytuł, bleble. Dlatego dałem te myślniki w zmiennych - jednak jak zmienna jest pusta (np. na stronie głównej), to wyświetlają się same te myślniki - i wszystko wygląda dosyć kiepsko (np. - - Strona, bleble). Jak można to poprawić?


--------------------
=)
Go to the top of the page
+Quote Post
-Gość-
post
Post #7





Goście







Mozesz dac jakies isset, czyli jak cos jest wyczytane z bazy do niech daje taki tytul, jak sam poczatek to inny.
Go to the top of the page
+Quote Post
Vitoss
post
Post #8





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 17.03.2005

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


Chciałem się jeszcze zapytać, czy takie rozwiązanie nie obciąża strasznie serwera ani bazy - np. jeśli w bazie jest duża liczba wpisów (ponad kilka tysięcy)? Nie będzie przez to problemów z prawidłowym działaniem strony i długością jej wczytywania?


EDIT: Po utworzeniu tej funkcji, zauważyłem, że strona chodzi wolniej, aż niedawno doszło do tego, że Czas ładowania strony: 54.337 - czy to jest wina tego skryptu - skoro w bazie jest kilka tysięcy wpisów?

Ten post edytował Vitoss 2.06.2006, 14:26:39


--------------------
=)
Go to the top of the page
+Quote Post
em1X
post
Post #9





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


A od kiedy to mozna stosowac zmienne $1 czy $2 ? biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif


Ps.. pieknie to zrobiles.. jedna instrukcja w 13 linijkach..
Ps2: po co traktujesz funkcją htmlspecialchars liczbę ? lol przeciez to bez sensu

  1. <?php
  2. $id = intval(@$_GET['id']);
  3.  
  4. $sql = mysql_query("select nazwa from kategoria where id = '$id'");
  5. $tytuł = mysql_result($sql, 0) . "-";
  6. ?>


--------------------
eh, co polska wódka to polska wódka
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 Aktualny czas: 20.08.2025 - 01:32