Jump to content
php.lv forumi

Problēma ar funkcijas argumentiem (PART 2)


_PUIKA_

Recommended Posts

Labvakar!

Ceru neesmu kļuvis apnicīgs, bet nu ir maza problēma.

Kods reāli izvada rezultātu, bēēt.. kad pieprasu 'assoc' izvadi, viņš izvada man tikai 1 ierakstu, lai arī datu bāzē ir 2 ieraksti.

Principā, lai vai ko es tur pie $name un iekš $query pieprasītu, viņš atgriezīs pieprasīto rezultātu no TIKAI 1 datubāzes tabulas rindas.

Kur varētu būt problēma?

Kodu var apskatīt šeit!

 

P.s. Un es izsaucu funkciju šādi:

query("array", "SELECT email FROM users", "email");

 

Paldies jau iepriekš!

Edited by _PUIKA_
Link to comment
Share on other sites

Negribi pastāstīt, kāds tolks ir no šīs pārbaudes?

elseif( $this->type == 'MYSQl_ASSOC' ){
$this->type = 'MYSQl_ASSOC';
}

 

 

Palasi, lūdzu, ko nozīmē šis return atslēgvārds - http://php.net/manua...tion.return.php

 

es no iepriekšējā koda, kur tu man parādīji piemēru.. definēju ( JA $type ir NULL izvadīt NULL else .. un tad ar ELSEIF es uzskaitu 3 tipus, kurus mysql atpazīst - MYSQL_ASSOC unn NUM)

uhh sorry.. 1viet pilnīgi bezjēga pagarinu kodu.. vajadzēja pēdējā elseif pievienot vēl MYSQL_BOTH.. bet ok tas.. tagad neko nemaina lietas būtībā..

ok saīsinu un ar RETURN palīdzību izsaucu funkcijas argumenta vērtību..

 

bet patlaban tas neko nemaina.. primārā problēma ir 1 rindas izvadīšana 2 vietā.. ar mysql_query pieprasījumu un manas funkcijas ievadītajām argumentu vērtībām.

[edited] cai arī maina!?? palabo mani ja kļūdos.. es tikmeŗ pārlasīšu php dokumentāciju par return :D

 

p.s. no offense, bet esi iecietīgāks. :) Man ar te nav jautri visu nakti lasīt manāļus un sēdēt 20 forumos. :)Bet zināšanas prasa upurus.

Edited by _PUIKA_
Link to comment
Share on other sites

Tikko pakonsultējos ar kādu cilvēku.. tā vien ir.. esmu uzrakstījis bezjēdzīgi garu kodu..

pagaidām palieku pie domas tiešām pārrakstīt un definēt klasē INSERT, QUERY, SELECT, funkcijas..

Paldies tikuntā.

Link to comment
Share on other sites

Kā darbojas funkcijas:

1. Tiek izsaukta funkcija

query("array", "SELECT email FROM users", "email");

2. Pie pirmā return dotā vērtība tiek atgriezta.

3. The end.

 

 

Kā tu domā, ka darbojas funkcijas (skatoties pēc šī koda):

1. Tiek izsaukta funkcija

2. Tiek ciklēts cauri visai funkcijai (no augšas līdz apakšai, @return neņemot vērā)

3. Kad viss izciklēts -> tikai tad atgriežam informāciju ar return.

 

Kļūda:

Tevis izveidotajā CIKLĀ tiek atgrieztas visas nepieciešamās rindas - viena pēc otras. Bet tu atgriez pirmo, kas ir izvilkta no datubāzes.

Link to comment
Share on other sites

Nu ja tu izstudētu manuāli, vismaz konkrēti to ko devu par return, tad saprastu kāpēc tev tas kods neJiet.

 

Īsāk sakot - return pārtrauc funkcijas izpildi un atgriež rezultātu.

 

īss piemērs:

 

function boo(){
 return 123;
 //Kods zemāk NEKAD neizpildīsies
 return 345;
}

$a = boo();
echo $a; //Izvadīs 123, nevis 345

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...