Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 17 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.05.07
Prihlásený: 23.07.19
Príspevky: 420
Témy: 151
Príspevok NapísalOffline : 08.08.2010 16:25

Ahojte,

neviem si rady s výpisom dát z jednej databazy (robím to ako cvičenie - mam 4 riadky udajov; 3 stlpce - prve, druhe, vyber enum (horna/dolna)). teraz som si napísal skript (pomocou návodou na nete) ktorým chcem dostat data na webovú stránku. php kod mam takto
Kód:
<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("skuska");

$result = mysql_query("select * from skuska") or die(mysql_error());

$row = mysql_fetch_array($result) or die(mysql_error());

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){

echo $row["prve"]. " ". $row["druhe"] . " - " . $row["vyber"];
echo "<br />";
}

?>


problem je v tom že mi tento skript nevyhodí všetky zaznamy ako by som chcel, ale "zabudne" na ten úplne prvý záznam. no a ja si s tým neviem rady teraz, že prečo to nevyhadzuje ten prvý záznam. mohli by ste mi niekto prosím poradit kde je vada? dakujem


Offline

Čestný člen
Čestný člen
vypis dat z databazy pomocou php - nevypise mi prvy riadok

Registrovaný: 21.02.06
Prihlásený: 08.12.14
Príspevky: 5404
Témy: 30
Bydlisko: Bratislava
Príspevok NapísalOffline : 08.08.2010 17:04

Čo tam robí tento riadok?
Kód:
$row = mysql_fetch_array($result) or die(mysql_error());


Skús toto:
Kód:
<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("skuska");

$result = mysql_query("select * from skuska") or die(mysql_error());

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){

echo $row["prve"]. " ". $row["druhe"] . " - " . $row["vyber"];
echo "<br />";
}

?>







_________________
Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.05.07
Prihlásený: 23.07.19
Príspevky: 420
Témy: 151
Príspevok Napísal autor témyOffline : 08.08.2010 17:29

kokso...dík moc ...funguje to....

nechápem ale ako možem vo while používat premennú row, ked som ju predtým nedefinoval; akoto že to nevyhodí nejaký error?


Offline

Správca fóra
Správca fóra
vypis dat z databazy pomocou php - nevypise mi prvy riadok

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 08.08.2010 21:20

tento riadok ti na tvoju otazku odpovie:
Kód:
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.05.07
Prihlásený: 23.07.19
Príspevky: 420
Témy: 151
Príspevok Napísal autor témyOffline : 08.08.2010 22:45

akože nechcem tu byť za blbca, no ale nejak tomu nechápem...hladal som na internete čo je to to "mysql_fetch_array" no a prišiel som na to, že tento príkaz spraví z výsledku dotazu na databázu zrozumitelné pole (v tomto prípade asociatívne - tj podla nazvov stlpcov v databaze) skladajúce sa z retazcov v databaze. ked teda napíšem "echo $row["prve"]. " ". $row["druhe"] . " - " . $row["vyber"];", vypíše sa mi prvý riadok; na to aby sa vypísal druhý používali v manuáloch to while čo cituje stenley.

ako teraz to chápem tak že stenley mi chcel naznačit že tým že som tam dal iba jedno = tak som vlastne tej premennej row priradil hodnotu; že porovnávanie sa značí ==

ale nejak som nepochopil doteraz čo vlastne to mysql_fetch_array vyhodí - ako vždy sa v popise tej funkcie napísalo akurát že sú to retazce usporiadané do polí; ale nechápem čo dosiahnem tou rovnostou vo while - nejak to neviem preložit do normálnej reči; furt ked som dal hladat v google mysql_fetch_array tak mi našlo články na jedno kopyto, z ktorých som nepochopil čo táto podmienka "$row = mysql_fetch_array($result, MYSQL_ASSOC" vlastne znamená....

nechcem byt otravný avšak fakt som prešiel niekolko stránok v angličtine aj češtine a nepochopil som ten princíp, preto by som chcel poprosiť či by ste mi neskúsili niekto dať ešte nejaký hint.

