Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Zapytanie złożone, ale nie wychodzi...
ddiieesseell
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 3.09.2008

Ostrzeżenie: (0%)
-----


Witam wszystkich.

Mam prośbę o pomoc, ponieważ nie potrafię poprawnie skonstruować zapytania do dwóch tabel.

Tabela 1 (t1) kolumny: nazwa, pesel, uj, egp1, egp2, egp3

Tabela 2 (t2) kolumny: termin, przedmiot

Głównym założeniem jest to żeby wyświetliło osobę której pesel zgadza się z GET, i wyświetlenie uj, egp1, egp2, egp3, egp4 i obok nich odpowiedniego terminu (z t2) gdzie przedmiot=uj i egp1..3 (takie przypasowanie terminów do przedmiotów)

Mam takie coś:

Kod
SELECT * FROM matury, terminy WHERE matury.pesel=$_GET[pesel] AND terminy.przedmiot=matury.uj AND terminy.przedmiot=matury.egp1 AND terminy.przedmiot=matury.egp2 AND terminy.przedmiot=matury.egp3


ale nie zwraca mi żadnego wyniku.

Pomocy!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
nexis
post
Post #2





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

Ostrzeżenie: (0%)
-----


Możesz zaprezentować przykładowe dane i co chciałbyś otrzymać, bo po twoich skrótach oznaczeń pól nie mogę zrozumieć problemu.
Go to the top of the page
+Quote Post
tomm
post
Post #3





Grupa: Zarejestrowani
Postów: 142
Pomógł: 28
Dołączył: 7.04.2008

Ostrzeżenie: (0%)
-----


jeden z błędów to nie $_GET[pesel] tylko $_GET['pesel']
druga rzecz: w tabeli matury pesel jaki ma typ?
Go to the top of the page
+Quote Post
ddiieesseell
post
Post #4





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 3.09.2008

Ostrzeżenie: (0%)
-----


matury ma np:

nazwa: jan kowalski

pesel:12345678901

uj:Język angielski

egp1 Bioloiga

egp2 Geografia

egp3 brak

(i inne podobne rekordy)

a w terminy:

przedmiot: Język angielski termin: 01-01-2001 8:30

Przedmiot: Biologia termin: 01-02-2001 9:30

Przedmiot: Geografia termin: 01-03-2001 11:20

Przedmiot: Chemia termin: 01-04-2001 12:30

i inne przedmioty i terminy



a pesel ma typ bigint(12)
Go to the top of the page
+Quote Post
tomm
post
Post #5





Grupa: Zarejestrowani
Postów: 142
Pomógł: 28
Dołączył: 7.04.2008

Ostrzeżenie: (0%)
-----


musiałbyś mieć we wszystkich tych polach terminy.przedmiot, matury.uj, matury.egp1, matury.egp2 i matury.egp3 tą samą wartość np. angielski żeby coś zwróciło. Natomiast jeśli chodzi ci o to by zwróciło wyniki gdy choć jedno pole z tabeli matury będzie zgodne z terminy.przedmiot to użyj OR zamiast AND.

SELECT * FROM matury, terminy WHERE matury.pesel=$_GET[pesel] AND (terminy.przedmiot=matury.uj OR terminy.przedmiot=matury.egp1 OR terminy.przedmiot=matury.egp2 OR terminy.przedmiot=matury.egp3)

Zanim wprowadzisz jakieś zmiany wrzuć sobie linijkę
echo mysql_error()
po wywołaniu mysql_query()
Go to the top of the page
+Quote Post
ddiieesseell
post
Post #6





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 3.09.2008

Ostrzeżenie: (0%)
-----


We wszystkich polach mam te same wartości (znaczy zestaw z terminy.przedmioty zgadza się z matury.egp1...3)

Ale chodzi mi o to żeby wyszystkie terminy mi dopasowało do przedmiotów i wyświetliło właściwy termin przy właściwym przedmiocie.

W tym momencie przy przedmiotach wyświetlana jest ta sama data.

CODE

<?php

$db = mysql_connect ("localhost", "login", "hasło");
mysql_select_db ("baza1");
$wykonaj = mysql_query ("SELECT * FROM matury, terminy WHERE matury.pesel=$_GET[pesel] AND (terminy.przedmiot=matury.uj OR terminy.przedmiot=matury.egp1 OR terminy.przedmiot=matury.egp2 OR terminy.przedmiot=matury.egp3 OR terminy.przedmiot=matury.egp4)");

