Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nietypowe wyciągniecie danych z bazy
Forum PHP.pl > Forum > PHP
SN@JPER^
Witam,

w jaki sposób wyciągnąc dane w taki sposób (w pętli)


8 KOLEJKA


mecz

mecz

mecz

miejąc na uwadze, że rekord kolejki jest w każdym wpisie... - więc w jaki sposób zrobić, zeby wyświetlić tylko raz - np. u góry?
danek
Mógłbyś bardziej sprecyzować pytanie?
SN@JPER^


Jak widać w każym rekordzie jest pole kolejka, potrzebuje, aby ta kolejkę w petli wyświetlić raz - na samej górze...
piotrooo89
podaj strukturę tabeli i wyjaśnij dokładnie o co chodzi...
danek
Co to za problem?
Jeżeli ma się znajdować tak jak teraz w środku kontentu to wystarczy coś w stylu:
if(!$kolejka)
{
echo"Kolejka któraśtam";
$kolejka='cos';
}
SN@JPER^
podam na innym przykładzie:

chodzi mi o pokazywanie rekordów wzgledem czegos

A:

Adam
Anna
....


B:

Baran
Byk
etc.

Tak samo z moim problem






12 kolejka

i mecze 12 kolejki


mecz - mecz
mecze - mecz


a nie:

12kolejka
mecz - mecz


12kolejka
mecz - mecz


12kolejka
mecz - mecz

Dobra dam kod:

  1. $sql = "SELECT * FROM timetable WHERE points1=0 and points2=0 and type=1 ORDER BY queue DESC";
  2.      $query = mysql_query($sql);
  3.      $rows = mysql_num_rows($query);
  4.      
  5.      
  6.      
  7.      if(!$rows>1)
  8.      {
  9.        echo "BRAK MECZY DO TYPOWANIA!";
  10.      }
  11.      
  12.      else
  13.      {
  14.          for($i=0; $i<$rows; $i++)
  15.          {
  16.            $fetch = mysql_fetch_array($query);
  17.            $data_ex = explode('.', date('j.m.Y; H:i', $fetch['time']));//zmieniamy date...
  18.            
  19.              //********WYSWIETLAMY AKTUALNE MECZE DO TYPOWANIA*********
  20.              if($data_ex[0]>=date('j') && $data_ex[1]>=date('m') && $data_ex[2]>=date('Y'))
  21.              {
  22.              
  23.                //WYCIAGAMY NAZWE KLUBU WEDŁUG ID - GOSPODARZ
  24.                $sql_club_1 = "SELECT name FROM teams WHERE id=".$fetch['team1']."";
  25.                $query_club_1 = mysql_query($sql_club_1);
  26.                $fetch_club_1 = mysql_fetch_array($query_club_1);
  27.                
  28.                //WYCIAGAMY NAZWE KLUBU WEDŁUG ID - GOŚĆ
  29.                $sql_club_2 = "SELECT name FROM teams WHERE id=".$fetch['team2']."";
  30.                $query_club_2 = mysql_query($sql_club_2);
  31.                $fetch_club_2 = mysql_fetch_array($query_club_2);
  32.                
  33.                
  34.                $st_1 = similar_text($fetch_club_1['name'], $channel->OddsData->HomeTeam, $p_1);
  35.                $st_2 = similar_text($fetch_club_2['name'], $channel->OddsData->AwayTeam, $p_2);
  36.                intval($p_1); //zaokrąglamy procenty
  37.                intval($p_2);//zaokrąglamy procenty
  38.                
  39.                
  40.                
  41.                if($p_1>50 && $p_2>50)
  42.                {
  43.                
  44.                    //ZMIENNE DO WYŚWIETLANIA
  45.                    $data = date('j.m.Y; H:i', $fetch['time']);
  46.                    $kolejka = $fetch['queue'];
  47.                    $gospodarz = $fetch_club_1['name'];
  48.                    $gosc = $fetch_club_2['name'];
  49.                    $stawka_1 = $channel->OddsData->Odds1X;
  50.                    $stawka_x = $channel->OddsData->OddsX2;
  51.                    $stawka_2 = $channel->OddsData->Odds12;
  52.                    
  53.                    /********************** WYŚWIETLAMY ****************/
  54.                    
  55.                    ?>
  56.                    
  57.                    <div>Data: <?=$data?></div>
  58.                    <div>Kolejka: <?=$kolejka?></div>
  59.                    <div>Mecz: <?=$gospodarz.':'.$gosc?></div>
  60.                    
  61.                    <div><b>1 X 2</b></div>
  62.                    <div>
  63.                        <input type="button" value="<?=$stawka_1?>" name='1x2_1' />
  64.                        <input type="button" value="<?=$stawka_x?>" name='1x2_x' />
  65.                        <input type="button" value="<?=$stawka_2?>" name='1x2_2' />
  66.                    </div>
  67.                    
  68.                    <div><b>WYNIK parzysty/nieparzysty</b></div>
  69.                    <div>
  70.                        <input type="button" value="<?=$stawka_1 +($stawka_1 * 1.5)?>" name='1x2_1' />
  71.                        <input type="button" value="<?=$stawka_1 +($stawka_2 * 1.5)?>" name='1x2_2' />
  72.                    </div>
  73.                    
  74.                    <div><b>Powyżej/poniżej 2 bramek</b></div>
  75.                    <div>
  76.                        <input type="button" value="<?=$stawka_1 + ($stawka_1 * 2.5)?>" name='1x2_1' />
  77.                        <input type="button" value="<?=$stawka_1 +($stawka_2 * 2.5)?>" name='1x2_2' />
  78.                    </div>
  79.                    
  80.                    <br /><br />
  81.                    <?php
  82.                    /*
  83.                     
  84.                     echo $data.'<br />'.$kolejka.':'.$gospodarz.'-'.$gosc.'<br />stawki:'.$stawka_1.'-'.$stawka_x.'-'.$stawka_2.'<br />';
  85.                     */
  86.                    /********************** WYŚWIETLAMY ****************/
  87.                    
  88.                
  89.                
  90.                }//if
  91.                
  92.                
  93.                
  94.              }//if
  95.              
  96.              
  97.          }//for
  98.      }
