Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Zapytanie dotyczące dwóch tabel
perpsilocybe
post 22.10.2016, 12:24:08
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 22.10.2016

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


Cześć wszystkim. Oczywiście jestem bardzo początkujący, mam taki problem.

  1. $min= $_POST['min'];
  2. $max= $_POST['max'];
  3.  
  4. $link = mysql_connect("127.0.0.1","root","") or die ("Błąd, spróbuj ponownie.");
  5. mysql_select_db("supermarket") or die ("Kurde nie działa coś");
  6. $query = ("SELECT * FROM art_odziezowe WHERE cena BETWEEN '$min' AND '$max'") ;
  7. $result = mysql_query($query) or die("Niepowodzenie");
  8. while ($row = mysql_fetch_array($result))
  9. {
  10. echo "<table><tr><td>".$row["kategoria"]."</td><td>".$row["nazwa"]."</td><td>".$row["rozmiar"]."</td></tr></table>\n";
  11. }
  12. mysql_close($link);


Mam dwie tabele: art_odziezowe oraz art_odziezowe_magazyn. Nie wiem jak skonstruować zapytanie, by sprawdzało one dane z drugiej tabeli(z magazynu). Chodzi mi o cenę, która jest w magazynie.
  1.  
  2. $query = ("SELECT * FROM art_odziezowe WHERE cena BETWEEN '$min' AND '$max'") ;

Mam zrobioną relację w phpMyAdmin, opierającą się na id.
Przy okazji, mam niby zrobione wszędzie kodowanie utf-8, także w phpMyAdmin powybierałem do tabel utf-8 ale w przeglądarce po wyciągnięciu danych polskie znaki się nie wczytują, wychodzą tylko jakieś dziwne znaki. Wiecie w czym sęk?
Dziękuję za pomoc.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Niree
post 24.10.2016, 16:43:40
Post #2





Grupa: Zarejestrowani
Postów: 220
Pomógł: 18
Dołączył: 5.02.2016
Skąd: Polska

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


Cytat(perpsilocybe @ 22.10.2016, 13:24:08 ) *
Cześć wszystkim. Oczywiście jestem bardzo początkujący, mam taki problem.

  1. $min= $_POST['min'];
  2. $max= $_POST['max'];
  3.  
  4. $link = mysql_connect("127.0.0.1","root","") or die ("Błąd, spróbuj ponownie.");
  5. mysql_select_db("supermarket") or die ("Kurde nie działa coś");
  6. $query = ("SELECT * FROM art_odziezowe WHERE cena BETWEEN '$min' AND '$max'") ;
  7. $result = mysql_query($query) or die("Niepowodzenie");
  8. while ($row = mysql_fetch_array($result))
  9. {
  10. echo "<table><tr><td>".$row["kategoria"]."</td><td>".$row["nazwa"]."</td><td>".$row["rozmiar"]."</td></tr></table>\n";
  11. }
  12. mysql_close($link);


Mam dwie tabele: art_odziezowe oraz art_odziezowe_magazyn. Nie wiem jak skonstruować zapytanie, by sprawdzało one dane z drugiej tabeli(z magazynu). Chodzi mi o cenę, która jest w magazynie.
  1.  
  2. $query = ("SELECT * FROM art_odziezowe WHERE cena BETWEEN '$min' AND '$max'") ;

Mam zrobioną relację w phpMyAdmin, opierającą się na id.
Przy okazji, mam niby zrobione wszędzie kodowanie utf-8, także w phpMyAdmin powybierałem do tabel utf-8 ale w przeglądarce po wyciągnięciu danych polskie znaki się nie wczytują, wychodzą tylko jakieś dziwne znaki. Wiecie w czym sęk?
Dziękuję za pomoc.


  1. echo "<table>";
  2. $cena = mysql_query("SELECT * FROM art_odziezowe WHERE cena BETWEEN '$min' AND '$max'") ;
  3. while ($dane = mysql_fetch_array($cena))
  4. {
  5. echo "<tr><td>.$dane["cena]."</td></tr>";
  6. }
  7. echo "</table>";


Swoją drogą, Twoja pętla while przy $row jest bardzo kiepska. Jeżeli w bazie będzie kilka wyników, każdy wyświetli się w nowej tabeli, bo w pętli dałeś <table> zamiast poza pętlą. Poza tym "\n" jest nie potrzebne, skoro to jest pętla z użyciem <table>, każde użycie <tr> i tak przeniesie kolejną linię niżej.

Zmień na:
  1. echo '<table>';
  2. $query = ("SELECT * FROM art_odziezowe WHERE cena BETWEEN '$min' AND '$max'") ;
  3. $result = mysql_query($query) or die("Niepowodzenie");
  4. while ($row = mysql_fetch_array($result))
  5. {
  6. echo "<tr><td>".$row["kategoria"]."</td><td>".$row["nazwa"]."</td><td>".$row["rozmiar"]."</td></tr>";
  7. }
  8. echo '</table>';


Właściwie nie wiem, czego potrzebujesz. Podaj konkretnie, co chcesz, bo tak lakonicznie to napisałeś.
Plik index.php przekonwertuj na UTF-8 (np w notepadzie++), na początku strony w <head> dodaj:
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 05:47