Jump to content
php.lv forumi

Unable to jump to row 0 on MySQL result index 12


daGrevis

Recommended Posts

Sveiki,

Veidoju tādu kā blogu jeb ierakstu sistēmu un nu beidzot - pirmā kļūda! =) Nesaprotu, kas PHP nepatīk... =/

 

Kļūdas paziņojums:

 

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 12 in C:\xampp\htdocs\bliss-1.0.0\includes\functions.php on line 252

 

Cikls: http://paste.php.lv/7bda0fa3da3ef0d5cec932d612327205?lang=php

 

P.S. Pirmais ieraksts nemet kļūdas - otrais un tā tālāk gan.

 

Attiecīgā funkcija: http://paste.php.lv/21443f7e0efb9a6f453322225554797b?lang=php

 

Atvainojos, ka viena līnija ir šausmīgi gara... =D Vēl jāizdomā, kā to saīsināt! =) Tikai koncepts! =D

Link to comment
Share on other sites

or die(mysql_error())

 

Un kāpēc tos 4 echo ar garajām rindām nevar pārrakstīt šādi??

echo "
<h4>» {$row['title']} </h4>
<p>{$row['content']}</p>
<p style='font-size: 11px; padding-top: 5px;'>
	Posted on <em>" . date('m/d/Y, H:i:s', $row['time']) . "</em>,
	by <span style='color: " . get__level_color(get__level($row['ID'])) . "; font-weight: bold;'>" . get__username($row['author']) . "</span>.
</p>
<br />
";

Edited by briedis
Link to comment
Share on other sites

O, tā jau ir labāk! =)

 

Tikai tāpat kļūda....

 

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 10 in C:\xampp\htdocs\bliss-1.0.0\includes\functions.php on line 252

 

Jaunais cikls: http://paste.php.lv/61b3b0fabaac1c7a610451256dd88d74?lang=php

Funkcija ar kļūdas izmešanu: http://paste.php.lv/c2446b9ce140498f604a0b9e6e340e22?lang=php

Link to comment
Share on other sites

Visdrīzāk vaina ir tajā, ka tu ciklā apstrādā viena kverija atgrieztos datus un pa vidu izsauc citus kverijus.

 

Bet tev vajag pārdomāt koda struktūru - pati ideja, ka tu ciklā izsauc n līdzīgus kverijus jau norāda uz to, ka koda struktūra ir tālu no optimālās.

Izskatās, ka pamatkverijā ir vienkārši vajadzīgs JOIN-s.

Link to comment
Share on other sites

Bik papildināšu iepriekšēja oratora pareizo atbildi: mysql_result neaiztiek MySQL, tā funkcija ir domāta mysql rezultāta pārveidošanai veidā, kas būtu saprotams PHP. Teorētiski, šo funkciju var izsaukt, nepieslēdzoties pie MySQL. Tieši ar SQL darbojās funkcija mysql_query, un, protams, tieši šī funkcija var atgriezt mysql_error.

Edited by Леший
Link to comment
Share on other sites

Ok, es jau cenšos domāt, briedi, nevajag bakstīt sejā, ka nesanāk... Pats pamanīju! =D

 

Tātad kļūda tiek mesta, jo cikla laikā tiek izsaukts cits kverijs. To dara funkcija get__level().

Risinājumi? JOIN's? (pirmo reizi ar tādu saskaros) Cita koda struktūra? Kā tas izpaustos? (būtu pateicīgs par piemēru)

Link to comment
Share on other sites

Funkciju get__level() izsauc vienreiz pirms cikla un atgriezto vērtību pieglabā mainīgajā, kuru pēc tam izmanto vajadzīgajās vietās.

Nav jēga vienu un to pašu vērtību pieprasīt tik daudzas reizes.

 

+ kāda nozīme ir diviem underscoriem ?

Edited by xcwcx
Link to comment
Share on other sites

Funkciju get__level() izsauc vienreiz pirms cikla un atgriezto vērtību pieglabā mainīgajā, kuru pēc tam izmanto vajadzīgajās vietās.

Nav jēga vienu un to pašu vērtību pieprasīt tik daudzas reizes.

 

+ kāda nozīme ir diviem underscoriem ?

 

 

Nu, bet katru reizi jau lietotājs nav Jānītis. Katru reizi lietotāji mainās, piemēram, vēlāk ir Pēterīts. =(

 

Apakš-svītrām? No tehniskā viedokļa nekāda.

Edited by daGrevis
Link to comment
Share on other sites

CREATE TABLE `entries` (
`ID` int(8) NOT NULL auto_increment,
`title` varchar(255) NOT NULL,
`content` text NOT NULL,
`author` int(8) NOT NULL,
`time` int(10) NOT NULL,
PRIMARY KEY (`ID`)
);

 

 

function get__level_color($level)
{

switch($level) {

	case 1: return 'black';
	case 2: return '#cc6600';
	case 3: return '#009900';
	case 4: return '#800000';

	default: return '(UNKNOWN)';

}

}

function get__level($ID)
{

$query = mysql_query("

	SELECT `level`
	FROM `users`
	WHERE `ID`='$ID'

") or exit(mysql_error());

return mysql_result($query, 0);

}

 

Nu man vajag, lai autora niks būtu tādā krāsā, kāda atbilst viņa pašreizējam līmenim/statusam, piemēram, admins - sarkanīgs.

Ja nepieciešama vēl kāda infa - lūdzu sakiet! =)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...