![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 24.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
witam, mam problem
w bazie danych mam 3 rekordy a na stronie wyswietla mi 6. sa one po prostu dublowane. jak to zrobic, aby sie nie dublowaly? ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Gdzie jest ta szklana kula.... kurka, jeszcze wczoraj tu stała.... no nic, nie mogę znaleźć szklanej kuli, PODAJ więc KOD....rety, czy za każdym razem trzeba to każdemu z osobna tłumaczyć?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 24.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
CODE <?php ini_set( 'display_errors', 'On' ); error_reporting( E_ALL ); $sql="SELECT id_uz FROM $tbl_name WHERE user='$user' and password='$password'"; $result=mysql_query($sql); $id_uz=mysql_result($result,"id_uz"); $query="SELECT produkty2.produkt, produkty2.jednostka, produkty2.cena, produkty2.producent, hasla.nazwa FROM produkty2 INNER JOIN hasla ON produkty2.id_uz2 = $id_uz ORDER BY produkty2.produkt"; $result=mysql_query($query); $num=mysql_numrows($result); mysql_close(); $i=0; while ($i < $num) { $produkt=mysql_result($result,$i,"produkt"); $jednostka=mysql_result($result,$i,"jednostka"); $cena=mysql_result($result,$i,"cena"); ?> <tr> <form action="new.php" method="post"> <td><font face="Arial, Helvetica, sans-serif"><? echo $produkt; ?></font></td> <td><font face="Arial, Helvetica, sans-serif"><? echo $jednostka; ?></font></td> <td><font face="Arial, Helvetica, sans-serif"><? echo $cena; ?> zł</font></td> <td> <input name="textfield" type="text" id="textfield" value="Ilość" size="7" maxlength="6" /></td> <td><input type="submit" value="Zamów"></td> </tr> </form> <? $i++; } echo "</table>"; ?> </div> </body> </html> </body> </html> to jest kod do wyswietlania. a wyzej jest kod do polaczenia z baza danych wyglada on tak: CODE <?php
session_start(); if(!session_is_registered(user)){ header("location:index.php"); } ini_set('session.bug_compat_42',0); ini_set('session.bug_compat_warn',0); $host="****.home.pl"; $username="*****"; $password="*****"; $db_name="******"; $tbl_name="hasla"; mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); $password = $_SESSION["password"]; $user = $_SESSION["user"]; $sql="SELECT nazwa FROM $tbl_name WHERE user='$user' and password='$password'"; $result=mysql_query($sql); $nazwa=mysql_result($result,"nazwa"); ?> |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Po pierwsze do kodu php uzywa się bbcode PHP a nie CODE
Po drugie: joinujesz tabelę z hasłami ale w żaden sposón nie łączysz jej z tabela produkty - w efekcie dostajesz iloczyn kartezjański, czyli o wiele wiecej danych niż byś się spodziewał. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 24.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
nie no wlasnie lacze ją z id_uz
w tabeli gdzie sa uzytkownicy jest do kazdego indywidualna, a w produkty rowniez. to akurat dziala. dla odpowiedniego uzytkownika sa wyswietlane odpowiednie dane tylko ze podwojnie. w tabeli produkty jest 6 produktow, po 3 dla jednego uzytkownika z roznymi cenami, natomiast przy wieswietlaniu dla jednego uzytkownika sa trzy wyniki, ale zdublowane czyli. w tabeli produkty mam id_uz | produkt | cena 1 | ocet | 5 1 | bulka | 3 1 | piwo |6 2 | ocet | 4 2 |bulka | 5 2 | piwo | 18 i mi wysiwetla dla uzytkownika z ID 1 ocet 5 ocet 5 bulka 3 bulka 3 piwo 6 piwo 6 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat nie no wlasnie lacze ją z id_uz Słucha.... nie łączysz.... mówię o tabeli HASLA. Dołączasz tę tabelę, ale w żaden sposób nie łączysz jest z tabelą PRODUKTY. I właśnie dlatego ci się dane dublują. PRzyjmij to do wiadomości
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 24.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
moglbys mi podpowiedziec jak to naprawic? bo naprawde nie moge dostrzec bledu. przyznam sie bez bicia ze jestem samoukiem i jeszcze wiele musze sie nauczyc.
Cytat $query="SELECT produkty2.produkt, produkty2.jednostka, produkty2.cena, produkty2.producent, hasla.id_uz FROM produkty2 INNER JOIN hasla ON produkty2.id_uz2 = hasla.id_uz ORDER BY produkty2.produkt"; $result=mysql_query($query); $num=mysql_numrows($result); mysql_close(); znalzlem blad. tutaj wkleilem poprawiony kod. moze komus sie przyda. a moglibyscie mi podpowiedziec jak zrobic odnosnik aby dla admina przekirowalo na inno strone, i w zaden sposob nie moge polskich znakow wyswietlac z bazy danych. wkleje kod z pliku ktory sprawdza login. Cytat <?php
$host="******"; $username="****"; $password="****"; $db_name="****"; $tbl_name="hasla"; mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); $user=$_POST['user']; $password=$_POST['password']; $user = stripslashes($user); $password = stripslashes($password); $user = mysql_real_escape_string($user); $password = mysql_real_escape_string($password); $sql="SELECT * FROM $tbl_name WHERE user='$user' and password='$password'"; $result=mysql_query($sql); $count=mysql_num_rows($result); if($count==1){ // Register $user, $password and redirect to file "login_success.php" session_register("user"); session_register("password"); session_register("nazwa"); header("location: login_success.php"); } else { $message="Podałeś nieprawidłowe dane!"; } ?> |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No musisz w jakis sposob połączyć tabele HASLA z tabelą PRODYKTY. Jest jakieś pole po którym te tabele mogą się łączyć? Jak nie ma, to nie możesz joinować hasła razem z produktami.
Po raz ostatni proszę: używaj bboce PHP dla kodu PHP Cytat a moglibyscie mi podpowiedziec jak zrobic odnosnik aby dla admina przekirowalo na inno strone, No to dla admina zamiastheader("location: login_success.php"); masz dac: header("location: inna_strona.php"); No IF chyba umiesz zrobić?
Powód edycji: [nospor]:
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 24.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
ok wszystko jasne,
a powiedz mi tylko jak zrobic aby polskie znaki byly wyswietlane z bazy danych? bo nie moge tego zrobic w zaden sposob. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Na temat polskich znaków na tym forum było już tysiące postów. Wystarczy, że użyjesz wyszukiwarki
O przypiętym temacie już nie wspominając.... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 02:14 |