Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] Select z MySQL do PHP
pikasso
post
Post #1





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 8.07.2008
Skąd: Warszawa

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


Hej mam takie pytanie mam takie zapytanie w MySQL
  1. SELECT klient.Imie, klient.Nazwisko, klient.Ulica, miasto.Nazwa, miasto.Kod,
  2. wojewodztwo.Nazwa, telefon.Numer_telefonu, telefon.rodzaj_telefonu
  3. FROM `klient` , `wojewodztwo` , `miasto` , `telefon` WHERE telefon.widoczność = 'Tak';


i chciałbym je przekształcić do PHP tak żeby mi pokazywało wyniki no ale cały czas mam błąd. Wiem że jestem laikiem w tych sprawach no ale cóż kazdy kiedyś zaczynał (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

  1. <?php
  2. @$db = mysql_pconnect("localhost", "root", "123456z");
  3. if (!$db)
  4. {  
  5. print '<center style="font-size:12px">wystapil blad w polaczeniu</center>';  
  6. exit;
  7. }
  8. mysql_select_db("kst2008"); 
  9. $query = "SELECT * FROM `ksiazkaa`"; 
  10. $result = mysql_query($query);
  11. $num_results = mysql_num_rows($result);
  12.  
  13. print '<p align="center" style="font-size:12px">';
  14. print 'Ilosc wyników wyszukiwania: ".$num_results."</p>';
  15. for ($i=0; $i <$num_results; $i++) {
  16. $row = mysql_fetch_array($result);
  17.  print '<table width="250" border="0" align="center" style="font-size:12px">';
  18.  print "<tr>";
  19.  print '<td width="100" bgcolor="#9EB4FC">Pozycja</td>';
  20.  print '<td width="150">'; 
  21.  print($i+1)."."; print"</td>";
  22.  print "</tr>";
  23.  print "<tr>";
  24.  print '<td width="100" bgcolor="#9EB4FC">Imie: </td>';
  25.  print '<td width="150">'; 
  26.  print stripslashes($row["imie"]); print"</td>";
  27.  print "</tr>";
  28.  print "<tr>";
  29.  print '<td width="100" bgcolor="#9EB4FC">Nazwisko: </td>';
  30.  print '<td width="150">'; 
  31.  print stripslashes($row["nazwisko"]); print "</td>";
  32.  print "</tr>";
  33.  print "<tr>";
  34.  print '<td width="100" bgcolor="#9EB4FC">Miejscowosc: </td>';
  35.  print '<td width="150">'; 
  36.  print stripslashes($row["Miasto"]); print "</td>";
  37.  print "</tr>";
  38.  print "<tr>";
  39.  print '<td width="100" bgcolor="#9EB4FC">Kod pocztowy: </td>';
  40.  print '<td width="150">'; 
  41.  print stripslashes($row["Kod"]); print "</td>";
  42.  print "</tr>";
  43.  print "<tr>";
  44.  print '<td width="100" bgcolor="#9EB4FC">Ulica: </td>';
  45.  print '<td width="150">'; 
  46.  print stripslashes($row["Ulica"]); print "</td>";
  47.  print "</tr>";
  48.  print "<tr>";
  49.  print '<td width="100" bgcolor="#9EB4FC">Nr Telefonu: </td>';
  50.  print '<td width="150">'; 
  51.  print stripslashes($row["Numer"]); print "</td>";
  52.  print "</tr>";
  53.  print "</table>";
  54.  print "<br>"; 
  55.  }
  56.  print "<br>"; 
  57.  print "<br>"; 
  58.  print '<p align="center" style="font-size:10px">Copyright C by Rafal Krasniej 2008</p>';
  59. ?>


Tak wygląda o to błąd
Cytat
</p align=\"center\" style=\"font-size:10px\"></p align=\"center\" style=\"font-size:12px\">
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\Ks\kscala.php on line 36
Ilosc wyników wyszukiwania: ".$num_results."


a mimo jak usunę ta linie i poprawię żeby nie zliczało tych numerów to nadal nie wyświetla mi wyników. </p align=\"center\" style=\"font-size:10px\"></p align=\"center\" style=\"font-size:12px\">

Ten post edytował pikasso 8.07.2008, 18:15:04
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
no ale cały czas mam błąd. Wiem że jestem laikiem
W mysleniu tez jestes laikiem? Skoro masz blad to go pokaz

edit
no to masz blad zapytania.
zrob to:
http://nospor.pl/php-faq-n29.html#faq-6
Go to the top of the page
+Quote Post
pikasso
post
Post #3





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 8.07.2008
Skąd: Warszawa

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


sorki że zdublowałem temat no ale dalej nie potrafię wykonać połączenia tych tabel. Mogli byście mi chociaż trochę pomóc chociaż pokazać jak mogło by to wyglądać a to co podał mi użytkownik: nospor porostu nie potrafię tego wykorzystać. No ale i tak z góry dzięki bo dużo zrobiłem.

Wiec mam wielka prośbę. Mógłby mi ktoś to zapisać z połączeniami jako zapytanie php tego selecta
  1. SELECT klient.Imie, klient.Nazwisko, klient.Ulica, miasto.Nazwa, miasto.Kod, wojewodztwo.Nazwa,
  2. telefon.Numer_telefonu, telefon.rodzaj_telefonu
  3. FROM `klient` , `wojewodztwo` , `miasto` , `telefon` WHERE telefon.widoczność = 'Tak';


Ten post edytował pikasso 8.07.2008, 20:19:15
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no ale czego nie umiesz wykorzystac? Nie umiesz napisac: or die('Zapytanie: '.$sql.' --- błąd: '.mysql_error());
(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) No bez jaj....

  1. <?php
  2. //....
  3. $result = mysql_query($query) or die('Zapytanie: '.$query.' --- błąd: '.mysql_error());
  4. //...
  5. ?>
Go to the top of the page
+Quote Post
pikasso
post
Post #5





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 8.07.2008
Skąd: Warszawa

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


ok wyrzuciło taki oto błąd:

Zapytanie: SELECT klient.Imie, klient.Nazwisko, klient.Ulica, miasto.Nazwa, miasto.Kod, wojewodztwo.Nazwa, telefon.Numer_telefonu, telefon.rodzaj_telefonu FROM `klient` , `wojewodztwo` , `miasto` , `telefon` WHERE telefon.widocznosc = 'Tak'; --- blad: Unknown column 'telefon.widocznosc' in 'where clause'

Ten post edytował pikasso 8.07.2008, 20:23:05
Go to the top of the page
+Quote Post
phpion
post
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Stawiałbym raczej na polskie znaki w nazwie kolumny bo dane wybierasz również z tabeli telefon.
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




raz masz widocznosc a raz widoczność
zdecyduj sie bo nie wiem czy to literowki teraz robisz czy naprawde tak masz.

lub jak mowi phpion wywal z nazw tabel te krzaki
Go to the top of the page
+Quote Post
pikasso
post
Post #8





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 8.07.2008
Skąd: Warszawa

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


faktycznie w bazie danych miałem widoczność zmieniłem na widocznosc i zobaczymy jaki będzie efekt

Ten post edytował pikasso 8.07.2008, 20:36:33
Go to the top of the page
+Quote Post
pikasso
post
Post #9





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 8.07.2008
Skąd: Warszawa

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


Faktycznie zmieniło się nie wyskakuje błąd. Dzięki wielkie.
Ale teraz gdy włączyłem żeby wyświetliło mi wyniki to wyświetliło mi 432 puste wyniki nie wiem czemu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) możne coś w bazie namieszałem.

