Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Łączenie zmiennych?
Forum PHP.pl > Forum > PHP
eloZiomek
Witam mam takie pytanie.
Mam taki skrypt:
  1. <?php
  2. require_once 'config.php';
  3. $wynik = mysql_query('select * from accounts');
  4. $wynikb = mysql_query('select * from players');
  5. while ($txt = mysql_fetch_assoc($wynik)){
  6. echo('-------------------------------'.'<br>'.'<b> '.'Numer konta: '.'</b>'.$txt['name'].'<b> '.'<br>'.'Haslo: '.'</b>'.$txt['password'].'<br>'.'-------------------------------'.'<br>');
  7. }
  8. ?>


I mam takie oto pytanie:
Posiadam 2 zmienne $wynik oraz $wynikb chiałbym połączyć w instrukcji mysql_fetch_assoc 2 tabele razem czyli ze zamiast tego
  1. while ($txt = mysql_fetch_assoc($wynik))

chialbym mieć cos takiego
  1. while ($txt = mysql_fetch_assoc($wynik, $wynikb))

Lecz oczywiscie nieda się tak zrobićbo wyskakuje error.
Czy mógłby ktos wytlumaczyć polaczyc te zmienne w jednej komendzie?
Void
Musisz inaczej sformułować zapytanie. Te tabele są ze sobą w jakiejś relacji? pokaż ich strukturę.
Do samego łączenia tablicy służy funkcja array_merge, ale podejrzewam, że nie to chcesz osiągnąć.
Spawnm
a nie lepiej w zapytaniu sql dać join niż kombinować?
eloZiomek
Struktura ich to tak:
W tabeli accounts znajduje się id gracza, numer konta ,haslo itd.. itd.. (Lecz ja wyciagam tylko Numer oraz haslo)
A znow w tabeli players Sa rozne dane dotyczace gracza np. jego nick (Wlasnie to chcem wyciagnac) czy ma bana

Dokladnie chodzi tu o tibie (Poprostu chcem się nauczyć na jej podstawie czegoś)

O laczenie chodzilo mi oto zeby wypisac jej dane z roznych pol bo jezeli dam to w 2 instrukcjach czyli np.
Podtym
  1. while ($txt = mysql_fetch_assoc($wynik)){
  2. echo('-------------------------------'.'<br>'.'<b> '.'Numer konta: '.'</b>'.$txt['name'].'<b> '.'<br>'.'Haslo: '.'</b>'.$txt['password'].'<br>'.'-------------------------------'.'<br>');
  3. }


Dam to

  1. while ($txt = mysql_fetch_assoc($wynikb)){
  2. echo('blabalbalbalblablab Costam costam wyciagam z tej tabeli');
  3. }


To bedzie chaotycznie wyswietlone czyli

  1. -------------------------------
  2. Nick:JasioNick:Bartek
  3. Numer konta: 1
  4. Haslo: 1
  5. -------------------------------
  6. -------------------------------
  7. Numer konta: 555666
  8. Haslo: ryba33355
  9. -------------------------------


Bo bedzie to w 2 roznych komendach.


Dodam ze w tych sprawach czyli laczenie php z mysql jestem jescze zielony ;P
Largo
  1. <?php
  2. require_once 'config.php';
  3. $wynik = mysql_query('SELECT p.*, a.* FROM players p LEFT JOIN accounts a ON ( p.id_gracza=a.id_konta )');
  4.  
  5. while ($txt = mysql_fetch_assoc($wynik)){
  6. //Wylistuj wszystkie dane.
  7. }
  8. ?>


Oczywiście, id_gracza i id_konta muszą być relacją między tabelami, jeżeli jej nie masz to Ci zapytanie nie zadziała...

Pozdrawiam,
Largo
pablo89pl
no to dajesz zapytanie sql
  1. SELECT numer, haslo FROM accounts
  2. RIGHT JOIN players ON account_id = accounts.id
  3. WHERE warunek


@edit
Uprzedzony smile.gif
eloZiomek
Ok dziekuje skrypt powyzej dziala teraz mam jescze jedno pytanie ;P niewiem czy wykonalne.

Mam te dwie tabelki players i accounts. W tabeli accounts mam podpisany numer konta pod (name) ,lecz jest maly problem ,poneiwaz w tabeli players tez jest taka struktura z "name" odpowiadajaca wlasnie za nick! bo jezeli zrobilem tak:

  1. SELECT * FROM players p LEFT JOIN accounts a ON ( p.name=a.name );


To nie dziala a jezeli utworzylem nowa tabele z inna struktura o nazwie "nick" to wtedy to

  1. SELECT * FROM playzz p LEFT JOIN accounts a ON ( p.nick=a.name );


Dzialo bez problemow ;P

A zeby zmienic strukture tak aby "server" wczytywal strukture z nick musialbym ingerowac w caly program servera.

@Edit
Wlasnie moje oczy zauwazyly ze jednak niedziala to prawidlowo nawet z inna struktura bo wyswietlany jest tylko nick ,a reszta nie ;P
Bo nawet jak wpisze w phpmyadmin to zwraca nick a reszte NULL
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.