vega_osa
29.01.2009, 19:39:47
Może ktoś z was znajdzie w tym błąd, bądz może moje złe rozumowanie.
Chodzi o to:
Mam dwie tabele:
studenci (id, imie, nazwisko,kierunek ...... )
oceny (ido, ocena, idp(przedmiot), id(student), data )
Mam formularz w który wpisujemy imie i nazwisko i teraz poprzez zatwierdzenie powinna wyskoczyc nam tabela danych z połączenia ze sobą oceny i studenci.
Czyli np. interesuja mnie wszystkie informacje o JANIE KOWALSKIM , wiec wpisuje JAN KOWALSKI w formularz i już.
No ale poniższy kod nie działa i nie mam zielonego pojęcia dlaczego.
<?php
mysql_connect ("localhost","user","password");
mysql_query ("use test...");
$nazwisko=$_POST["nazwisko"];
$imie=$_POST["imie"];
echo"
<form method=post>
<table border=2>
<tr><th><b> WPISZ DANE STUDENTA </b> </th><tr>
<tr><th>nazwisko: <center> <input type=text name=nazwisko></tr>
<tr><th>imie: <center> <input type=text name=imie></tr>
</table>
<input type=submit name=akcja value=Zatwierdz><BR>
</form>";
if($_POST["akcja"] == "Zatwierdz")
{
{$q=mysql_query("select id,nazwisko,imie,album,kierunek,data_ur,plec,rok_studiow,ocena,idp,data
from studenci inner join oceny on studenci.id=oceny.id
where nazwisko=$nazwisko,imie=$imie group by id");}
echo "<table border=13>";
echo "<tr> <th> id </th><th> nazwisko </th><th> imie </th><th> album </th><th> kierunek </th><th> data_ur </th><th> plec </th><th> rok studiow </th>
<th> ocena </th><th> idp </th><th> data </th><tr>";
echo "<ol>";
while (list($id, $nazwisko, $imie, $album, $kierunek, $data_ur, $plec, $rok_studiow, $ocena, $idp, $data )=mysql_fetch_array($q))
{echo"<tr><td> $id </td><td> $nazwisko </td><td> $imie </td><td> $album </td>
<td> $kierunek </td><td> $data_ur </td><td> $plec </td><td> $rok_studiow </td>
<td> $ocena </td><td> $idp </td><td> $data </td></tr>";
}
echo"</ol>";
echo"</table>";
}
?>
ayeo
29.01.2009, 19:43:28
Witaj na forum!
To Twój pierwszy post więc przymykam oko. Zapoznaj się z regulaminem, proszę. Uzupełnij swojego posta o brakujące znaczniki BBcode. Poza tym piszesz nie w tym dziale co trzeba i używasz caps locka w tytule, który nic nikomu nie mówi o Twoim problemie. Przenoszę na Przedszkole. Następnym razem temat zamknę bez ostrzeżenia.
Pozdrawiam!
kefirek
29.01.2009, 20:06:20
Zobacz może tak
<?php
if(isset($_POST['submit'])){
or
die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
or
die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
$wynik = mysql_query("SELECT s.*, o.* FROM oceny o LEFT JOIN studenci s ON o.id=s.id WHERE imie='".$_POST['imie']."' AND nazwisko='".$_POST['nazwisko']."'") or
die('Błąd zapytania'); <tr> <th> id </th><th> nazwisko </th><th> imie </th><th> album </th><th> kierunek </th><th> data_ur </th><th> plec </th><th> rok studiow </th>
<th> ocena </th><th> idp </th><th> data </th><tr>
<ol>
<tr><td>".$r['id']."</td><td>".$r['nazwisko']."</td><td>".$r['imie']."</td><td>".$r['album']."</td>
<td>".$r['kierunek']."</td><td>".$r['data_ur']."</td><td>".$r['plec']."</td><td>".$r['rok_studiow']."</td>
<td>".$r['ocena']."</td><td>".$r['idp']."</td><td>".$r['data']."</td></tr>
</ol>
</table>";
} else { echo 'Brak danych do wyswietlania.';}
} else {
echo "<form name='test' method='post' action='".basename($_SERVER['PHP_SELF'])."'> <table cellpadding='0' cellspacing='0' class='center'>
<tr>
<td colspan='2'>WPISZ DANE STUDENTA </td>
</tr>
<tr>
<td>Nazwisko:</td><td><input type='text' name='nazwisko'></td>
</tr>
<tr>
<td>Imie:</td><td><input type='text' name='imie'></td>
</tr>
<tr>
<td colspan='2'><input type='submit' name='submit' value='Zatwierdz'></td>
</table>
</form>";
}
?>
vega_osa
29.01.2009, 21:52:17
Dziekuje kefirek.....problemem było to, że w "WHERE" nie wyszczególnia sie warunków po przecinku, a używa się poprostu AND i o to chodziło

pozdro