Strona 1 z 1

Funkcja IF

Napisane: wtorek, 5 kwietnia 2011, 19:05
przez Lenson
Czy w funkcji if w warunku mogę użyc pętli for ?

chodzi mi o to:

Code: Zaznacz cały

if(($row3['nazwisko']) ==[b] ($row5['nazwisko'])[/b])
					{
						echo "<td>0</td>";	
					}					
					else
					{
						echo "<td>".$row5['ocena']."</td>";
					}
W tym wypadku musial bym przeszukac cała zmienna $row5
Albo czy jest funkcja w ktorej np moge sprawdzic , czy np
to co jest w $row3['nazwisko'] znajduje sie w $row5['nazwisko'])

Informacje

Code: Zaznacz cały

$result3 = mysql_query("SELECT nazwisko FROM uczniowie") or die("Nie udalo sie pobrac danych");
$result5 = mysql_query("select DISTINCT uczniowie.nazwisko, uczniowie.imie, oceny.ocena, przedmioty.nazwa from oceny,uczniowie,przedmioty where uczniowie.id = oceny.id_ucznia and przedmioty.id = oceny.id_przedmiotu and przedmioty.nazwa = 'Polski';") or die("Nie udalo sie pobrac danych");	

$row3 = mysql_fetch_array($result3);
$row5 = mysql_fetch_array($result5);

Re: Funkcja IF

Napisane: wtorek, 5 kwietnia 2011, 21:22
przez Morfidon
If nie jest funkcją.

Code: Zaznacz cały

 If (warunek) 
to instrukcja warunkowa.
Nie możesz jako warunek użyć pętli. Ale w ciele pętli możesz oczywiście dać warunki.

Re: Funkcja IF

Napisane: wtorek, 5 kwietnia 2011, 22:06
przez Lenson
To może inaczej ,bo siedze juz dzis nad tym troche i nie moge nic wymyslec ^^

http://dropmocks.com/mTVBM
mam tak wygladajaca tabelke

Baza danych:
Dziennik
uczniowie
id
Nazwisko
Imie
przedmioty
id
nazwa
oceny
id
id_przedmiotu
id_ucznia
ocena

i teraz potrzebuje zrobic taki myk , żeby mi wypisywał w odpowiednich rubrykach odpowiednie oceny
chodzi o to
ze np
stolarek Andrzej ma 3 z angielskiego , 3 z polskiego 2 z matematyki i np z niemieckiego nie ma jeszcze wystawionej oceny
i teraz musze zrobic tak , zeby mi to wpisalo w te rubryki w poziomie , tak samo
Stolarek Maciej nie ma z angielskiego nic wystawione jeszcze ale ma za to z polskiego i matematyki 2

tam gdzie nie ma nic ustawione niech wpisuje 0

jakies propozycje ?

Dodam jeszcze że te przedmioty dodawane sa automatycznie jezeli w bazie jest dodany przedmiot

Code: Zaznacz cały

//Funkcja do wpisywania nazw przedmiotów jako nagłówków tabeli
	 echo"<table border='1' cellspacing='0' cellpadding='3'>";
 		echo "<tr  align='center'>";
		echo "<th>Nazwisko</th>";
		echo "<th>Imie</th>";
			for ($i = 0; $i < mysql_num_rows($result2); $i++)
			{
				$row2 = mysql_fetch_array($result2);
				echo "<th>".$row2['nazwa']."</th>";
			}
		echo "</tr>";
 //-----------------------------------------------------------------------------------//

Re: Funkcja IF

Napisane: wtorek, 5 kwietnia 2011, 22:43
przez Morfidon
Pierwsza myśl:
Zrób dwie tablice, które będą przetrzymywać odpowiednio tymczasowo id oraz nazwe uprzednio pobranych przedmiotów z tabeli przedmioty.
Następnie pobierz wszystkich uczniów z tabeli uczniowie. Utwórz pętle, która przejdzie przez "każdego ucznia" wypisując imię, nazwisko. W tej samej pętli pobierz z bazy danych przy pomocy id_ucznia wszystkie jego oceny z tabeli oceny + stwórz pętlę w pętli, która będzie przechodziła przez długość tablicy tymczasowej, która przechowuje id oraz nazwe przedmiotów. Porównuj id_przedmiotu z tymczasowej tablicy do id_przedmiotu z tabeli oceny, co pozwoli Ci wypisać z tymczasowej tablicy odpowiednią nazwę oraz ocenę.

Re: Funkcja IF

Napisane: wtorek, 5 kwietnia 2011, 23:29
przez Lenson
Troszkę zamieszane :> Nie do konca rozumiem

Re: Funkcja IF

Napisane: środa, 6 kwietnia 2011, 09:25
przez Morfidon
Przeczytaj to wolniej to zrozumiesz ;) Zamieniaj kolejno każde zdanie na programistyczną wersję. Jeśli popatrzysz się na to z miną "wtf" i nie spróbujesz to raczej tego nigdy nie napiszesz, próbuj ;)

Re: Funkcja IF

Napisane: środa, 6 kwietnia 2011, 12:46
przez Lenson
Spoko spoko ^^ Trochę mi podpowiedziałeś że mogę użyć do tego tablice. Z tym że jednak chyba opracuje swój własny kodzik który będzie działał podobnie ^^