javascript stin idia selida 2 fores

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

javascript stin idia selida 2 fores

Δημοσίευση από fafos » 23 Μάιος 2010 17:16

maliv76 έγραψε:ΕΡΩΤΗΣΗ...

ΓΙΝΕΤΑΙ ΚΑΙ ΓΙΑ ΤΟ 2ο 3α..μεχρι 9???γιατι μονο με == 1 το βλεπω..η να προσθεσω το ιδιο == 2 ==3 κοκ

απο οτι ειδα δεν χρειαζεται 9 φορες...πως γινετε αυτο δεν μου το εξηγεις? αφου == 1 θετεις μονο
τα παιρνω πισω τα αλλα που γραψα:)
efoson den gnorizeis php akouse ti sou leei o kontopatrioths gia na kaneis tora thn douleia sou... gia na ftaseis sto shmeio na katalavaineis ti kanei o kodikas prepei na exeis parei gnoseis se pio apla pragmata ths php.. mhn ksekinas apo thn mesh... an thes na to metatrepeis sthn class vres auto to kommati kodika:

Κώδικας: Επιλογή όλων

        foreach ($r as $day)
        {

akrivos apo kato vale auto:

Κώδικας: Επιλογή όλων

$day = (strlen($day) == 1)? "0".$day : $day;

maliv76
Δημοσιεύσεις: 27
Εγγραφή: 22 Μάιος 2010 22:06

javascript stin idia selida 2 fores

Δημοσίευση από maliv76 » 23 Μάιος 2010 17:25

Ευχαριστώ για τη βοήθεια η δουλειά μου δεν ειναι ειδικα php ..αλλα αφου δεν θέλετε θα παω να μαθω τα echo :)

μιας που ξέρετε έχετε να μου προτείνετε να αγοράσω βιβλίο για php.γιατι θέλω να την μάθω..

maliv76
Δημοσιεύσεις: 27
Εγγραφή: 22 Μάιος 2010 22:06

javascript stin idia selida 2 fores

Δημοσίευση από maliv76 » 23 Μάιος 2010 17:40

...

maliv76
Δημοσιεύσεις: 27
Εγγραφή: 22 Μάιος 2010 22:06

javascript stin idia selida 2 fores

Δημοσίευση από maliv76 » 24 Μάιος 2010 03:37

ΠΕΙΤΕ ΡΕ ΜΟΝΟΦΑΓΑΔΕΣ ΕΝΑ ΒΙΒΛΙΟ ΝΑ ΑΓΟΡΑΣΩ ...:))))

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

javascript stin idia selida 2 fores

Δημοσίευση από fafos » 24 Μάιος 2010 04:04

maliv76 έγραψε:ΠΕΙΤΕ ΡΕ ΜΟΝΟΦΑΓΑΔΕΣ ΕΝΑ ΒΙΒΛΙΟ ΝΑ ΑΓΟΡΑΣΩ ...:))))
sou exei peiastei o sverkos? ligo pio kato an koitages sthn arxikh selida tha to evlepes: http://www.freestuff.gr/forums/viewtopic.php?t=49866

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

javascript stin idia selida 2 fores

Δημοσίευση από korgr » 24 Μάιος 2010 11:22

maliv76 έγραψε:Αν μπορείς να μου εξηγήσεις πως δουλεύει???

γιατι το θέμα ειναι να μαθαίνουμε και οχι απλά να παίρνουμε ετοιμους κωδικες που κανουν τις δουλειές μας..η απορία μου ειναι πως καταλαβαινει οτι ειναι για 1 μεχρι 9...
Σε συμπαθησα, γιατι δειχνεις πως πραγματι θα μαθεις PHP :D
Οταν θελουμε να καταλαβαινουμε το πως γινεται και οχι να μενουμε στο οτι γινεται, θετουμε τις σωστες βασεις της εκπαιδευσης μας.

Η αναλυση εχει ως εξης:

$day_from1= (strlen($day_from) == 1)? "0".$day_from : $day_from;

που ειναι το ισοδυναμο του:

