Skocz do zawartości
  • 1
X3nO

Zapytanie wyświetla jeden rekord (?)

Pytanie

Witam, mam problem z zapytaniem SQL w IP.Board 3, mianowicie wyświetla mi tylko pierwszy rekord, jest ktoś w stanie naprowadzić mnie na błąd?

				$this->registry->DB('samp_db')->build( array(
					'select' => 'lastvisit, name, premium, premiumtime, skin, online',
					'from'  => 'Accounts',
					'where' => 'premium>=1',
					'order'=> 'premium desc'
				));
				$this->registry->DB('samp_db')->execute();

				while ($row = $this->registry->DB('samp_db')->fetch()) {
					$output .= '<tr class="row2">
						<td style="text-align: center;">'.$panel->formatSkin($row['skin']).'</td>
						<td style="text-align: center;">'.$panel->formatName($row['name'], '1').' ('.$panel->formatName($row['name'], '2').')</td>
						<td style="text-align: center;">';
						if ($row['online'] == 1) {
							$output .= '<span data-tooltip="Aktualnie przebywa na serwerze." class="ipsBadge ipsBadge_green">Aktywny</span>';
						} else {
							$output .= '<span class="ipsText_small desc">'.$this->registry->class_localization->getDate( $row['lastvisit'], 'LONG', 1, 1 ).'</span>';
						}
						$output .= '</td>
						<td style="text-align: center;"><span class="ipsText_small desc">'.$this->registry->class_localization->getDate( $row['premiumtime'], 'LONG', 1, 1 ).'</span></td>
					</tr>';
				}
  • Like 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

9 odpowiedzi na to pytanie

Polecane posty

  • 1

No to w pętli musisz dawać fetch()

$this->registry->DB('samp_db')->build( array(
					'select' => 'lastvisit, name, premium, premiumtime, skin, online',
					'from'  => 'Accounts',
					'where' => 'premium>=1',
					'order'=> 'premium desc'
				));
				$res = $this->registry->DB('samp_db')->execute();

				while ($row = $this->registry->DB('samp_db')->fetch( $res )) {
....

 

  • Like 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Chodzi bardziej o to, że print_r($this->registry->DB('samp_db')->fetch()); daje 1 rekord:

Array( [lastvisit] => 1445788842 [name] => Comb [premium] => 2 [premiumtime] => 2147483647 [skin] => 21 [online] => 0 )

 

Edytowano przez X3nO

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

to możesz użyć takiej konstrukcji:

$result = $this->registry->DB('samp_db')->buildAndFetch(....);

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0
				while ($row = $this->registry->DB('samp_db')->buildAndFetch( array(
					'select' => 'lastvisit, name, premium, premiumtime, skin, online',
					'from'  => 'Accounts',
					'where' => 'premium>=1',
					'order'=> 'premium desc'
				))) {
					$output .= '<tr class="row2">
						<td style="text-align: center;">'.$panel->formatSkin($row['skin']).'</td>
						<td style="text-align: center;">'.$panel->formatName($row['name'], '1').' ('.$panel->formatName($row['name'], '2').')</td>
						<td style="text-align: center;">';
						if ($row['online'] == 1) {
							$output .= '<span data-tooltip="Aktualnie przebywa na serwerze." class="ipsBadge ipsBadge_green">Aktywny</span>';
						} else {
							$output .= '<span class="ipsText_small desc">'.$this->registry->class_localization->getDate( $row['lastvisit'], 'LONG', 1, 1 ).'</span>';
						}
						$output .= '</td>
						<td style="text-align: center;"><span class="ipsText_small desc">'.$this->registry->class_localization->getDate( $row['premiumtime'], 'LONG', 1, 1 ).'</span></td>
					</tr>';
				}

i error 500

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

nie, żaden while. ten kod co dałem i tyle. później już normalnie w $output wstawiasz $result[ '..' ]

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Tylko buildandfetch daje 1 rekord :/ a ja potrzebuje pętle ;/

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość
Temat jest zablokowany i nie można w nim pisać.

  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×

Ważne informacje

Kontynuując przeglądanie strony, wyrażasz zgodę na używanie przez nas plików cookies.