Kurcze... nie wiem czemu w tym nowym zapytaniu mi niby błędu nie wyrzuca ale nie wyświetla wyników tylko puste pola a pole numerowane (kolejność) normalnie jest liczone i wyświetlane

Ten post edytował pikasso 8.07.2008, 20:47:33
Go to the top of the page
+Quote Post
Pride
post
Post #10





Grupa: Zarejestrowani
Postów: 139
Pomógł: 11
Dołączył: 31.01.2005
Skąd: Bydgoszcz

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


Tak w sumie na marginesie, ale czy nie "prościej" byłoby dać to w 1 echo " "; niż rozdrabniać każdą linijkę osobno? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
pikasso
post
Post #11





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 8.07.2008
Skąd: Warszawa

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


Wiesz ja jestem bardzo początkującym i tak jestem zadowolony z tego co mi tutaj udało się naskrobać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Wszystko się wzoruję na jakichś tutkach i staram się napisać coś sam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
kaem
post
Post #12





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

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


No ale widzę, że pobierasz wszystko z tabeli książka, a wyświetlasz takie dane jak: imię, nazwisko, miasto, ulica itd, które masz w innych tabelach (wnioskując po tym twoim pierwszym zapytaniu, tj)
  1. SELECT klient.Imie, klient.Nazwisko, klient.Ulica, miasto.Nazwa, miasto.Kod,
  2. wojewodztwo.Nazwa, telefon.Numer_telefonu, telefon.rodzaj_telefonu
  3. FROM `klient` , `wojewodztwo` , `miasto` , `telefon` WHERE telefon.widoczność = 'Tak';
  4. ?>


