Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][HTML][PHP]Zmiana ID na nazwę z innej tabeli, zmiana ID na obrazek
Forum PHP.pl > Forum > Przedszkole
rufi
Sprawa wygląda tak, wyciągnąłem tabelę na stronę, w której jest id właściciela oraz id pojazdu jaki on posiada.
Nick właściciela jest przypisany do jego ID w innej tabeli, więc musiałbym zmienić id właściciela na jego nick (inna tabela),
jak tego dokonać?
Poza tym, chciałbym aby każdy pojazd, zamiast id pokazywał jakiś obrazek.
Pomocy ;/
Kshyhoo
  1. SELECT t1.id_user, t1.id_auto
  2. FROM tabela1 t1
  3. LEFT JOIN tabela2 t2
  4. ON t2.login=t1.id_user

gdzie t1 i t2 to tabele
Co do obrazka, pokaż, jak je trzymasz...
nospor
ON t2.login=t1.id_user
to taki zarcik na sobote?
rufi
kod strony jest taki
  1. <table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" style="clear: both; border-bottom-width: 0;">
  2. <td><button type="button" class="btn btn-danger">Właściciel</button></td>
  3.  
  4. <td><button type="button" class="btn btn-danger">Model</button></td>
  5.  
  6. <?php
  7.  
  8. for ($i=0; $i <$ile_znalezionych; $i++)
  9.  
  10. {
  11.  
  12. $wiersz = $wynik->fetch_assoc();
  13.  
  14. echo '<tr>';
  15.  
  16. echo '<td><span style="color:black;">'.$wiersz['owner'].'</td></span>';
  17.  
  18. echo '<td><span style="color:black;">'.$wiersz['model'].'</td></span>';
  19.  
  20. echo '</tr>';
  21.  
  22. }
  23.  
  24. ?>




podlaczenie tak:
  1. <?php
  2.  
  3. function lacz_bd()
  4.  
  5. {
  6.  
  7. $db = new mysqli('localhost', 'root', 'xxx', 'db_3333');
  8.  
  9. if (! $db)
  10.  
  11. return false;
  12.  
  13. $db->autocommit(TRUE);
  14.  
  15. return $db;
  16.  
  17. }
  18.  
  19.  
  20.  
  21. $db = lacz_bd();
  22.  
  23.  
  24.  
  25. $zapytanie = "SELECT `owner`, `model` FROM `vehicles` ORDER BY owner DESC LIMIT 999";
  26.  
  27.  
  28. $wynik = $db->query($zapytanie);
  29.  
  30.  
  31.  
  32. $ile_znalezionych = $wynik->num_rows;
  33.  
  34.  
  35. ?>


tabela z id i nickami nazywa sie
imionaklientow, a jej struktura to ID|Nick
myśląc o obrazkach zastanawiałem się nad jakimś przypisaniem id modelu auta, do danego linku do obrazka
Kshyhoo
Cytat(nospor @ 8.07.2017, 15:12:35 ) *
ON t2.login=t1.id_user
to taki zarcik na sobote?

  1. ON t2.id_user=t1.id_user

Mogłeś napisać, jak ma być poprawnie a nie nabijać się z tych, co chcą pomagać.
rufi
  1. $zapytanie = "SELECT t1.owner, t1.model FROM vehicles t1 LEFT JOIN imionaklientow t2 ON t2.nick=t1.owner";

Według twoich instrukcji wyszło mi coś takiego, mimo to nie działa
Kshyhoo
Musisz odwołać się po ID do 2 tabeli:
  1. $zapytanie = "SELECT t1.owner, t1.model, t2.nick FROM vehicles t1 LEFT JOIN imionaklientow t2 ON t2.id=t1.owner";

owner to ID?
rufi
owner to inaczej kolumna ID z t2
Kshyhoo
Dałeś radę?
rufi
nic sie nie zmienia, caly czas pokazuje id
Kshyhoo
Pokaż strukturę tabel i kod, którym wyświetlasz te dane.
rufi
  1. {$headerinclude}
  2. <title>Pojazdy</title>
  3.  
  4. </head>
  5. {$header}
  6. <table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" style="clear: both; border-bottom-width: 0;">
  7. <td><button type="button" class="btn btn-danger">Właściciel</button></td>
  8.  
  9. <td><button type="button" class="btn btn-danger">Model</button></td>
  10.  
  11. <?php
  12.  
  13. for ($i=0; $i <$ile_znalezionych; $i++)
  14.  
  15. {
  16.  
  17. $wiersz = $wynik->fetch_assoc();
  18.  
  19. echo '<tr>';
  20.  
  21. echo '<td><span style="color:black;">'.$wiersz['owner'].'</td></span>';
  22.  
  23. echo '<td><span style="color:black;">'.$wiersz['model'].'</td></span>';
  24.  
  25. echo '</tr>';
  26.  
  27. }
  28.  
  29. ?>
  30. </center>
  31. {$footer}
  32. </body>
  33. </html>

vehicles http://i.imgur.com/CQdpKaN.png
imionaklientow http://i.imgur.com/gEvpSBV.png
Kshyhoo
Nie rozumiem tego owner i nick... Trzymasz 2x nazwę usera?
  1. SELECT t1.id, t1.owner, t1.model, t2.nick
  2. FROM vehicles t1
  3. LEFT JOIN imionaklientow t2
  4. ON t2.id=t1.id

