[ ljuba @ 23.01.2002. 15:26 ] @
U tabeli imam 8 redova koje dobijem nesto ovako:

...
$result = mysql_query($sSQN ,$vdb);
...

broj redova koje dobijem je OK i to dobijem kao:
$broj = mysql_num_rows($result);

kretanje kroz ceo rekord set je:

...
while ($myrow = mysql_fetch_array($result)) {
echo "Poslednji update: <br>";
echo $myrow["vdatum"];
echo "Prvi update: <br>";
echo $myrow["vdatum1"];
};
...

To je OK za prolaz kroz sve ... ali kako da uzmem samo 7-mi i 8-mi red iz rekord seta ... ili uopsteno kako da uzmem $broj-1 i $broj-ti red iz rekord seta? Potrebno je da se prikazu podaci iz zadnja dva reda posebno pa posle izlistani svi ...

Probao sam nekako ovako ali nista ne prikaze :(((

echo $result["vdatum"][$broj];
echo $result["vdatum"][$broj-1];

echo $result[$broj]["vdatum"];
echo $result[$broj-1]["vdatum"];

Hvala
[ Zoran Rašković @ 23.01.2002. 16:40 ] @
$result=mysql_query("select * from $table where 1 limit $startni_red, $koliko_rekorda_unapred", $db);
[ ljuba @ 23.01.2002. 17:17 ] @
$result=mysql_query("select * from $table where 1 limit $startni_red, $koliko_rekorda_unapred", $db);

Cao,

Hvala na odgovoru ali npr sad je 8 redova i ja ocu 7-mi i 8-mi da ispisem i odma posle, iz istog skripta da ispisem svih 8 od prvog do zadnjeg. Mozda sutra bude 50 redova pa ce trebati 49-ti i 50-ti i odma posle da ispisem svih 50. Znaci ne znam koji je pocetni red.

Skripta mi je izgleda:

// Ja sve rekorde dobijem sa:
$sSQN = "";
$sSQN = $sSQN . "SELECT * FROM nav1";
$sSQN = $sSQN . " WHERE laserija = 1";
$result = mysql_query($sSQN ,$ladb);

// A broj rekorda dobijem sa:
$broj = mysql_num_rows($result);

// Ovde trebam da ispisem $broj-1-vi i $broj-ti rekord iz $result
// i da posle ovaj ispis svih moze normalno da se obavi

// Ispis svih je:
while ($myrow = mysql_fetch_array($result)) {
echo "Poslednji update: <br>";
echo $myrow["ladatum"];
echo "Prvi update: <br>";
echo $myrow["ladatum1"];
};

Hvala
[ Divine @ 23.01.2002. 20:09 ] @
Poz Ljubo,

Imas jedno resenje, nije neko, ali ce raditi na tvom primjeru:

//code start
$query = mysql_query("select * from tabela");
$num_rows = mysql_num_rows($query);
$cnt = 0
while ($red = mysql_fetch_array($query)) {
$cnt++; //uvecava $cnt za po jedan svaki put posle vracanja petlje
if ($cnt >= $num_rows - 1) {
echo($red[kolona] . "<br>"); // ovo ce naravno ispisati samo 2 poslednja reda iz mysql query-a :)
}
}
//code end

Ovo gore mozda prestavlja resenje koje bi malkice usporilo skriptu, ali ako rezultati querija nisu bas glomazni prestavlja ok resenje na tvoj problem.

Judge Dred ti je dao savrseno resenje, ovo gore prestavlja samo jos jedno. Ako ti nije jasno ovo sta ti je on napisao, pojasnicu:

//code start
$query = mysql_query("select * from tabela");
$num_rows = mysql_num_rows($query);

$num_rows = $num_rows - 2; //umanji za 2
$query_last_two = mysql_query("select * from tabela limit $num_rows, 2"); //izbaci poslednja 2 reda is baze

while ($red = mysql_fetch_array($query_last_two)) {
echo($red[kolona] . "<br>"); //odstampaj poslednja 2 reda is querija
}
//$query iskoristi za prikazivanje svih redova iz baze
//code end

Pozdrav
[ _owl_ @ 23.01.2002. 20:39 ] @
Da li neko cita PHP manual na ovom forumu??

bool mysql_data_seek(resource result_id, int row_number)

Elem ova zgodna funkcija sluzi da se result pointer prebaci na odgovarajuci red (indeks krece od 0) tako da sledeci poziv funkcije za vracanje reda (mysql_fetch_assoc||array||row) vrati taj red.

[ ljuba @ 23.01.2002. 20:43 ] @
Hvala puno svima.