Jump to content
php.lv forumi

number sequence problem


future_funk

Recommended Posts

myphpadmin atteelo shaadu tabulu (tabula)

 

sort by key primary ascending

 

--id----number--

121 | 1

123 | 3

124 | 4

125 | 5

 

//kods ieksh php

$id = mysql_query('SELECT id FROM tabula');

$number = mysql_query('SELECT number FROM tabula');

$num = mysql_num_rows($id);

for ($i=0; $i < $num; $i++){

echo $i;

echo ":";

echo mysql_result($id, $i);

echo ":";

echo mysql_result($number, $i);

echo "<br>";}

 

tiek izvadiits (row:id:number)

0:121:1

1:123:5

2:124:3

3:125:4

 

a ja paskataas uz tabulu, kas ir phpmyadmin, tad rezultaati nesakriit,

kas tas par velnu taads???

Link to comment
Share on other sites

Kā jau venom teica: relāciju datubāzē relācijas ierakstu kārtība nav definēta (tā ir vienkārši kopa no rindiņām). Tāpēc to, kādā kārtībā ierakstus atgriež select teikums, tas nav stingri noteikts (viņš drīkst darīties kā pašam tīk)!

Link to comment
Share on other sites

taatad pareizi buus laikam shaadi:

 

$query = mysql_query('SELECT id, number FROM news');

$num = mysql_num_rows($query);

for ($i=0; $i < $num; $i++)

{

echo $i;

echo ":";

echo mysql_result($query, $i, 'id');

echo ":";

echo mysql_result($query, $i, 'number');

echo "<br>";

}

 

un rezultaati arii itkaa sakriit..

Edited by future_funk
Link to comment
Share on other sites

tāpēc ka ņefig. ja db būs miljards ierakstu un tu izdēsīsi vienu no pirmiem - pārējo miljardu jāpārindeksē? fuj!

 

nb. ir labas mysql_fetch* funkcijas

$q=mysql_query()

while($res=mysql_fecth_assoc($q))

{

echo $r['id'].':'.$r['number'];

//vai pat echo implode(':',$r);

}

Link to comment
Share on other sites

kaapeec nenotiek taa ->>> 1,2,4,5 ????

Tāpēc, ka es tev teicu: ierakstu kārtība, ko dabū select teikums, nav noteikta viennozīmīgi! Ja gribi ierakstus sakārtot pēc id, tad raksti:

SELECT id, number FROM tabula ORDER BY id

(iesaku pamācīties/palasīties kautko par relāciju datubāzēm)

Link to comment
Share on other sites

×
×
  • Create New...