if(strlen($day_from) == 1){ // αν ο αριθμος των χαρακτηρων της $day_from ισουται με 1, αρα ειναι αριθμος με ενα ψηφιο (0-9)
$day_from1="0".$day_from; // βαλε ενα μηδενικο μπροστα απο τον αριθμο
}else{ // διαφορετικα
$day_from1=$day_from; // κρατα τον αριθμο ως εχει
}

Μπορεις σαν θεωρια απο τη νεα συνταξη που σου προτεινα, να κρατησεις πως:
Η κοκκινη μεταβλητη, αν ισχυει η πρασινη συνθηκη θα παρει την μπλε τιμη, διαφορετικα θα παρει την μωβ τιμη. Η συνθηκη πρεπει να ακολουθειται απο το συμβολο ? και το διαφορετικα αναπαρισταται με την ανω-κατω τελεια (:)

Αν κατι δεν καταλαβαινεις, να το αναλυσουμε παραπανω :)

maliv76
Δημοσιεύσεις: 27
Εγγραφή: 22 Μάιος 2010 22:06

javascript stin idia selida 2 fores

Δημοσίευση από maliv76 » 24 Μάιος 2010 14:55

ουσιασστικα παρινεις τα ψηφία σαν string ελεγχεις αν ειναι μονό δλδ αν καταλαβα...σε ευχαριστώ

ουσιαστικά σνα το κατεβατό που εβλα πριν συμπιεσμένο...

fafo συγνωμη εχεις δικιο..δεν το λεω ειρωνικα βρε..στο αστειο το ειπα το μονοφαγαδες
σε βλεπω νευρικό why?

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

javascript stin idia selida 2 fores

Δημοσίευση από korgr » 24 Μάιος 2010 15:56

maliv76 έγραψε:ουσιασστικα παρινεις τα ψηφία σαν string ελεγχεις αν ειναι μονό δλδ αν καταλαβα...σε ευχαριστώ

ουσιαστικά σνα το κατεβατό που εβλα πριν συμπιεσμένο...
Σωστα καταλαβες.
Η διαφορα ειναι πως εκτος απο συμπιεσμενο ειναι πολυ πιο γρηγορο στην εκτελεση γιατι η php θα ελεγξει 1 συνθηκη αντι για 9.
Ειναι σαν να πουμε σε καποιον, "πηγαινε στο περιπτερο και παρε μου τσιγαρα σε παρακαλω". Οταν γυρισει να του πουμε "α πηγαινε παρε και σπιρτα", μετα "α ξεχασα και μια κοκα κολα, μπορεις να ξαναπας;" και γενικα να τον στειλουμε 9 φορες αντι να του πουμε "Πηγαινε και παρε τσιγαρα, σπιρτα, κοκα κολα ...κλπ" :D

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

javascript stin idia selida 2 fores

Δημοσίευση από fafos » 24 Μάιος 2010 16:38

maliv76 έγραψε: σε βλεπω νευρικό why?
grafopsyxologos eisai?

maliv76
Δημοσιεύσεις: 27
Εγγραφή: 22 Μάιος 2010 22:06

javascript stin idia selida 2 fores

Δημοσίευση από maliv76 » 24 Μάιος 2010 16:43

Nai cool...
Αλλη μια ερώτηση ρε παιδιά να κάνω. οταν παιρνω την αναφορά..θελω να κάνω export σε csv
το κάνω αλλά μαζί παίρνω κι άλλα στοιχεία όπως το menu του website...
ιδου ο προχειρος κωδικας

Κώδικας: Επιλογή όλων

<?php
header&#40;"Content-type&#58; application/octet-stream"&#41;;
header&#40;"Content-Disposition&#58; attachment; filename=\"my.csv\""&#41;;

$con = mysql_connect&#40;"localhost","maliv","191276"&#41;;
if &#40;!$con&#41;
&#123;
  	die&#40;'Could not connect&#58; ' . mysql_error&#40;&#41;&#41;;