Swoją drogą, mogłeś sam się kapnąć o co biega w zapytaniu smile.gif. w LEFT JOIN musisz odwołać się po ID usera do drugiej tabeli po tym samym ID usera... Po SELECT wypisujesz to, co interesuje Cię w tabelach. Zauważ różnicę w t1 i t2 - to Twoje tabele.
rufi
t1 owner i t2 ID (WYBACZ EDIT,POMYLILEM), to te same liczby, ponieważ tabela t2 odnosi się też do innych tabel.
w t1 kolumna id oznacza id pojazdu, ponieważ owner może posiadać ich kilka, a wtedy IDPOJAZDU|IDOWNERA|MODEL
a w t2 IDOWNERA|NICKOWNERA, zapytanie, które wstawiłeś nadal nie chce współpracować, wciąż IDOWNERA nie zamienia się na NICKOWNERA, który chcę pokazać w tabeli na stronie

mam nadzieję, że tym razem dobrze to wyjaśniłem
Kshyhoo
Cytat(rufi @ 8.07.2017, 17:37:02 ) *
t1 owner i t2 nick, to te same liczby

No właśnie, tego nie kumam...
  1. SELECT t1.id, t1.owner, t1.model, t2.nick
  2. FROM vehicles t1
  3. LEFT JOIN imionaklientow t2
  4. ON t2.id=t1.owner
rufi
Cytat(Kshyhoo @ 8.07.2017, 17:42:31 ) *
No właśnie, tego nie kumam...

http://i.imgur.com/tPpEQA8.png

Chodzi po prostu o to, że gość kupuje w grze pojazd, serwer sprawdza jego nick, zmienia na IDOWNERA, tworzy nowy wiersz, z nowym ID auta, jego IDOWNERA, no i model. A mi po prostu chodzi o ponowne zmienienie IDOWNERA na nick. Wyżej dałem ssa, że mimo wszystko dalej nie działa
Kshyhoo
Bo wyświetlasz owner i model a nie nick, choć go pobierasz (t2.nick).
rufi
dalo rade, faktycznie nie zauwazylem
dzieki szefie
Kshyhoo
Cieszę się, że mogłem pomoc.
A z grafikami sobie poradziłeś?
rufi
nie mam żadnego pomysłu jak się za to zabrać, narazie zrobiłem analogicznie do właścicieli, po prostu pokazuje nazwę pojazdu zamiast jego ID
Kshyhoo
Zależy, ile będzie grafik, ale najlepiej trzymać w katalogu a nazwę pliku w bazie danych. No chyba, że przewidujesz jedną grafikę dla usera (np. avatar), to można nadawać mu nazwę identyczną z ID usera i tak wyświetlać, czyli np. user o ID 5 miałby taki adres avatara:
  1. <img src="grafika/avatary/user5.png"/>
rufi
z racji ze nigdy nie dodawalem obrazka zamiast id na stronie, moglbys mi to rozpisac jak to zrobic?
generalnie chcę zmienić ID pojazdu na obraz, aktualnie zmieniłem jedynie na tekst, specjalnie pod id modeli stworzyłem tabelę z ich id i nazwami http://i.imgur.com/AGRRJyo.png
Kshyhoo
Praktycznie już Ci odpowiedziałem wcześniej:
  1. <img src="grafika/auta/auto<?php echo $vehicles['id'] ?>.png"/> <?php echo $vehicles['model'] ?>

gdzie $vehicles['id'] to ID samochodu a $vehicles['model'] to nazwa.
rufi
wygląda to tak:
  1. <html>
  2. <head>
  3. {$headerinclude}
  4. <title>Pojazdy</title>
  5.  
  6. </head>
  7. <body>
  8. {$header}
  9. <center>
  10. <table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" style="clear: both; border-bottom-width: 0;">
  11. <td><button type="button">Właściciel</button></td>
  12.  
  13. <td><button type="button">Model</button></td>
  14.  
  15. <td><button type="button">Rejestracja</button></td>
  16.  
  17. <?php
  18.  
  19. for ($i=0; $i <$ile_znalezionych; $i++)
  20.  
  21. {
  22.  
  23. $wiersz = $wynik->fetch_assoc();
  24.  
  25. echo '<tr>';
  26.  
  27. echo '<td><span style="color:black;">'.$wiersz['name'].'</td></span>';
  28.  
  29. <img src="images/wozy/auto<?php echo $wiersz['id'] ?>.png"/> <?php echo $wiersz['model'] ?>
  30.  
  31. echo '<td><span style="color:black;">'.$wiersz['plate'].'</td></span>';
  32.  
  33. echo '</tr>';
  34.  
  35. }
  36.  
  37. ?>
  38. </table>
  39. </center>
  40. {$footer}
  41. </body>
  42. </html>



wyskakuje error:
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /home/p222333/public_html/forum/pojazdy.php(48) : eval()'d code on line 32
Kshyhoo
Bo mieszasz html z php... Musiałbyć albo wyskoczyć z php albo dać echo na linijkę z grafiką.
rufi
dobra, pomęczyłem się ale w końcu jest efekt zakochany.gif
swietnie pomogles, dzieki
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.