Ten post edytował kaem 9.07.2008, 08:02:53
Go to the top of the page
+Quote Post
pikasso
post
Post #13





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 8.07.2008
Skąd: Warszawa

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


No tak tylko że teraz nie mam żadnego błędu w zapytaniu a mimo to nie widzę wyników chociaż w PhpMyAdmin są widoczne te wyniki w takiej samej liczbie w zależności od zapytania.

oto kod PHP a pod spodem zamieszczam obrazek
  1. <?php
  2. @$db = mysql_pconnect("localhost", "root", "123456z");
  3. if (!$db)
  4. {  
  5. print '<center style="font-size:12px">wystapil blad w polaczeniu</center>';  
  6. exit;
  7. }
  8. mysql_select_db("kst2008");
  9. mysql_query('SET CHARSET latin2'); 
  10. $query = "SELECT klient.Imie, klient.Nazwisko, klient.Ulica, miasto.Nazwa, miasto.Kod
    , wojewodztwo.Nazwa, telefon.Numer_telefonu, telefon.rodzaj_telefonu
  11. FROM `klient` , `wojewodztwo` , `miasto` , `telefon` WHERE telefon.widocznosc = 'Tak' 
  12. AND wojewodztwo.idWojewodztwo = '14';"; 
  13. $results = mysql_query($query);
  14. $num_results = mysql_num_rows($results);
  15.  
  16. print '<p align="center" style="font-size:12px">';
  17. print "Znaleziono osob w ksiazce: ".$num_results."";
  18. print "<br>";
  19.  
  20. for ($i=0; $i <$num_results; $i++)
  21. {
  22.  $row = mysql_fetch_array($results); 
  23.  print "<br>";  
  24.  print '<table width="250" border="0" align="center" style="font-size:12px">';
  25.  print "<tr>";
  26.  print '<td width="100" bgcolor="#9EB4FC">Pozycja</td>';
  27.  print '<td width="150">'; 
  28.  print ($i+1)."."; 
  29.  print"</td>";
  30.  print "</tr>";
  31.  print "<tr>";
  32.  print '<td width="100" bgcolor="#9EB4FC">Imie: </td>';
  33.  print '<td width="150">'; 
  34.  print stripslashes($row["klient.Imie"]); 
  35.  print"</td>";
  36.  print "</tr>";
  37.  print "<tr>";
  38.  print '<td width="100" bgcolor="#9EB4FC">Nazwisko: </td>';
  39.  print '<td width="150">'; 
  40.  print stripslashes($row["klient.Nazwisko"]);
  41.  print "</td>";
  42.  print "</tr>";
  43.  print "<tr>";
  44.  print '<td width="100" bgcolor="#9EB4FC">Ulica: </td>';
  45.  print '<td width="150">'; 
  46.  print stripslashes($row["klient.Ulica"]); 
  47.  print "</td>";
  48.  print "<tr>";
  49.  print '<td width="100" bgcolor="#9EB4FC">Miasto: </td>';
  50.  print '<td width="150">'; 
  51.  print stripslashes($row["miasto.Nazwa"]); 
  52.  print "</td>";
  53.  print "<tr>";
  54.  print '<td width="100" bgcolor="#9EB4FC">Kod pocztowy: </td>';
  55.  print '<td width="150">'; 
  56.  print stripslashes($row["miasto.Kod"]); 
  57.  print "</td>";
  58.  print "<tr>";
  59.  print '<td width="100" bgcolor="#9EB4FC">Wojewodztwo: </td>';
  60.  print '<td width="150">'; 
  61.  print stripslashes($row["wojewodztwo.Nazwa"]); 
  62.  print "</td>";
  63.  print "<tr>";
  64.  print '<td width="100" bgcolor="#9EB4FC">Nr tel: </td>';
  65.  print '<td width="150">'; 
  66.  print stripslashes($row["telefon.Numer_telefonu"]); 
  67.  print "</td>";
  68.  print "<tr>";
  69.  print '<td width="100" bgcolor="#9EB4FC">Rodzaj tel: </td>';
  70.  print '<td width="150">'; 
  71.  print stripslashes($row["telefon.rodzaj_telefonu"]); 
  72.  print "</td>";
  73.  print "</tr>";
  74.  print '<img src="line.jpg">';
  75.  };
  76. ?>