piotrooo89
ja bym sobie do tablicy get wczytał (np z selecta) kolejkę w która aktualnie przeglądam i później wyświetlił ją na początku czy gdzie tam chcesz... prosty i raczej pewny (moim zdaniem) sposób.
SN@JPER^
a poprzez jakies specyficzne zapytanie nie da rady?
piotrooo89
jeśli wpisujesz na bieżąco rekordy zawierające kolejkę możesz za pomocą MAX wyciągnąć ostatni rekord i wpisać kolejkę ale nie wiem czy to nie mija sie z celem skoro możesz sobie to również wyświetlić w select'ie
phpion
Cytat(piotrooo89 @ 5.11.2008, 00:04:12 ) *
ja bym sobie do tablicy get wczytał (np z selecta) kolejkę w która aktualnie przeglądam i później wyświetlił ją na początku czy gdzie tam chcesz... prosty i raczej pewny (moim zdaniem) sposób.

Bez komentarza...

@SN@JPER^:
Nie podam Ci gotowego rozwiązania tylko algorytm, który musisz sobie sam wdrożyć:
1. Tworzysz zmienna $aktualnaKolejka z początkową wartością np. null ($aktualnaKolejka = null).
2. Iterując po wynikach zapytania sprawdzasz czy kolejka danego rekordu jest różna od $aktualnaKolejka.
2a. Jeśli jest różna to wypisujesz nagłówek dla kolejki i (ważne!) przypisujesz wartość nowej kolejki do $aktualnaKolejka.
2b. Jeżeli wartość $aktualnaKolejka zgadza się z kolejką danego rekordu nie robisz nic.
3. Wypisujesz dane aktualnego rekordu.

I mały pseudokod:
  1. <?php
  2. $aktualnaKolejka = null;
  3.  
  4. while ($r = mysql_fetch_assoc($q)) {
  5.    if ($aktualnaKolejka != $r['kolejka']) {
  6.        // wypisujesz naglowek kolejki
  7.        $aktualnaKolejka = $r['kolejka'];
  8.    }
  9.    
  10.    // wyspisujesz dane rekordu
  11. }
  12. ?>
SN@JPER^
Tylko, że ja nie wybieram kolejki selectem, wyświetlana jest tylko aktualna kolejka...

Dzięki phpion, pomogłeś mi bardzo...
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.