Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyswietlenie wynikow z kilku tabel, pomocy
Forum PHP.pl > Forum > Przedszkole
sylsaw
mam pytanie najpierw chcialbym wyszukac kogos po nazwisku a nastepnie wyswitlic wszystko co jest z nim zwiazane z kilku tabel , na poczatek z dwoch.

  1. <html>
  2. <head>
  3. <meta http-equiv=\"Content-type\" content=\"text/html; charset=iso-8859-2\" />
  4. </head>
  5. <body bgcolor=\"#B0CEB5\" leftmargin=\"20\" topmargin=\"20\">
  6. <?
  7. include('config.php');
  8. // połączenie z bazą danych
  9. $db =mysql_connect($sqlhost,$sqluser,$sqlpass) or
  10. die(&#092;"Nie mogę połączyć się z mysql\");
  11. // wybór bazy danych
  12. mysql_select_db(&#092;"ss\") or
  13. die(&#092;"Nie mogę połączyć się z bazą danych\");
  14.  
  15. $wynik = mysql_query (&#092;"Select * from autor,tematy Where autor.idAutora = tematy.idautora Like '%{$_POST[\"szukaj\"]}%'\")
  16. or die (&#092;"błąd w zapytaniu\");
  17. ?>
  18. <?php
  19. while ($rekord = mysql_fetch_array ($wynik))
  20.  {
  21. $IdAutora = $rekord[0];
  22.  $Nazwisko = $rekord[1];
  23.  $Imie = $rekord[2];
  24.  $NumerAlbumu = $rekord[3];
  25.  $Kierunek = $rekord[4];
  26.  $Specjalnosc = $rekord[5];
  27.  $Temat = $rekord[6];
  28.  $NumerPracy = $rekord[7];
  29.  
  30.  
  31.  
  32. Echo(&#092;"<hr size=\"2\" color=\"black\" align=\"center\">
  33. <table width=&#092;"98%\" border=\"0\">
  34. <tr><td width=&#092;"10%\">IdAutora:</td><td width=\"90%\"><b>$IdAutora</b></td></tr>
  35. <tr><td width=&#092;"10%\">Nazwisko:</td><td width=\"90%\"><b>$Nazwisko</b></td></tr>
  36. <tr><td width=&#092;"10%\">Imie:</td><td width=\"90%\"><b>$Imie</b> </td></tr>
  37. <tr><td width=&#092;"10%\">NumerAlbumu:</td><td width=\"90%\"><b>$NumerAlbumu</b></td></tr>
  38. <tr><td width=&#092;"10%\">Kierunek:</td><td width=\"90%\"><b>$Kierunek</b></td></tr>
  39. <tr><td width=&#092;"10%\">Specjalnosc:</td><td width=\"90%\"><b>$Specjalnosc</b></td></tr>
  40. <tr><td width=&#092;"10%\">Temat:</td><td width=\"90%\"><b>$Temat</b></td></tr>
  41. <tr><td width=&#092;"10%\">NumerPracy:</td><td width=\"90%\"><b>$NumerPracy</b></td></tr>
  42.  
  43.  
  44.  
  45.  
  46. </table>&#092;");
  47.  
  48.  }
  49. $result = mysql_query($sql, $db);
  50.  
  51. echo(&#092;"<br /><a href=\"index.htm\">strona główna</a>\");
  52. ?>
  53. </body>
  54. </html>
nospor
po pierwsze: nie podales w czym problem. ja wie, ale ktoś kto nie bral udzialu w porzednich twych tematach może nie wiedzieć

po drugie: znowu masz na koncu niepotrzebnie mysql_query. A mowilem żebyś usunął.

po trzecie: zapytanko tak powinno wyglądać:
  1. <?php
  2.  
  3. $wynik = mysql_query (&#092;"Select * from autor,tematy Where autor.idAutora = tematy.idautora and autor
    .
  4. azwa Like '%{$_POST[\"szukaj\"]}%'\");
  5.  
  6. ?>
Raz masz idautora raz idAutora. Tak ma być? Przyjąlem że szukasz po nazwa w autor.
sylsaw
a no tak poprostu blad w zapytaniu mi wyskakuje, a z tym mysql_query to poprostu zapomnialem jak mi zaczelo dzialac, z tym idAutora masz racje,poprawilem

  1. <html>
  2. <head>
  3. <meta http-equiv=\"Content-type\" content=\"text/html; charset=iso-8859-2\" />
  4. </head>
  5. <body bgcolor=\"#B0CEB5\" leftmargin=\"20\" topmargin=\"20\">
  6. <?
  7. include('config.php');
  8. // połączenie z bazą danych
  9. $db =mysql_connect($sqlhost,$sqluser,$sqlpass) or
  10. die(&#092;"Nie mogę połączyć się z mysql\");
  11. // wybór bazy danych
  12. mysql_select_db(&#092;"ss\") or
  13. die(&#092;"Nie mogę połączyć się z bazą danych\");
  14.  
  15. $wynik = mysql_query (&#092;"Select * from autor,tematy Where autor.idAutora = tematy.idAutora and autor
    .
  16. azwisko Like '%{$_POST[\"szukaj\"]}%'\")
  17. or die (\"błąd w zapytaniu\");
  18. ?>
  19. <?php
  20. while ($rekord = mysql_fetch_array ($wynik))
  21.  {
  22. $IdAutora = $rekord[0];
  23.  $Nazwisko = $rekord[1];
  24.  $Imie = $rekord[2];
  25.  $NumerAlbumu = $rekord[3];
  26.  $Kierunek = $rekord[4];
  27.  $Specjalnosc = $rekord[5];
  28.  $Temat = $rekord[6];
  29.  $NumerPracy = $rekord[7];
  30.  
  31.  
  32.  
  33. Echo(&#092;"<hr size=\"2\" color=\"black\" align=\"center\">
  34. <table width=&#092;"98%\" border=\"0\">
  35. <tr><td width=&#092;"10%\">IdAutora:</td><td width=\"90%\"><b>$IdAutora</b></td></tr>
  36. <tr><td width=&#092;"10%\">Nazwisko:</td><td width=\"90%\"><b>$Nazwisko</b></td></tr>
  37. <tr><td width=&#092;"10%\">Imie:</td><td width=\"90%\"><b>$Imie</b> </td></tr>
  38. <tr><td width=&#092;"10%\">NumerAlbumu:</td><td width=\"90%\"><b>$NumerAlbumu</b></td></tr>
  39. <tr><td width=&#092;"10%\">Kierunek:</td><td width=\"90%\"><b>$Kierunek</b></td></tr>
  40. <tr><td width=&#092;"10%\">Specjalnosc:</td><td width=\"90%\"><b>$Specjalnosc</b></td></tr>
  41. <tr><td width=&#092;"10%\">Temat:</td><td width=\"90%\"><b>$Temat</b></td></tr>
  42. <tr><td width=&#092;"10%\">NumerPracy:</td><td width=\"90%\"><b>$NumerPracy</b></td></tr>
  43.  
  44.  
  45.  
  46.  
  47. </table>&#092;");
  48.  
  49.  }
  50. $result = mysql_query($sql, $db);
  51.  
  52. echo(&#092;"<br /><a href=\"index.htm\">strona główna</a>\");
  53. ?>
  54. </body>
  55. </html>


terz wyszukuje mi juz ale nie podaje mi nazwy tematu i numeru pracy tylko jakies inne liczby,
nospor
exclamation.gif!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ostatni raz mówię!!!!! usuń mysql_query z konca skryptu. To jest bŁędna rzecz.
exclamation.gif!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Co do tematu to pewnie nie jest pod indexem 6. Użyj mysql_fetch_assoc (spójrz do manuala jak użyc) i odwoluj się poprzez nazy pól a nie indexy
sylsaw
o tym mysql guery zapomnialem , bo jak zaczelo dziailac wtedy to juz,

a teraz to moze wygladac mniej wiecej tak jeszcze nie sprawdzalem

//while ($rekord = mysql_fetch_assoc ($wynik))
  1. <?php
  2.  {
  3. echo $row[&#092;"IdAutora\"];
  4.  echo $row[&#092;"IdAutora\"];
  5.  echo $row[&#092;"ImieIdAutora\"];
  6.  echo $row[&#092;"NumerAlbumuIdAutora\"];
  7.  echo $row[&#092;"KierunekIdAutora\"];
  8.  echo $row[&#092;"SpecjalnoscIdAutora\"];
  9.  echo $row[&#092;"TematPracyIdAutora\"];
  10.  echo $row[&#092;"NumerPracyIdAutora\"];
  11. }
  12. ?>
nospor
No tak, tyko po co wykomentowales while i dales przed bbcode?
I poco dwa razy idAutora wypisywać?
  1. <?php
  2.  
  3. while ($rekord = mysql_fetch_assoc ($wynik))
  4. {
  5. echo $row[&#092;"IdAutora\"];
  6. echo $row[&#092;"ImieIdAutora\"];
  7. echo $row[&#092;"NumerAlbumuIdAutora\"];
  8. echo $row[&#092;"KierunekIdAutora\"];
  9. echo $row[&#092;"SpecjalnoscIdAutora\"];
  10. echo $row[&#092;"TematPracyIdAutora\"];
  11. echo $row[&#092;"NumerPracyIdAutora\"];
  12. }
  13.  
  14. ?>
sylsaw
  1. <html>
  2. <head>
  3. <meta http-equiv=\"Content-type\" content=\"text/html; charset=iso-8859-2\" />
  4. </head>
  5. <body bgcolor=\"#B0CEB5\" leftmargin=\"20\" topmargin=\"20\">
  6. <?
  7. include('config.php');
  8. // połączenie z bazą danych
  9. $db =mysql_connect($sqlhost,$sqluser,$sqlpass) or
  10. die(&#092;"Nie mogę połączyć się z mysql\");
  11. // wybór bazy danych
  12. mysql_select_db(&#092;"ss\") or
  13. die(&#092;"Nie mogę połączyć się z bazą danych\");
  14.  
  15. $wynik = mysql_query (&#092;"Select * from autor,tematy Where autor.idAutora = tematy.idAutora and autor
    .
  16. azwisko Like '%{$_POST[\"szukaj\"]}%'\")
  17. or die (\"błąd w zapytaniu\");
  18. ?>
  19. <?php
  20. while ($rekord = mysql_fetch_assoc ($wynik))
  21.  {
  22. echo $row[&#092;"IdAutora\"];
  23.  echo $row[&#092;"Nazwisko\"];
  24.  echo $row[&#092;"Imie\"];
  25.  echo $row[&#092;"NumerAlbumu\"];
  26.  echo $row[&#092;"Kierunek\"];
  27.  echo $row[&#092;"Specjalnosc\"];
  28.  echo $row[&#092;"TematPracy\"];
  29.  echo $row[&#092;"NumerPracy\"];
  30.  
  31.  
  32. Echo(&#092;"<hr size=\"2\" color=\"black\" align=\"center\">
  33. <table width=&#092;"98%\" border=\"0\">
  34. <tr><td width=&#092;"10%\">IdAutora:</td><td width=\"90%\"><b>$IdAutora</b></td></tr>
  35. <tr><td width=&#092;"10%\">Nazwisko:</td><td width=\"90%\"><b>$Nazwisko</b></td></tr>
  36. <tr><td width=&#092;"10%\">Imie:</td><td width=\"90%\"><b>$Imie</b> </td></tr>
  37. <tr><td width=&#092;"10%\">NumerAlbumu:</td><td width=\"90%\"><b>$NumerAlbumu</b></td></tr>
  38. <tr><td width=&#092;"10%\">Kierunek:</td><td width=\"90%\"><b>$Kierunek</b></td></tr>
  39. <tr><td width=&#092;"10%\">Specjalnosc:</td><td width=\"90%\"><b>$Specjalnosc</b></td></tr>
  40. <tr><td width=&#092;"10%\">TematPracy:</td><td width=\"90%\"><b>$TematPracy</b></td></tr>
  41. <tr><td width=&#092;"10%\">NumerPracy:</td><td width=\"90%\"><b>$NumerPracy</b></td></tr>
  42.  
  43.  
  44.  
  45.  
  46. </table>&#092;");
  47.  
  48.  }
  49.  
  50. echo(&#092;"<br /><a href=\"index.htm\">strona główna</a>\");
  51. ?>
  52. </body>
  53. </html>


teraz mi nic nie wyswietla niestety
nospor
Bo wyszukujesz po $_POST["szukaj"]. A masz wogóle tą wartość ustawioną? Daj echo $_POST["szukaj"]; i zobacz czy się coś wyświetli (tylko przed zapytaniem daj).
Poza tym dla każdego rekordu generujesz tabelkę. To celowe zamierzenie? A nie lepiej raz tabelkę i tylko wiersze dokładać?
sylsaw
ale wczesnie mi po tym post szukalo, bylo ok, a teraz nie chce
nospor
wcześniej robileś zapytanie na jednej tabeli, teraz na dwóch. Najwyraźniej warunek nie jest spełniony, czyli nie masz w tabeli tematy autora o nazwisko z szukaj.

No i dla świętego spokoju daj te echo $_POST['szukaj']; żeby się upewnić, czy na pewno jest ok
sylsaw
mam tabele tematy i w niej idAutora, i tabele autor i tam tez jest idAutora, jak wpisuje zeby mi wyszukal osobe o jakims tam nazwisku, to chce zeby pobral mi dane z tabeli tematy i tabeli autor, normlanie juz nie moge, z tym post jest oki
nospor
Ja wiem ze w tabeli tematy masz pole idAutora. Ale może nie ma tam autora którego szukasz.

daj poza tym tak:
  1. <?php
  2.  
  3. $sql= &#092;"Select * from autor,tematy Where autor.idAutora = tematy.idAutora and autor
    .
  4. azwisko Like '%{$_POST[\"szukaj\"]}%'\";
  5. echo $sql;
  6.  
  7. ?>
to co ci wyswietli wstaw np do phpmyadmin i zobacz czy coś ci zwróci (jakies rekordy)
sylsaw
nic sie nie wyswietla, ale on nie ma po nazwisku podac tylko przez id, w tematach jest id autor i tam i na podstawie tego chce by mi podal reszte danych
nospor
po jakim id jak głównym warunkiem jest nazwisko. po id to tylko tabele sie lączy.

jak to nić nie wyświetla ? A gdzie to wstawiles? pokaz caly kod
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.