» »

php vprašanje.

php vprašanje.

chrispy ::

Pozdravljeni!

$tovarna=array(
		"mesec"=>array(
			"teden"=>array(
				"dan"=>array(
					"dobri_vijaki"=>0,
					"slabi_vijaki"=>0)
				)
		)
		);


evo imam tako tabelo. Ki jo kasneje napolnim.
Rad bi, da bi računal povprečje v določenem tednu v določenem mesecu, število dobrih in število slabih vijakov. Imam funkcijo count ter sum. Nevem pa kako naj napišem, da mi izračuna skupno število vseh dobrih vijakov v nekem tednu.

$mesec = array("Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December");
	$dan = array("Ponedeljek","Torek","Sreda","Cetrtek","Petek");
	foreach ($mesec as $izbran_mesec) {
		foreach ($dan as $izbran_dan ) {
			$tovarna[$izbran_mesec][1][$izbran_dan]["slabi_vijaki"]=rand(300,500);
			$tovarna[$izbran_mesec][1][$izbran_dan]["dobri_vijaki"]=rand(300,500);
			$tovarna[$izbran_mesec][2][$izbran_dan]["slabi_vijaki"]=rand(300,500);
			$tovarna[$izbran_mesec][2][$izbran_dan]["dobri_vijaki"]=rand(300,500);
			$tovarna[$izbran_mesec][3][$izbran_dan]["slabi_vijaki"]=rand(300,500);
			$tovarna[$izbran_mesec][3][$izbran_dan]["dobri_vijaki"]=rand(300,500);
			$tovarna[$izbran_mesec][4][$izbran_dan]["slabi_vijaki"]=rand(300,500);
			$tovarna[$izbran_mesec][4][$izbran_dan]["dobri_vijaki"]=rand(300,500);
		}
	}
	return $tovarna;

to je koda, ki mi napolni tabelo 

    [3] => Array
                (
                    [Ponedeljek] => Array
                        (
                            [slabi_vijaki] => 418
                            [dobri_vijaki] => 500
                        )

                    [Torek] => Array
                        (
                            [slabi_vijaki] => 417
                            [dobri_vijaki] => 435
                        )

                    [Sreda] => Array
                        (
                            [slabi_vijaki] => 402
                            [dobri_vijaki] => 436
                        )

                    [Cetrtek] => Array
                        (
                            [slabi_vijaki] => 323
                            [dobri_vijaki] => 455
                        )

                    [Petek] => Array
                        (
                            [slabi_vijaki] => 330
                            [dobri_vijaki] => 441
                        )

                )


tako pa izgleda, za nek naključen teden v mesecu.

seveda bi lahko med izpisovanjem, te podatke še nekam hranil v novo spremenljivko, samo me zanima če je kakšna lažja/hitrejša pot z uporabu funkcij count in sum.

Apple ::

Kaj pa, če bi vpisoval v bazo in potem z SQL-om delal različne querije?
LP, Apple

chrispy ::

Vem da bi lahk tako, ampak to je naloga kjer moramo uporabiti samo PHP

PandaFlow2 ::

Pri takšni strukturi arraya ti vgrajene array funkcije v PHP ne bodo kaj dosti pomagale...

$sum = 0;
$count = 0;

foreach($tovarna["Oktober"][1] as $dan) {
        $sum += $dan["dobri_vijaki"];
        $count++;
}

printf("Dobrih vijakov: %d; Povprecje: %3.1f\n", $sum, $sum / $count);

Yacked2 ::

A ne bi blo lažje če bi raje naredu array za vsak mesec posebej pa noter tok prostorov kt ma mesec dni, pa bi lohka računu povprečje za mesec, povprečje povprečja bi dobil povprečno leto, za povprečje tedna bi pa šel pogledat št. dneva po modulu 7 pa bi vedel u katerem tednu je izbrani dan.
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

ferencak ::

Pozdravljeni.
Imam vprašanje in sicer delam v php-ju registracijo in ko vpišem vse podatke in mi spodaj izpiše registracija uspela, refrešam spletno stran in še vedno piše registracija uspela.
Kako doseči da izbriše sledi?

Hvala za odgovor.

Apple ::

ferencak je izjavil:

Pozdravljeni.
Imam vprašanje in sicer delam v php-ju registracijo in ko vpišem vse podatke in mi spodaj izpiše registracija uspela, refrešam spletno stran in še vedno piše registracija uspela.
Kako doseči da izbriše sledi?

Hvala za odgovor.


Inicializacija?
LP, Apple

ferencak ::

To mi dela.


Rad bi, da ko osvežim spletno stran izginejo test kakor tudi Registracija uspela

Zgodovina sprememb…

  • spremenil: ferencak ()

Apple ::

In koda je kje?
LP, Apple