while($wiersz=mysql_fetch_array ($wykonaj)) {

echo "

<table border=\"0\" width=\"90%\" align=\"center\">
<tr>
<td colspan=\"4\">Egzaminy abiturienta:</td>
</tr>
<tr>
<td colspan=\"2\" nowrap><b>".$wiersz['nazwa']."</b></td>
<td align=\"right\">PESEL:</td>
<td nowrap><b>".$wiersz['pesel']."</b></td>
</tr>
<tr>
<td colspan=\"4\">&nbsp;</td>
</tr>
<tr>
<td colspan=\"4\">Egzaminy ustne:</td>
</tr>
<tr>
<td nowrap>Język polski:</td>
<td colspan=\"2\" nowrap>Termin: <b>".$wiersz['upo']."</b></td>
<td>Sala:<b> ".$wiersz['upos']."</b></td>
</tr>
<tr>
<td nowrap>".$wiersz['uj']."</td>
<td colspan=\"2\" nowrap>Termin: <b>".$wiersz['ujo']."</b></td>
<td>Sala:<b> ".$wiersz['ujos']."</b></td>
</tr>
<tr>
<td colspan=\"4\">&nbsp;</td>
</tr>
<tr>
<td colspan=\"4\" nowrap>Egzaminy pisemne:</td>
</tr>
<tr>
<td nowrap>Język polski:</td>
<td colspan=\"2\" nowrap>Termin: <b>".$wiersz['termin']."</b></td>
<td>Sala:<b>".$wiersz['ppos']."</b></td>
</tr>
<tr>
<td nowrap><b>".$wiersz['uj'].":</b></td>
<td colspan=\"2\" nowrap>Termin: <b>".$wiersz['termin']."</b></td>
<td>Sala:<b> ".$wiersz['pjos']."</b></td>
</tr>
<tr>
<td nowrap><b>".$wiersz['egp1']."</b></td>
<td colspan=\"2\" nowrap>Termin: <b>".$wiersz['termin']."</b></td>
<td>Sala:<b> ".$wiersz['egp1s']."</b></td>
</tr>
<tr>
<td nowrap><b>".$wiersz['egp2']."</b></td>
<td colspan=\"2\" nowrap>Termin: <b>".$wiersz['termin']."</b></td>
<td>Sala:<b> ".$wiersz['egp2s']."</b></td>
</tr>
<tr>
<td nowrap><b>".$wiersz['egp3']."</b></td>
<td colspan=\"2\" nowrap>Termin: <b>".$wiersz['termin']."</b></td>
<td>Sala:<b> ".$wiersz['egp3s']."</b></td>
</tr>
<tr>
<td nowrap><b>".$wiersz['egp4']."</b></td>
<td colspan=\"2\" nowrap>Termin: <b>".$wiersz['termin']."</b></td>
<td>Sala:<b> ".$wiersz['egp4s']."</b></td>
</tr>
<tr>
<td colspan=\"4\">&nbsp;</td>
</tr>
<tr>
<td colspan=\"4\">Uwagi:</td>
</tr>
<tr>
<td colspan=\"4\"><b>".$wiersz['uwagi']."</b></td>
</tr>
</table>

";}
mysql_close ($db);
?>


Ten post edytował ddiieesseell 4.09.2008, 13:48:01
Go to the top of the page
+Quote Post
--tomm--
post
Post #7





Goście







mógłbyś wrzucić tutaj jakiś screen z tabeli matury, choćby z 2, 3 rekordy?
Go to the top of the page
+Quote Post
ddiieesseell
post
Post #8





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 3.09.2008

Ostrzeżenie: (0%)
-----


Dam kod w htmlu zawartości tej tabelki bo nie chce mi się dołączać zdjęć.

CODE


<table>

<tr><td>nazwa</td><td> pesel </td><td>upo </td><td>upos</td><td> ujo </td><td>ujos</td><td> uj </td><td>ppos </td><td>pjo </td><td>pjos </td><td>egp1 </td><td>egp1s </td><td>egp2</td><td> egp2s</td><td> egp3</td><td> egp3s </td><td>egp4</td><td> egp4s</td><td> uwagi </td></tr>

<tr><td>Jan Kowalski</td>
<td> 89000000000</td>
<td> 2008-01-01 00:30:00</td><td> 7</td><td> 2008-01-01 01:30:00 </td><td>5 </td><td>Język niemiecki </td><td>7 </td><td>2008-08-08 05:30:00 </td><td>15</td><td> Biologia </td><td>7 </td><td>Fizyka i astronomia </td><td>56 </td><td>Chemia </td><td>12 </td><td>brak</td><td> 0 </td></tr> 

<tr><td>Janina Nowak </td>
<td>89000000123 </td>
<td>2008-05-06 08:30:00 </td><td>114</td><td> 2008-05-19 10:00:00</td><td> 207 </td><td>Język angielski </td><td>7 </td><td>2008-05-03 00:00:00 </td><td>107 </td><td>Chemia</td><td> 7 </td><td>Biologia </td><td>7 </td><td>Fizyka i astronomia</td><td> 207 </td><td>brak </td><td>0 </td><td>dysleksja</td></tr>

</table>







Czy ktoś mi pomoże? Jestem naprawdę zdesperowany!!!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 19:17