&#125;
mysql_select_db&#40;"cstation", $con&#41;;
mysql_query&#40;"SET CHARACTER SET utf-8"&#41;;
mysql_query&#40;"SET NAMES utf8"&#41;;
session_start&#40;&#41;;
$date = $_SESSION&#91;'date'&#93;;
// Get all the data from the "example" table
$result = mysql_query&#40;"SELECT St_StationId, St_Name, SL_DateTime, SL_Opr_Mode, " .
                                      " SL_Cap_1, SL_Cap_2, SL_Cap_3 " .
                                      " FROM Station_Log_Data, Stations " .
                                      " WHERE St_StationId = SL_Station_Id " .
                                      " AND DATE_FORMAT&#40;SL_DateTime, '%d%m%Y'&#41; = '" . $date . "' " .
                                      " ORDER BY St_Name, SL_DateTime"&#41;
or die&#40;mysql_error&#40;&#41;&#41;;
?>
<?php
function metavasi&#40;$prevCap, $newCap, $msg1&#41;
	&#123;
        $msg = $msg1;
        if &#40;$msg != ""&#41;
			$msg = $msg . "<br>";
		
		switch &#40;$prevCap&#41;
		&#123;
			case 0&#58;
				$msg = $msg . "DISABLED";
				break;
			case 1&#58;
				$msg = $msg . "ON";
				break;
			case 2&#58;
				$msg = $msg . "OFF";
				break;
			case 5&#58;
				$msg = $msg . "FAIL";
				break;
			default&#58;
				$msg = $msg . "...";
				break;
		&#125;
		$msg = $msg . " σε ";
		switch &#40;$newCap&#41;
		&#123;
			case 0&#58;
				$msg = $msg . "DISABLED";
				break;
			case 1&#58;
				$msg = $msg . "ON";
				break;
			case 2&#58;
				$msg = $msg . "OFF";
				break;
			case 5&#58;
				$msg = $msg . "FAIL";
				break;
			default&#58;
				$msg = $msg . "...";
				break;
		&#125;
		return $msg;
	&#125;
	$prevC1 = -1;
	$prevC2 = -1;
	$prevC3 = -1;
	$prevStationId = -1;
	$cnt = 0;