ferencak ::

		<?php
			
		    
		
			if(isset($_POST['submit']))
			{
				echo $_POST['ime'];
				echo "<br />";
				echo $_POST['geslo'];
				echo "<br />";
				echo $_POST['geslop'];
			    echo "<br />";
				
			   	$ime = $_POST['ime'];
				$geslo = $_POST['geslo'];
				$geslop = $_POST['geslop'];
				
			  If($_REQUEST['ime']=='' || $_REQUEST['geslo']=='' || $_REQUEST['geslop']=='')
			   {	
				  	echo "Vnesite vsa polja";
			   }else
			   	{
			   		echo "Registracija uspela";
			   	}
			   if($geslo == $geslop)
				  	{
				  		
				  	}else{
				  		echo "Gesli se ne ujemata.";
				  	}
			 }
			 	
			 
			 
			 
			
			
			
?>
	

Ziga Dolhar ::

Ko ugotoviš, da je "registracija uspela", uporabi preusmeritev (npr. header('Location: index.php');)

Mimogrede - zakaj preverjaš $_REQUEST, in ne striktno $_POST? (No, je še nekaj hecnosti v kodi, ampak tale pa res najbolj v uč skoči :).
https://dolhar.si/

carota ::

No offence, ma se mi zdi, da ne veš dobro kaj počneš. ;)

Tam ugotoviš da gre za Post in potem izpišeš 3 vnosna polja, v vsakega si vpisal "test". Potem imaš "if", ki ugotovi da niso vsa tri prazna in ti javlja "Registracija uspela". Deluje točno tako kot si napisal.

Če pa refrešaš stran in te opozori da so bili postani eni podatki in če jih hočeš še enkrat postat ter klikneš Yes, potem logično dobiš spet isto.

Ziga Dolhar ::

Še pojasnilo: Ko refrešaš stran, te browser opozori, da bo (ponovno) poslal (POST) podatke. Strežnik jih zato ponovno prejme, in izvrši tvojo kodo (vključno z izpisom POST podatkov ter njihovim preizkusom). To rešiš tako, da takoj ko prejmeš podatke, te analiziraš in po potrebi shraniš v $_SESSION (npr. $_SESSION['registracija_uspela'] = true) in se preusmeriš na nek link (recimo index.php). Tu pa potem preveriš uspeh transakcije (if(isset($_SESSION['registracija_uspela?] && true === $_SESSION['registracija_uspela'])) in v takem primeru prikažeš ustrezno sporočilo.

Moraš pa nekaj upoštevati - headerje lahko pošiljaš le preden pošlješ kakršenkoli drug output. "Echoti" pred headerjem so tak output, zaradi katerega headerjev ni mogoče več poslati.

To najelegantneje rešiš tako, da kodo, ki preverja uspešnost registracije, postaviš na vrh kode. Tudi zato moj zgornji predlog (da header vržeš za točko, kjer ugotoviš in izpišeš uspeh, ne bo delovala.)

Druga varianta je da uporabiš output buffering - ampak to je precej ugly hack.
https://dolhar.si/

Zgodovina sprememb…

fx ::

Mene pa zanima, kaj je boljše da se dokument, ki se prenaša na strežnik kopira na posebno lokacijo diska na strežniku ali pa se vsebina zapiše v mysql tabelo s poljem tipa longblob?
Lep pozdrav,

fx

Yacked2 ::

fx je izjavil:

Mene pa zanima, kaj je boljše da se dokument, ki se prenaša na strežnik kopira na posebno lokacijo diska na strežniku ali pa se vsebina zapiše v mysql tabelo s poljem tipa longblob?


Kaj delaš, koliko veliki dokumenti, koliko bo teh dokumentov, kaj želiš z besedilom delat?
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

Ice-Heki ::

Če gre za dokumente tipa pdf, docx, itd. potem se tega ne shranjuje v bazo. Shraniš na disk, v bazo pa link do dokumenta z meta podatki.

fx ::

Do sedaj sem delal tako. Samo bivši sodelavec pa je delal tako da je vpisoval v bazo. Tako sem prišel do tega vprašanja, ki sem ga zastavil.
Sem mislil da je ta sistem shranjevanje v tabelo boljši od trenutnega ki sem ga uporabljal.

Hvala za odgovore.

Lp,

fx
Lep pozdrav,

fx


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[Java - DN] Naključna števila

Oddelek: Šola
121276 (805) nyler
»

php array sortiranje

Oddelek: Izdelava spletišč
91101 (824) Mesar
»

[C#] Domača naloga - osnove

Oddelek: Programiranje
372340 (1557) 11tomi12
»

največkrat pojavljeni element v tabeli

Oddelek: Programiranje
181845 (1220) pac1
»

PHP - zakaj mi ne zapise vsakokrat podatkov v datoteko?

Oddelek: Programiranje
61460 (1392) Cokolesnik

Več podobnih tem