Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zapytanie dotyczące dwóch tabel
Forum PHP.pl > Forum > Przedszkole
perpsilocybe
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.

Niree
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>
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.