echo&#40;"ΚΩΔΙΚΟΣ / ΤΟΠΟΘΕΣΙΑ \t ΤΡΟΠΟΣ ΛΕΙΤΟΥΡΓΙΑΣ \t ΩΡΑ \t ΒΑΘΜΙΔΑ \t ΜΕΤΑΒΑΣΗ \t \n \n"&#41;;
while&#40;$row=mysql_fetch_array&#40;$result&#41;&#41;
&#123;
	if &#40;$prevStationId != $row&#91;"St_StationId"&#93;&#41;
	&#123;
		$cnt = 0;
	&#125;
								
	if &#40;$cnt > 0&#41;
	&#123;
		if &#40;$prevC1 != $row&#91;"SL_Cap_1"&#93; || $prevC2 != $row&#91;"SL_Cap_2"&#93; || $prevC3 != $row&#91;"SL_Cap_3"&#93;&#41;
		&#123;
			$station = $row&#91;"St_StationId"&#93;;
			$stname = $row&#91;"St_Name"&#93;;
			echo&#40;"$station \t"&#41;;
			
				
            $oprMode = $row&#91;"SL_Opr_Mode"&#93;;//data3->Operation mode
            switch &#40;$oprMode&#41;
               &#123;
                	case 0&#58;
                   		echo&#40;"ΑΥΤΟΜΑΤΟ \t"&#41;;
                    	break;
                    case 1&#58;
                    	echo&#40;"ΧΕΙΡΙΣΤΗΣ \t"&#41;;
                    	break;
                    case 2&#58;
                    	echo&#40;"ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ \t"&#41;;
                    	break;
                    case 3&#58;
                    	echo&#40;"ΚΑΤΑΓΡΑΦΗ \t"&#41;;
                    	break;
                    case 4&#58;
                    	echo&#40;"ΤΗΛΕΧΕΙΡΙΣΜΟΣ \t"&#41;;
                    	break;
                    default&#58;
                   	 	echo&#40;" /t"&#41;;
                   	 	break;
     			&#125;
		
				//Date and time
							
				$date = new DateTime &#40;$row&#91;"SL_DateTime"&#93;&#41;;
				$data4 = $date->format&#40;"H&#58;i&#58;s"&#41;;//data4->Ora
				echo&#40;"$data4 \t"&#41;;
				
				$caps = "";
				if &#40;$prevC1 !=  $row&#91;"SL_Cap_1"&#93;&#41;
					$caps = $caps . "C1";

				if &#40;$prevC2 !=  $row&#91;"SL_Cap_2"&#93;&#41;
					if &#40;$caps == ""&#41;
						$caps = $caps . "C2";
					else
						$caps = $caps . "<br>C2";
							
				if &#40;$prevC3 !=  $row&#91;"SL_Cap_3"&#93;&#41;
					if &#40;$caps == ""&#41;
						$caps = $caps . "C3";
					else
						$caps = $caps . "<br>C3";

				//$caps = "<td align='center'>" . $caps . "</td>";
				$data5 = $caps;
				echo&#40;"$data5 \t"&#41;;

  			 	//Capacitor state change

				$msg = "";//data5->metavasi
		        if &#40;$prevC1 != $row&#91;"SL_Cap_1"&#93;&#41;
        		&#123;
					$msg = metavasi&#40;$prevC1, $row&#91;"SL_Cap_1"&#93;, $msg&#41;;
				&#125;
				if &#40;$prevC2 != $row&#91;"SL_Cap_2"&#93;&#41;
        		&#123;
					$msg = metavasi&#40;$prevC2, $row&#91;"SL_Cap_2"&#93;, $msg&#41;;
				&#125;
				if &#40;$prevC3 != $row&#91;"SL_Cap_3"&#93;&#41;
        		&#123;
					$msg = metavasi&#40;$prevC3, $row&#91;"SL_Cap_3"&#93;, $msg&#41;;
				&#125;

    	        $data6 = $msg;
				echo&#40;"$data6 \t \n"&#41;;
				
     		   
			&#125;
			
		&#125;
		
		//echo&#40;"$data1 \t $data2 \t $data3 \t $data4 \t $data5 \t $data6 \t \n"&#41;;
		$prevC1 = $row&#91;"SL_Cap_1"&#93;;
		$prevC2 = $row&#91;"SL_Cap_2"&#93;;
		$prevC3 = $row&#91;"SL_Cap_3"&#93;;
		$prevStationId = $row&#91;"St_StationId"&#93;;
      	$cnt = $cnt + 1;
	&#125;
?>

maliv76
Δημοσιεύσεις: 27
Εγγραφή: 22 Μάιος 2010 22:06

javascript stin idia selida 2 fores

Δημοσίευση από maliv76 » 24 Μάιος 2010 16:48

se localhost χωρις webmenu δουλεύει στο site οταν το προσθέτω μου εμφανίζει το webmenu
παίρνω και τα αποτελέσματα που θέλω απλα στα cells μου προσθέτει το menu.


...

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

javascript stin idia selida 2 fores

Δημοσίευση από dva_dev » 24 Μάιος 2010 19:59

maliv76 έγραψε:Εντάξει, σκέφτηκα κατι αλλο το οποίο μαλλον δουλεύει...εκει που κάνω $_POST an είναι 1 εως 9 την αλλάζω και παίζει μια χαρα....ευχαριστώ παρα πολύ για τη βοήθεια παδιά

Κώδικας: Επιλογή όλων

if &#40;&#40;$day_from == "1"&#41; || &#40;$day_from == "2"&#41; || &#40;$day_from == "3"&#41; || &#40;$day_from == "4"&#41; || &#40;$day_from == "5"&#41; || &#40;$day_from == "6"&#41; || &#40;$day_from == "7"&#41; || &#40;$day_from == "8"&#41; || &#40;$day_from == "9"&#41;&#41;
&#123;
	$day_from1 = "0$day_from";
&#125;
else
&#123;
	$day_from1 = $day_from;
&#125;
Πέρα από το παραπάνω και αυτό που προτείνει ο korgr, θα μπορούσαμε να παίξουμε και με τα παρακάτω (τα βάζω όλα για να είναι μαζεμένα):

1) Με πολλαπλές if conditions

Κώδικας: Επιλογή όλων

if&#40;&#40;$day_from == "1"&#41; || 
	&#40;$day_from == "2"&#41; || 
	&#40;$day_from == "3"&#41; || 
	&#40;$day_from == "4"&#41; || 
	&#40;$day_from == "5"&#41; || 
	&#40;$day_from == "6"&#41; ||
	&#40;$day_from == "7"&#41; ||
	&#40;$day_from == "8"&#41; ||
	&#40;$day_from == "9"&#41;&#41;
&#123;
   $day_from1 = "0$day_from";
&#125;
else
&#123;
   $day_from1 = $day_from;
&#125;
2) Με if και strlen

Κώδικας: Επιλογή όλων

if&#40;strlen&#40;$day_from&#41; == 1&#41; &#123;
	$day_from1 = "0$day_from";
&#125; else &#123;
	$day_from1 = $day_from;
&#125;
3) Με τριαδικό τελεστή και strlen

Κώδικας: Επιλογή όλων

$day_from1= &#40;strlen&#40;$day_from&#41; == 1&#41;? "0$day_from" &#58;  $day_from;
4) Με if και συνθήκη ανισότητας (αφού έχουμε αριθμό)

Κώδικας: Επιλογή όλων

if &#40;$day_from < 10&#41;
	$day_from1 = "0$day_from";
else
	$day_from1 = $day_from;
5) Με τριαδικό τελεστή και συνθήκη ανισότητας (αφού έχουμε αριθμό)

Κώδικας: Επιλογή όλων

$day_from1 = &#40;$day_from < 10&#41; ? "0$day_from" &#58; $day_from;
6) Με substring

Κώδικας: Επιλογή όλων

$day_from1 = substr&#40;"0$day_from", -2&#41;;
7) Με string formatting

Κώδικας: Επιλογή όλων

$day_from1 = sprintf&#40;"%02d", $day_from&#41;;
8 ) Με string padding

Κώδικας: Επιλογή όλων

$day_from1 = str_pad&#40;$day_from, 2, "0", STR_PAD_LEFT&#41;;
Μερικοί (ενδεικτικοί) χρόνοι εκτέλεσης για να έχουμε μια εικόνα της ταχύτητας, αν και στην πράξη δεν έχει και πολύ σημασία η ταχύτητα, όσο η ευκολία συγγραφής και κατανόησης του κώδικα, αφού είναι ελάχιστα τα σημεία που το χρειαζόμαστε.

Κώδικας: Επιλογή όλων

Χρόνος   Μέθοδος &#40;200.000 επαναλήψεις&#41;
------- ----------------------------------------------
0.40885 1&#41; Με πολλαπλές if conditions
0.27053 2&#41; Με if και strlen
0.27038 3&#41; Με τριαδικό τελεστή και strlen
0.13852 4&#41; Με if και συνθήκη ανισότητας
0.13991 5&#41; Με τριαδικό τελεστή και συνθήκη ανισότητας
0.26834 6&#41; Με substring
0.26579 7&#41; Με string formatting
0.31199 8&#41; Με string padding
Συνημμένα
tests.zip
Το php αρχείο με τα tests για όποιον θέλει να δει τι γίνεται σε δικό του server.
(822 Ψηφιολέξεις) Μεταφορτώθηκε 103 φορές

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

javascript stin idia selida 2 fores

Δημοσίευση από korgr » 24 Μάιος 2010 20:20

Ωραιος οπως παντα ο dva_dev :)

maliv76
Δημοσιεύσεις: 27
Εγγραφή: 22 Μάιος 2010 22:06

javascript stin idia selida 2 fores

Δημοσίευση από maliv76 » 24 Μάιος 2010 20:23

Καμιά ιδέα με το export?

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

javascript stin idia selida 2 fores

Δημοσίευση από korgr » 24 Μάιος 2010 22:05

maliv76 έγραψε:Καμιά ιδέα με το export?
Αν εχω καταλαβει σωστα, στο αρχειο που δημοσιευεις δεν εχεις μεσα καποιο menu και δουλευει μια χαρα. Τι εννοεις πως στον server εχει μενου?
Μην του βαλεις μενου, ονομασε το ξερω γω, "makecsv.php", και καλεσε το σαν ανεξαρτητο link σε νεο παραθυρο...

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες