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ą.
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 ^^