za všetky príspevky samozrejme dakujem


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 08.08.2010 23:02

Kód:
while ($row) {
Ten riadok testuje, či je v premennej $row niečo, čo nie je rovné FALSE (prázdnemu reťazcu, nule a niekoľkým ďalším možnostiam)

Kód:
while ($row=mysql_fetch_array((...)) {
Najskôr do tej premennej vloží to, čo vráti tá funkcia mysql_fetch_array(...) a až potom sa vykoná ten test. Takže ak tá funkcia mysql_fetch_array(...) vráti nejaké dáta, vykonajú sa príkazy v tom while bloku (a v tom bloku sa bude dať použiť premenná $row, v ktorej sú údaje, ktoré sa načítali z DB). Potom sa zase zavolá tá funkcia mysql_fetch_array(...), jej návratová hodnota sa vloží do premennej $row a ak sú tam stále nejaké dáta, tak sa vykonajú príkazy v tom while bloku...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 03.08.10
Prihlásený: 27.06.23
Príspevky: 94
Témy: 14
Príspevok NapísalOffline : 08.08.2010 23:28

funkcia mysql_fetch_array nacita do pola jeden riadok z databazy. Ked tuto funkciu volas znova tak nacita dalsi riadok a potom dalsi a dalsi... Ked uz si na poslednom riadku a zavolas tuto fukkciu tak vrati FALSE. Zakazdym ked volas tuto funkciu tak to pole ktore vrati ulozis do premennej $row a potom pristupujes k jednotlivim stlpcom tabulky cez zapis $row["nazov_stlpca"]. Keze pouzivas cyklus while, tak sa toto cele bude opakovat dovtedy, dokedy mysql_fetch_array nevrati false - teda na poslednom riadku. Vtedy si volal tuto funkciu na tomto riadku
Kód:
$result = mysql_query("select * from skuska") or die(mysql_error());
a v cykle while si ju volal uz druhy krat - preto vratila druhy riadok. Ked este niecomu nechapes len sa sytaj.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.05.07
Prihlásený: 23.07.19
Príspevky: 420
Témy: 151
Príspevok Napísal autor témyOffline : 10.08.2010 16:05

ahaaaa...už to chápem....ty kokso...dík moc za vysvetlenie; paráda. dík že ste si našli čas


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.03.09
Prihlásený: 17.09.11
Príspevky: 19
Témy: 4
Príspevok NapísalOffline : 27.08.2011 21:08

čaute,
nechcem zakladať novú temu, tiež mam problém z databázov
ide o to že mam herný server, ktorý je prepojený s webom (čiže užívatel sa musí najskôr zaregistrovať na fore, až tak môže hrať
no a na webe mam spravený leaderboards, kde majú užívateliasvoje štatistiky a ide o tom že v hre si može užívatel zmeniť nick aj s farbou (napr #ff00ffJano)
tento nick sa zmení aj v databáze no a vlastne v leaderboards tiež, kedže je to výpis databázy, takže nevidím tam užívatela Jano ale #ff00ffJano a to nechcem, takže hladám nejaký spôsob ako to spraviť, bud aby sa do databázy vôbec nezapísla kod farby, alebo aby databáza automaticky zmazala ten kod farby
takže poradí mi niekto, prosím?


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 27.08.2011 21:21

Aký zmysel tam má tá farba? Prečo to neukladáš osobitne do stĺpcov farba a meno, ale to nezmyselne miešaš? A vôbec, keď tú farbu chceš úplne zmazať, musíš ju tam dávať?
Je to divné, vôbec nechápem zmysel takéhoto niečoho, ale aj tak mi z toho vychádza jednoduché riešenie - úprava kódu, ktorý vkladá dáta do databázy.

Prípadne, keď už chceme byť prasatá, vytiahnuť to z db takto a zmazať tam farbu (Za predpokladu, že je tam vždy stačí odstrániť prvých 7 znakov zo získaného mena)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.03.09
Prihlásený: 17.09.11
Príspevky: 19
Témy: 4
Príspevok NapísalOffline : 27.08.2011 21:35

tak ty si to ale vôbec nepochopil
ja tam predsa tu farbu nedávam :-D
ked sa nejaký hrač zaregistruje na fore pod menom Jano, v hre sa musí prihlásiť ako Jano, ale nick v hre môže mať akýkolvek, čiže ak ho chce mať farebný tak si da pred meno kod farby, chápeš? :)
no len v databaze sa tiež zmení jeho nick a zapíše sa to aj s tým kodom, a potom je kod vidieť aj v rebríčkoch najlepších hráčov a to ja nechcem


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 27.08.2011 21:52

Tak prepáč, že nehrám také divne hry :P

V tom prípade ale platí to čo som napísal.
Hráč ale pred menom ten kód mať nemusí, čiže vo výpise toho rebrička keď vytiahneš meno z databázy, preženieš to buď cez funkciu:
preg_replace("/^#[0-9abcdef]{6}/", "", $meno);

alebo aj takto sa to dá:
if($meno[0] == "#") $meno = substr($meno, 8);

Prípadne to testuj ešte pred vložením do db, ak môžeš.
Už som v obraze?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.03.09
Prihlásený: 17.09.11
Príspevky: 19
Témy: 4
Príspevok NapísalOffline : 27.08.2011 22:22

skusim, zatial dik :D

// pridané po 14 minútach od posledného príspevku

no tak som skúsil, nefunguje to :(
môžeš pozrieť
http://www.allianceracing.net/leaderboards.php


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 27.08.2011 22:27

Ahá, ja som myslel, že to môže byť len na začiatku :oops:
V tom prípade skús toto:
preg_replace("/#[0-9abcdef]{6}/", "", $meno);
(Alebo má byť mriežka backslashnutá? (Teda \#) Neviem, nechce sa mi to skúšať...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.03.09
Prihlásený: 17.09.11
Príspevky: 19
Témy: 4
Príspevok NapísalOffline : 27.08.2011 22:35

stále nič, pozri tu je celý leaderboards.php

Kód:
<style type="text/css">
.parne {
  background-color:#33ccff;
}
.neparne {
  background-color:#3399ff;
}
.onOver {
  background-color:#fa7c00;
}
table.tab1
{
border: 1px #000000 solid;
border-collapse: collapse;
border-spacing: 0px;
width:100%;
}
table.tab1 td { border: 1px #000000 solid;}
</style>

<!-- <table align="center" width="100%"  bordercolor="#00" border="1" cellspacing="0" >       -->
<table class="tab1">

<tr align="left" bgcolor="#3e3e3e" style="border-bottom:solid 2px black;">

<td style="font-weight: bold; color:#fa7c00; font-size:20px;" width="7%">Rank</td>

<td style="font-weight: bold; color:#fa7c00; font-size:20px;" width="28%">Nick</td>

<td style="font-weight: bold; color:#fa7c00; font-size:20px;" width="15%">Points</td>

<td style="font-weight: bold; color:#fa7c00; font-size:20px;" width="20%">Money</td>

<td style="font-weight: bold; color:#fa7c00; font-size:20px;" width="15%">Wins</td>

<td style="font-weight: bold; color:#fa7c00; font-size:20px;" width="15%">Losts</td>

</tr>
<?php
$connect = mysql_connect("","","") or die ($error);
mysql_select_db("vx446001db") or die ($error);
$db = @mysql_query('SET NAMES UTF8');

if (isset($_GET['page'])) $page = $_GET['page']; else $page = 1;
$page = mysql_real_escape_string($page);
$start = ($page - 1) * 50;
$q = mysql_query("SELECT nick, money, points, wins, lost FROM mta ORDER BY points DESC LIMIT $start, 50");
echo "<p>Showing players with rank $start - ".($start + mysql_num_rows($q))."</p>";
$i=0;
while ($row = mysql_fetch_array($q))
{
  $start = $start + 1;
  if(($i%2)==0) {
    $class="parne";
  } else {
    $class="neparne";
  }
  echo "<tr class=\"".$class."\" onMouseOver=\"this.className='onOver'\" onMouseOut=\"this.className='".$class."'\"><td>$start</td><td>".$row['nick']."</td><td>".$row['points']."</td><td>".$row['money']."$</td><td>".$row['wins']."</td><td>".$row['lost']."</td></tr>\n";
  $i++;

}
echo "</table>";
$cq = mysql_query("SELECT userid FROM mta");
$count = mysql_num_rows($cq);
mysql_free_result($q);
mysql_free_result($cq);
$pages = ceil($count / 50 );
if ( $count <= 50 )
{}
else
{   
   echo "<p align=center>";
   if (($page - 3 ) > 0 )
   {
   echo "<a href='leaderboards.php?page=".($page-3)."'> ".($page-3)." </a>";
   }
   if (($page - 2 ) > 0 )
   {
   echo "<a href='leaderboards.php?page=".($page-2)."'> ".($page-2)." </a>";
   }
   if (($page - 1 ) > 0 )
   {
   echo "<a href='leaderboards.php?page=".($page-1)."'> ".($page-1)." </a>";
   }
   echo " $page ";
   $pagesright = $pages - $page;
   $ic = 0;
   while ( $ic < 3 && $pagesright > 0 )
   {
      $ic = $ic + 1;
      $pagesright = $pagesright - 1;
      echo "<a href='leaderboards.php?page=".($page + $ic)."'> ".($page + $ic)." </a>";
   }
   
   
   
   echo "</p>";
}

?>


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 27.08.2011 22:45

Tak v čom je problém? Toto by podľa mňa malo ísť...
Kód:
.
.
.
echo "<tr class=\"".$class."\" onMouseOver=\"this.className='onOver'\" onMouseOut=\"this.className='".$class."'\"><td>$start</td><td>".preg_replace("/#[0-9abcdef]{6}/", "", $row['nick'])."</td><td>".$row['points']."</td><td>".$row['money']."$</td><td>".$row['wins']."</td><td>".$row['lost']."</td></tr>\n";
.
.
.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.03.09
Prihlásený: 17.09.11
Príspevky: 19
Témy: 4
Príspevok NapísalOffline : 27.08.2011 22:48

skúsim

takzdá sa že to funguje :D velká vdaka :hilarity:


Odpovedať na tému [ Príspevkov: 17 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. pripojenie a vypis dat z access databazy (ASP)

v PHP, ASP

0

639

30.06.2010 12:17

laceky Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. mail() v php - ako dať text na nový riadok

v PHP, ASP

3

1350

23.03.2007 22:04

VLADIS007 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Výpis dát z databázy z posledných 7 dní

v Databázy

3

456

25.02.2018 1:22

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nezabezpečená časť webu, ak sa názov súboru čerpá z databazy pomocou PHP

v PHP, ASP

2

279

26.12.2020 14:28

jakubv Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pri výpise z datzabázy mi nevypíše celý php kód

v PHP, ASP

2

459

13.04.2009 18:39

Unlink Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Android - výpis z databázy

v Android, iOS, Windows Phone (Mobile)

2

704

25.04.2015 16:53

LukasB Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Porovnanie databázy + výpis zmien

v Databázy

0

1910

07.06.2009 16:03

Nexus Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vypis viacero veci z databazy...

v PHP, ASP

2

528

27.11.2008 21:21

sedlák Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vypis z databazy do riadku

v PHP, ASP

2

456

12.02.2014 15:51

benqo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vypis z databazy podla kriteria

v Databázy

5

889

15.07.2008 20:44

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vypis z databazy podla veku

v PHP, ASP

2

525

22.10.2007 0:53

neopagan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Výpis z databázy do array

v PHP, ASP

3

553

13.04.2009 11:35

Tominator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vypis obsahu z databazy - pole text

v Databázy

5

1084

11.10.2009 15:12

kudzo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ziskanie hesla do .rar archivov pomocou vlastnej databazy

v Ostatné programy

3

798

10.03.2009 14:31

Axwell Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vypis dat z 2 tabuliek

v Databázy

2

971

09.06.2009 18:17

neopagan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Obnová dát databázy

v Databázy

5

773

02.05.2011 22:48

calimero Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra