Jump to content
php.lv forumi

Izvilkt, apstrādāt, updeitot.


eregi

Recommended Posts

Tā, tagad nelielu skriptiņu čakarēju, kurš izčeko spēļu serverus, ievāc informāciju, un izecho to, viens no galvenajiem failiem ir - http://paste.php.lv/6109

darbība pašlaik ir tāda - izvelk no mysql ip:port ievieto funkcijā un izlaič cauri, iegūstot rezūltātu, kas izskatās apm šādi -

[serveraid] => Array
	(
		[hostname] => iegūtaishosts
		[gamename] => spēle
}

 

pēctam tieši no visa šī pieprasa to, ko mums vajag, piem

echo $data[$row1['Id']]['hostname'];

kas izvilks hostneimu. Viss itkā strādā līdz izechošai, to ieskaitot, bet, kad mēģinu ar nevis echo'sanu, bet gan mysql update, nekas nesanāk - mēģināju apm šādi - http://paste.php.lv/6110 , bet izmet erroru, kaut kas šim ar updeitu nepatīk, ceru, ka kāds varēs palīdzēt, to updeitošanas jautājumu.

 

cjeers

Link to comment
Share on other sites

Varu saderēt, ka mysqls tev kļūdu priekšā saka... Vajag tikai paprasīt: or die("kkas aizgaja dirsaa :("); => or die(mysql_error());

Stringus SQL teikumos vajag likt pēdiņās - " vai '. Turpretī skaitļus nevajag (WHERE Id='1').

 

P.S. publicējot savu kodu, postē nelielu fragmentu no tā, tikai dažas rindiņas, nevis to visu simtiem rindu garo palagu, ko iedevi. Tas tikai palielinās iespēju sagaidīt labu atbildi.

Link to comment
Share on other sites

Varu saderēt, ka mysqls tev kļūdu priekšā saka...

Parse error: syntax error, unexpected T_CATCH in /var/www/localhost/htdocs/web/serv/GameQ.php on line 522

 

522-525 rindā atrdās -

catch (GameQ_Exception $e) {
echo 'An error occurred.';
}

:/ mēģinot removot tās 2 rindas, turpinās erroru virkne.

P.S. publicējot savu kodu, postē nelielu fragmentu no tā, tikai dažas rindiņas, nevis to visu simtiem rindu garo palagu, ko iedevi. Tas tikai palielinās iespēju sagaidīt labu atbildi.

sorē.

Link to comment
Share on other sites

Paldies!

 

Vēl tāda lieta, man katra updeita laikā vajag iemest rowā +1, lai redzētu, cik kopā ir bijuši apdeiti, piem, sākumā ir viens un updeita laikā izvelk no db, ka bija 1 un tam pieskaita vēl vienu apdeitoto reizi ( 1+1). Mēģināju, laikam tomēr neesmu iebraucis kā sql qvērijus var kārtot - http://paste.php.lv/6112

 

tad es izdomāju, ka vajag vienkārši uzrakstīt funkciju, tik nezinu, uz, ko returnot -

function kopa(skaits)
{
$viss=$skaits+1;
$viss
return ?!?!?!?
}

 

Kā? ā un jā, vēl, vienā no failiem, kurš tiek inklūdots, tiek pārbaudīts, vai serveris ir on, ja ir, tad ok, ja nav tad $neiet = $serveraid;, tātad ja tajā failā echo arā, tad viss ir ok, bet ja echo main failā, kas visu inclūdo, tad nekas nenotiek, diezvai es pietiekami skaidri paskaidroju, bet galva uz nakti sūdīgāk šancē.

Edited by eregi
Link to comment
Share on other sites

vēlreiz -

 

Skripta izpildes laikā var gadīties, ka kāds no serveriem, kuram es konektējos klāt ir izslēgts, sākumā tam skriptam bija uztaisīts tā, ja serveris izslēkts tad die un viss, bet es uztaisīju maziņu figņu, lai tā darbība turpinās, kā arī nodefinēju $neiet = $idkursneiet;, lai ja nu kāds serveris neiet, tā updeita laikā tiktu vienā rowā pieskaitīts +1 ( lai vēlāk zinātu cik reizes nav gājis). - http://paste.php.lv/6114 tā fiška, kura nosaka $neiet ir 87 rindā, ja es echo'ju tos $idkurineiet iekš tā if'a, tad viss echojās, bet ja es mēģinu izecho't to $neiet iekš jau kāda cita faila - http://paste.php.lv/6115 - 25 rinda, tad nekko neizvada.

 

Doma ir tāda, ja serveris ir off, tad iekš mysql updeita pieskaita vienu reizi, kad bijis off un vienu reizi pie - cik reizes nočekots.

 

un ar to funkciju, kuru iepriekš rādīju gribēju, lai tā ģenerē čekotās reizes ( izvelk cik jau reizes tas row's ir updeitots un tad pieskaita +1 )

 

 

 

eDit: visdrīzāk, ka vajadzētu kautkādu if'u vai funkciju, kas nosaka, ja ir online, tad izmanto tādu update qvēriju, bet ja off, tad citu..

Edited by eregi
Link to comment
Share on other sites

×
×
  • Create New...