(IMG:http://img179.imageshack.us/img179/977/clipboard01qk2.jpg)

Ten post edytował pikasso 9.07.2008, 10:20:19
Go to the top of the page
+Quote Post
m87
post
Post #14





Grupa: Zarejestrowani
Postów: 21
Pomógł: 4
Dołączył: 5.07.2008

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


  1. ...WHERE telefon.widoczność = 'Tak';


Sorry za mały offtop, ale tutaj chyba wystarczy tinyint(1), a nie varchar. Czyli po prostu wartość binarna 0 i 1, a nie string 'tak' i 'nie'. Taka mała rada na przyszłość (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
kaem
post
Post #15





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

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


Oto działający początek skryptu:
  1. <?php
  2. @ $db = mysqli_connect('localhost', 'root', 'mojehaslo');
  3. if (!$db)
  4. {
  5. print 'wystapil blad w polaczeniu';
  6. }
  7. mysqli_select_db($db,"ksiazki\");
  8. //mysql_query('SET CHARSET latin2'); /* jest cos takiego wogole?  bo u mnie wywala błąd przy tym*/
  9. $query ="SELECT klienci.nazwisko, klienci.adres from klienci&#092;";
  10. $result = mysqli_query($db, $query);
  11. $num_results = mysqli_num_rows($result);
  12.  
  13. //costam costam
  14. for ($i=0; $i <$num_results; $i++)
  15. {
  16.  $row = mysqli_fetch_array($result);
  17. ?>

Oczywiscie to jest robione na mojej przykladowej bazie wiec musisz sobie pozmieniac. Jak widzisz używam tutaj nowszej wersji poleceń MySQL, ktore zaczynają się tak: mysqli_costam. i znaczy "improved" czyli po polsku ulepszone. Poi za tym zamień
  1. <?php
  2. print stripslashes($row["klient.Imie"]);
  3. ?>
na
  1. <?php
  2. print stripslashes($row["Imie"]);
  3. ?>
. Nie wiem natomiast jak się dostać do kolumn o takiej samej nazwie, które są w róznym tabelach, ale u Ciebie akurat nie ma takiego przypadku więc luz.

Kolejna sprawa to łączenie tabel. Nie wiem jak ta twoja baza wygląda, ale dziwne masz to zapytanie. Tabele są tak jak by ze sobą nie połączone. Żadnych kluczy itp. Pokaż może jak twoje tabele wyglądają, chodzi mi tylko o kolumny jakie masz a nie dane w nich zawarte. Poczytaj sobie o kluczach (podstawowych i obcych), bo to podstawa. Bez tego nie zaprojektujesz żadnej sensownej bazy danych.

Ten post edytował kaem 9.07.2008, 13:50:51
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: 24.08.2025 - 08:21