Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [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
 
Start new topic
Odpowiedzi
kaem
post
Post #2





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

Posty w temacie


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: 8.10.2025 - 03:45