Początkujący_
10.06.2005, 06:12:28
Witam.
Mam w bazie danych trzy tabele:
Ocena->ocena,ocena_slownie;
Przedmiot->symbol,przedmiot;
StopnieUczniow->id,przedmiot,ocena
Chcę zrobić teraz coś takiego aby mieć dwie listy wybru, w pierwszej wybierać przedmiot a w drugiej ocenę (oczywiście te wartości z odpowiednich tabeli) i zapisać te wartości do trzeciej tabeli.
Doszedłem do czegoś takiego, ale niestety nie działa. POMOCY!
<?
session_start();
echo "<h1>Obsada przedmiotów</h1>";
if(session_is_registered("prawid_uzyt"))
{
$connection = mysql_connect("localhost", $legitymacja , $haslo );
mysql_select_db("szkola", $connection);
if ($co == 'dodaj')
{
if ($d1 && $d1)
{
$query = "insert into stopnieuczniow (id, ocena, ocena_slownie) values ('', '$d1', '$d2')";
$wynik = mysql_query ($query, $connection);
}
}
$wynik = mysql_query ("SELECT * FROM przedmiot", $connection) or die ("błąd w pytaniu");
$wynik2 = mysql_query ("SELECT * FROM ocena", $connection) or die ("błąd w pytaniu");
Print "<form method=\"POST\" name=\"co\" value=\"dodaj\"><p>
<select size=\"1\" name=\"D1\" >";
while ($rekord = mysql_fetch_row ($wynik))
{
$symbol = $rekord[1];
Print "<option>$symbol</option>\n";
}
print "</select><select size=\"1\" name=\"D2\">";
while ($rekord2 = mysql_fetch_row ($wynik2))
{
$ocena = $rekord2[1];
Print "<option>$ocena</option>\n";
}
print "</select><input type=\"submit\" value=\"Zrób to\" name=\"B1\"></p></form>";
}
echo "<a href=\"uwierz_glowny.php\">Powrót do strony głównej</a>";
?>
SongoQ
10.06.2005, 08:54:32
OK czyli brakuje Ci tylko zapisu do tabeli wiazacej.
Ja bym zrobil troszeczke inaczej ze w tabeli StopnieUczniow masz id, id_przedmiot,id_ocena
i tam bym zapisywal id wybranych ocen i przedmiotow.
Początkujący_
10.06.2005, 09:57:31
Dzięki.
Już poradziłem sobie
Ale czy wie ktoś może jak zrobić aby w polu listy w jednym wierszu wyświetlały się dwie wartości z tabeli?
Konkretnie chodzi mi o to, że w tabeli mam dwie kolumny: Imię i Nazwisko
Jak zrobić aby na liście obok imienia było wyświetlone jednocześnie nazwisko?
Darill
10.06.2005, 10:23:37
bylo by milo jak bys podal konkretny scryp ...
prawdopodobnie bedzie tak
$sql = "SELECT imie, nazwisko FROM $tablela ";
$result = @mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
$imie = $row['imie'];
$nazwisko = $row['nazwisko'];
$wynik .= "$nazwisko, $imie, <br>";
}
Początkujący_
10.06.2005, 12:33:54
Mam tabelę o nazwie nauczyciel a w niej trzy kolumy: pesel_n, nazwisko, imię.
Jak zmodyfikować ten skrypt aby w liście wyboru mieć nazwisko oraz imię a nie tylko pesel?
function selectDistinct ($connection)
{
$distinctQuery = "SELECT DISTINCT pesel_n FROM nauczyciel";
$resultId = @ mysql_query ($distinctQuery, $connection);
$i = 0;
while ($row = @ mysql_fetch_array($resultId))
$resultBuffer[$i++] = $row[pesel_n];
echo "\n<select name=\"a1\">";
foreach ($resultBuffer as $result)
echo "\n\t<option>$result";
echo "\n</select>";
}
echo "\n Nauczyciel: ";
selectDistinct($connection, "a1");
SongoQ
10.06.2005, 19:00:33
<?php
function selectDistinct ($connection)
{
$distinctQuery = \"SELECT DISTINCT nazwisko, imie FROM nauczyciel\";
$resultId = @ mysql_query ($distinctQuery, $connection); $i = 0;
$resultBuffer[$i++] = $row['.nazwisko.'].' '.$row['.imie.'];
echo \"n<select name=\"a1\">\"; foreach ($resultBuffer as $result)
echo \"nt<option>$result\"; echo \"n</select>\"; }
echo \"n Nauczyciel: \"; selectDistinct($connection, \"a1\");
?>