Gal pavadinimas ir nėra tikslus bet pabandysiu paaiškinti ką noriu padaryti:
step 1 - Pradžioj pasimam cliento ip ir surandam jį duomenų bazėj. (mysql_query SELECT ir t.t blal bla)
step 2 - pagal turimą ip pasimam iš db du papildomus parametrus, kurie yra yrašyti toje db
step 3 - pagal naujus du parametrus pasimame dar viena nauja parametrą iš db.
step 4 - atspausdinti tuos parametrus, kur ir susiduriu su problema
Taigi Yra vienas IP tačiau ant to ip yra skirtingi įrašai, pasinaudojant while ciklu noriu atspausdinti visus skirtingus parametrus, tačiau man atspausdiną tik pirmą pagal IP rastą parametrą, tarkim pvz: ip 11.222.11.222 prie jo būtų dvi nick reikšmės "vardas1" "vardas2", tačiau manspausdina tik "vardas1" o sukant ciklą suranda tik num_rows, o reikšmę palieką tokią pat "vardas1", sudarant lentelę būtų ciklas tokių pat įrašų, taigi aš noriu kad atspausdintų tik skirtingus įrašus 'vardas1" vardas2" ir t.t išbandžiau kelis variantus su ORDER BY,fetch_assoc, array_unique, išeitis manau gana paprasta bet užkibo ir niekaip nesusitvarkau.
Išrasų numeravimas nuo db
- psychical
- Viršininkas
- Posts: 2094
- Joined: 2011 Mar 12 22:19
- Skype: tautvydas11
- Location: Linksmakalnis
- Contact:
Re: Išrasų numeravimas nuo db
Parodyk tai, ką esi padaręs. DB, tai database, o kokios lentelės?
Re: Išrasų numeravimas nuo db
Code: Select all
$q = mysql_query("SELECT ip, nick FROM users WHERE ip = ".$_SERVER['REMOTE_ADDR']);while ($d = mysql_fetch_assoc($q)){echo $d['nick']."\n<br />";}
Re: Išrasų numeravimas nuo db
Code: Select all
function xp($id){ include "db_connect.php"; $result = mysql_query("SELECT `player_id` FROM `wc3_player` WHERE `player_ip` = '$ip'") or die(mysql_error()); $row = mysql_fetch_array($result, MYSQL_ASSOC); if(!$row){ echo $ok .= "Error! Player not found. $ip"; exit; } $id = $row['player_id']; $result2 = mysql_query("SELECT `race_id`, `race_xp` FROM `wc3_player_race` WHERE `player_id` = '$id'") or die(mysql_error()); $row2 = mysql_fetch_array($result2); echo "<br><table border='1'></td></tr><tr><td>XP</td><td>ID</td></tr>"; while ( $row2 = mysql_fetch_assoc($result2) ) {echo "<tr><td>$row2[race_xp]</td><td>$row2[race_id]</td></tr>"; } echo "</table>"; }
- aaarnas
- Vyr. diskusijų administratorius
- Posts: 3891
- Joined: 2010 Aug 31 13:21
- Skype: fiarno
- Contact:
Re: Išrasų numeravimas nuo db
Jei jau su SQL dirbat, tai bent jau tokį dalyką, kaip JOIN reikėtų išmokti...
Šiaip visada debugink. Įsivesk sql užklausą suformatuota į ekraną ir tada paleisk sql serveryje. Matysi ką gražina, kokios klaidos ir tt.
Galima pvz daryti:
print_r($row);
ir tau atspausdins visą masyvą $row
Be to, nevisada gerai yra kintamąjį dėti į string. Geriau jungti per .
Su kai kuriomis kabutėmis ar kada ten būna nedirba.
Testuokis ir rasi kame bėdos.
Code: Select all
function xp($id){ include "db_connect.php"; $result = mysql_query("SELECT r.`race_id`, r.`race_xp` FROM `wc3_player` AS p JOIN `wc3_player_race` AS r ON p.race_id=r.race_id WHERE p.`player_ip` = '".$ip."'") or die(mysql_error()); if(!mysql_num_rows($result)) { echo $ok." Error! Player not found. $ip"; exit; } echo "<br><table border='1'></td></tr><tr><td>XP</td><td>ID</td></tr>"; while ( $row = mysql_fetch_assoc($result) ) {echo "<tr><td>".$row[race_xp]."</td><td>".$row[race_id]."</td></tr>"; } echo "</table>"; }
Galima pvz daryti:
print_r($row);
ir tau atspausdins visą masyvą $row
Be to, nevisada gerai yra kintamąjį dėti į string. Geriau jungti per .
Su kai kuriomis kabutėmis ar kada ten būna nedirba.
Testuokis ir rasi kame bėdos.
Palikau CS pasaulį ;/ . Nebepasiekiamas.
Re: Išrasų numeravimas nuo db
Esmė tame kad norėjau be Join apsieiti kadangi ne itin geros žinios, jungiant column, bet tavo parašytas variantas tiko, pasitaisiau kiek reikėjo ir viskas ok, be to žinoma dirbu ekrane + serverio logai, zdž dėkui už pagalbą 

Who is online
Users browsing this forum: No registered users and 2 guests