Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Krzaczenie sie kod highscore
Forum PHP.pl > Forum > Przedszkole
Caus
  1. <?php
  2. $zapytanie="SELECT punk FROM skills ORDER BY punk DESC LIMIT 10 ";
  3.   $zapytanie=mysql_query($zapytanie) or die(mysql_error());
  4.  
  5.   $arr = mysql_fetch_array($zapytanie);
  6.  
  7. echo ($arr[0].'<br><BR>');
  8. ?>


Wywala pierwszy wynik dobry

jak daje $arr[1] nie pokazuje już nic, a pozostałych 9 wyników które miał wyciągnąć z mysql nie ma.

jak w phpmyadmin wywołuje "SELECT punk FROM skills ORDER BY punk DESC LIMIT 10" to mam wszystkie 10

Przypomnę, że chodzi o to żeby pobrało 10 wyników i utworzyło z nich tablice $arr[0]. $arr[1] itd z kolejnymi wynikami smile.gif

Zmiana pytania, bo bez sensu zakładać nowy temat tyczący się tego samego.
@pitrooo89: dostaniesz plusa tak czy tak, tylko chce żeby nie zmieniało koloru tematu na razie smile.gif

Ave
piotrooo89
Cytat(Caus @ 7.02.2009, 15:18:24 ) *
Kod
    while($a = mysql_fetch_array($zapytanie))
    {
    $arr[] = $a;
    }


wstawiasz tablice do tablicy...
Caus
  1. <?
  2.  
  3. require('conn.php');
  4.   $zapytanie="SELECT punk FROM skills ORDER BY punk DESC LIMIT 10 ";
  5.   $zapytanie=mysql_query($zapytanie) or die(mysql_error());
  6.  
  7.   $arr[] = mysql_fetch_array($zapytanie);
  8.   sort($arr);
  9.  
  10.      $i=1;
  11.      while($i<11)
  12.      {
  13.      $zapytanie="SELECT id FROM skills WHERE punk='$arr[$i]'";
  14.      $temp=mysql_query($zapytanie) or die(mysql_error());
  15.      $temp=mysql_fetch_array($temp);
  16.      $id[$i]=$temp['id'];
  17.      $i++;
  18.       }
  19.         $i=1;
  20.         while($i<11)
  21.         {
  22.         $zapytanie="SELECT login FROM gracz WHERE id='$id[$i]'";
  23.         $temp=mysql_query($zapytanie) or die(mysql_error());
  24.         $temp=mysql_fetch_array($temp);
  25.         $login[$i]=$temp['login'];
  26.         $i++;
  27.         }
  28.        
  29.      $i=1;
  30.      while($i<11)
  31.      {
  32.      echo($i." ".$login[$i].' skill: '.$arr[$i].'<br>');
  33.      $i++;
  34.      }
  35.      
  36. ?>


Poprawiłem to tak - ale dalej coś jest źle, bo login[$i] jest zawsze równy 1, a arr[$i] null smile.gif

Ave
piotrooo89
mysql_fetch_array to jest już tablica.

jak zrobisz tak:
  1. <?php
  2. $arr[] = mysql_fetch_array($zapytanie);
  3. ?>

to będzie błąd.

zrób tak:
  1. <?php
  2. $arr = mysql_fetch_array($zapytanie);
  3. ?>


i teraz w zmiennej $arr masz tablice danych z bazy.
Caus
Dobra poprawiłem pierwszego posta, żeby od razu było wiadomo o co chodzi smile.gif

Ave
Crozin
Indeksy w tablicy zaczynają się od zera nie jedynki. Jeżeli nie ma jakiegoś konkretnego i sensownego powodu dla korzystania z numerycznych używaj tekstowych indeksów.
Mysql_fetch_array() zwraca jeden rekord i przeskakuje na następny - tak więc musisz to wywoływać w pętli.
Staraj się unikać wywoływania zapytań w pętlach

  1. <?php
  2. $result = array();
  3. $sql = "SELECT punk, id, login FROM skills ORDER BY punk DESC LIMIT 10";
  4. $query = mysql_query($sql);
  5. while($row = mysql_fetch_assoc($query)){
  6.  $result[] = $row;
  7. }
  8.  
  9. echo '<pre>' . print_r($result, true) . '</pre>';
  10. ?>
Caus
Ok doszedłem sam - dzięki smile.gif

Ave
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.