![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 20.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
Jak w temacie mam problem z prostym menu motoryzacyjnym.
Idea jest prosta : Nazwa działu : -wyniki z bazy Nazwa dziala: -wyniki z bazy itd... wyniki sa w roznych tabelach poukladane tematycznie. tabele maja nazwy nie nadajace sie do wykorzystania w "nazwa dzialau", stad sa wrzucone do jednej tabeli typ i z niej pobieram id dla calosci.
Moze banalny problem, ale przy wyswietlaniu wcina mnie pierwszy wiersz z tabeli. Jak usune warunek wyswietlania nazwy " if(count($rzad1)>1){ $menu.=" <p>Układ hamulcowy : </p>"; }" to wyswietla poprawnie. Nie bardzo rozumiem dlaczego tak to sie odbywa i bede wdzieczny za wyjasnienie. Stad pytanie, jak w najprostszy sposob usystematyzowac to menu ? Z gory dzieki za pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ilu Was jeszcze popełni ten bład? Bo już takich jak ty było setki....
$rzad1 = mysql_fetch_array($result1); Przecież tu pobierasz ten pierwszy rekord. Skoro go pobierasz i go nie wyświetlasz to logiczne ze go tracisz... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 20.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
Ilu Was jeszcze popełni ten bład? Bo już takich jak ty było setki.... $rzad1 = mysql_fetch_array($result1); Przecież tu pobierasz ten pierwszy rekord. Skoro go pobierasz i go nie wyświetlasz to logiczne ze go tracisz... da rade jakos przesunac wskaznik na poczatek tablicy przy nastepnym pobraniu? masz jakis pomysl jak prosto rozwiazac moje menu? btw. nie rozumiem w takim razie samego dzialania funkcji mysql_fetch_array. Z tego co wyczytalem w manualu, to funkcja zapisuje do tablicy ($rzad1) ktora podstawimy wyniki z zapytania sql ($result1). W takim razie dlaczego pobieram 1 rekord? Zrozumialem to jako przypisanie wyniku do tablicy, a nie wywolanie tablicy... sry za banal, ale chce sie czegos nauczyc. pzdr - jeden z setek. edit: ok moze inaczej sformuluje pytanie : jak sprawdzic zawartosc zwroconego wyniku przez sql. Czy sa rekordy czy nie ? edit2: poradzilem sobie z efektem koncowym, ale chcialbym pisac sensownie, a ten kod wyglada mnie nie za bardzo. Stad prosba o podpowiedzenie, czy mozna to zrobic prosciej, czy sa jakies funkcje minimalizujace kod. Chodzi o to czy moge ominac ten temat nie wysylajac dodatkowego zapytania do bazy o ilosc rekordow i czy da sie to zrobic z poziomu php. Z gory dzieki. Kod function pokazMenu(){
require "dane.inc.php"; require "polacz.inc.php"; $menu= NULL; $query = "SELECT * FROM typ ORDER BY idTyp"; $query1 = "SELECT * FROM ukladhamulcowy ORDER BY idUkladHamulcowy"; $query11 = "SELECT count(*) FROM ukladhamulcowy"; $query2 = "SELECT * FROM ukladchlodzenia ORDER BY idUkladChlodzenia"; $result = mysql_query($query, $conn) or die(mysql_error()); $result1 = mysql_query($query1, $conn) or die(mysql_error()); $result11 = mysql_query($query11, $conn) or die(mysql_error()); $result2 = mysql_query($query2, $conn) or die(mysql_error()); if($result){ while($rzad = mysql_fetch_array($result)){ if($result11){ $ilosc_rekordow11 = mysql_fetch_row($result11); if($ilosc_rekordow11>0){ $menu.=" <p>Układ hamulcowy : </p>"; } if($result1){ while($rzad1 = mysql_fetch_array($result1)){ $menu.=" <p><a class='test' href='bleble'".$rzad['idTyp'].">".$rzad1['nazwa']."</a></p>"; } } } } echo "$menu"; } Ten post edytował hildek 20.02.2013, 19:41:15 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) ![]() ![]() |
-------------------- Szanuj innych czas! Kliknij
![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście mysql_num_rows jest jak najbardziej poprawnym rozwiązaniem. Niemniej, w przypadkach, kiedy niezależnie od ilości zwróconych wyników chcemy ZAWSZE te wyniki odczytać i dopiero potem przetwarzać, można zrobić to np. tak:
Choć oczywiście mysql_num_rows z reguły będzie lepszym rozwiązaniem. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 04:19 |