Išrasų numeravimas nuo db

Forumas skirtas klausimams/pamokoms susijusioms su PHP, SQL (MySQL), web technologijomis, HTML, CSS, javascript, turinio valdymo sistemomis ir kita.
Post Reply
User avatar
V1LKAS
Flooderis arba specialistas
Posts: 612
Joined: 2012 Nov 08 12:55
Skype: darius489

Išrasų numeravimas nuo db

Post by V1LKAS »

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.

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: Išrasų numeravimas nuo db

Post by psychical »

Parodyk tai, ką esi padaręs. DB, tai database, o kokios lentelės?

TETYYS
Gana aktyvus vartotojas
Posts: 457
Joined: 2011 Dec 26 21:49

Re: Išrasų numeravimas nuo db

Post by TETYYS »

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 />";} 
?

User avatar
V1LKAS
Flooderis arba specialistas
Posts: 612
Joined: 2012 Nov 08 12:55
Skype: darius489

Re: Išrasų numeravimas nuo db

Post by V1LKAS »

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>"; }
Kodas būtų toks, naudoju būtent tokį pat metodą kaip TETYYS minėjo, rodos gramatika ir gera, bet vistiek nesuprantu kodėl nespausdina.

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: Išrasų numeravimas nuo db

Post by aaarnas »

Jei jau su SQL dirbat, tai bent jau tokį dalyką, kaip JOIN reikėtų išmokti...

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>"; }
Š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.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

User avatar
V1LKAS
Flooderis arba specialistas
Posts: 612
Joined: 2012 Nov 08 12:55
Skype: darius489

Re: Išrasų numeravimas nuo db

Post by V1LKAS »

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ą :)

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest