lista prointon kai apotelesma timis

Ερωτήσεις και απαντήσεις σχετικές με την HTML, XHTML και την κατασκευή σελίδων για το Web.

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

Απάντηση
ataktos
Δημοσιεύσεις: 229
Εγγραφή: 16 Δεκ 2004 14:01
Τοποθεσία: Cyprus

lista prointon kai apotelesma timis

Δημοσίευση από ataktos » 08 Μάιος 2005 04:36

Tha ithela na matho an mpori kapios na mou dosi kapio tutorial to pos na ftiaxo kati san afto se html pou exi to e-shop pou ftiaxnis diko to diko sou pc me apla klik kai meta sou lei posa tha sou kostisi olo afto ....

http://www.e-shop.gr/PER_pc_config_desktop.phtml


efxaristo ek ton proteron

Άβαταρ μέλους
cdhyper
Literature Moderator
Δημοσιεύσεις: 9707
Εγγραφή: 23 Ιουν 2001 03:00
Τοποθεσία: Φωτονερόπετρα
Επικοινωνία:

lista prointon kai apotelesma timis

Δημοσίευση από cdhyper » 08 Μάιος 2005 06:13

με σκέτη html δε γίνεται

επιπλέον το eshop.gr παίρνει τα στοιχεία του από μια βάση δεδομένων δυναμικά

τι σκοπεύεις να κάνεις γενικά;
Σύγκριση τιμών Supermarket: http://www.shopnsave.gr
Νέα Ιταλικα επιπλα κουζινας
Για φιλοσόφους: http://filosofia.gr και http://liantinis.org

ataktos
Δημοσιεύσεις: 229
Εγγραφή: 16 Δεκ 2004 14:01
Τοποθεσία: Cyprus

lista prointon kai apotelesma timis

Δημοσίευση από ataktos » 08 Μάιος 2005 14:26

skopevo na kano gia tin doullia mou kati san afto pou exi to eshop.gr apla oxi gia na to anevaso sto internet.....


diladi o pelatis na mbori mazi me ton ypallilo na dialexi ti theli na valoun epanao sto ypologisti... anti afto na ginete sto xarti na ginete apo mia lista opos aftin pou exi kai to eshop.gr to opio tha dialegoun ti tha theloun na valoun kai sto telos na tous dini to poson afti h lista apo ta prointa pou dialexan....

Άβαταρ μέλους
xultimatex
Honorary Member
Δημοσιεύσεις: 2505
Εγγραφή: 26 Ιούλ 2003 13:02
Τοποθεσία: Ξάνθη
Επικοινωνία:

lista prointon kai apotelesma timis

Δημοσίευση από xultimatex » 08 Μάιος 2005 14:35

php ή asp! Δεν ξέρω όμως να τις χρησιμοποιώ :D
:arrow: Αν προσπαθείς πολύ για να πετύχεις κάτι, ίσως το κάνεις με λάθος τρόπο...

ataktos
Δημοσιεύσεις: 229
Εγγραφή: 16 Δεκ 2004 14:01
Τοποθεσία: Cyprus

lista prointon kai apotelesma timis

Δημοσίευση από ataktos » 08 Μάιος 2005 18:27

kai ego pistevo oti einai asp :P alla epidi den katexo kai poli apo asp giafto rotisa an xeri kanis na me voithisi

Άβαταρ μέλους
xmavidis
Honorary Member
Δημοσιεύσεις: 1217
Εγγραφή: 02 Δεκ 2003 19:59
Τοποθεσία: Ηράκλειο

lista prointon kai apotelesma timis

Δημοσίευση από xmavidis » 08 Μάιος 2005 18:47

Ο κώδικας του e-shop.gr είναι σε php αν ρωτάτε αυτό.
Δείτε την κατάληξη ".phtml" :wink:
I want to know God’s thoughts; the rest are details.
Albert Einstein

ataktos
Δημοσιεύσεις: 229
Εγγραφή: 16 Δεκ 2004 14:01
Τοποθεσία: Cyprus

lista prointon kai apotelesma timis

Δημοσίευση από ataktos » 09 Μάιος 2005 11:01

kapia lisi to pos tha gini?

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

lista prointon kai apotelesma timis

Δημοσίευση από dimsis » 09 Μάιος 2005 15:05

Το συγκεκριμένο γίνετε και με απλή Javascript (με view source και λίγες γνώσεις Javascript βγάζεις άκρη), αλλά αν είναι να το δουλεύεις τοπικά γιατί δεν το κάνεις σε Excel να μη παιδεύεσε που είναι πολύ πιο εύκολο;

Άβαταρ μέλους
fmayakos
Honorary Member
Δημοσιεύσεις: 1249
Εγγραφή: 23 Ιούλ 2001 03:00
Τοποθεσία: Θεσσαλονίκη

lista prointon kai apotelesma timis

Δημοσίευση από fmayakos » 09 Μάιος 2005 17:33

ή αν όχι Excel, τότε Access...

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

lista prointon kai apotelesma timis

Δημοσίευση από skeftomilos » 10 Μάιος 2005 01:59

Η συγκεκριμένη σελίδα του www.e-shop.gr είναι πολύ χρηστική γιατί χρησιμοποιεί με σωστό τρόπο τη JavaScript. Θα έλεγα ότι είναι υπόδειγμα λειτουργικότητας και φιλικότητας, και πραγματικά δυσκολεύομαι πολύ να βρω σημεία που να επιδέχονται βελτίωση.

Η πιο πρόχειρη λύση για να αποκτήσεις μία παρόμοια εφαρμογή είναι να χρησιμοποιήσεις την ίδια τη σελίδα! Δηλαδή αποθήκευσέ την στο δίσκο, κάνε αλλαγές στα προϊόντα και τις τιμές αλλάζοντας τον κώδικα της σελίδας, και είσαι έτοιμος. Όποτε τη χρειάζεσαι θα την ανοίγεις με όποιον browser θέλεις και θα τη χρησιμοποιείς σαν υπολογιστικό φύλλο. Το μειονέκτημα είναι ότι δε θα μπορείς να τυπώσεις ή να σώσεις τα αποτελέσματα των υπολογισμών.

Το Excel και η Access είναι και τα δύο ευπρεπείς λύσεις, αλλά νομίζω ότι μακράν η καλύτερη επιλογή είναι μία εύχρηστη Windows εφαρμογή που θα συνδέεται με μία Access database. Είναι η ορθόδοξη επιλογή, η πιο ευέλικτη, και η πιο πλούσια σε δυνατότητες. Οποιαδήποτε γλώσσα από τις VB.NET, C# και Delphi είναι κατάλληλη.

Το παρακάτω script (JScript) διαβάζει τον HTML κώδικα της σελίδας του e-shop.gr και μεταφέρει τα δεδομένα σε μία βάση Access που δημιουργεί αυτόματα. Για να το τρέξεις πρέπει να σώσεις το αρχείο με κατάληξη .js, π.χ. Create_DB.js. Τοποθέτησέ το στον ίδιο φάκελο με τη σελίδα PER_pc_config_desktop.htm που θα έχεις σώσει στο δίσκο, και κάνε διπλό κλικ πάνω στο αρχείο. Η βάση που θα δημιουργηθεί θα περιέχει από ένα πίνακα για κάθε στοιχείο <select> της σελίδας, 26 πίνακες συνολικά.

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

// Σταθερές.
var HTML_FILE_NAME = "PER_pc_config_desktop.htm"
var DB_FILE_NAME   = "Data.mdb"

// Ανάγνωση αρχείου HTML.
var fso = WScript.CreateObject&#40;"Scripting.FileSystemObject"&#41;
var stream = fso.OpenTextFile&#40;HTML_FILE_NAME, 1, false, 0&#41; // 1 = ForReading, 0 = ASCII.
var source = stream.ReadAll&#40;&#41;
stream.Close&#40;&#41;
source = source.replace&#40;/\r\n/g, ""&#41;

// Ανάγνωση στοιχείων <SELECT>.
var re_select_list = /<select.*?name=.*?>.*?<\/select>/gi
var select_list = source.match&#40;re_select_list&#41;

// Επιβεβαίωση.
var shell = WScript.CreateObject&#40;"WScript.Shell"&#41;
msg = "Δημιουργία βάσης δεδομένων " + DB_FILE_NAME + " με " + select_list.length + " πίνακες.\r\nΕπιβεβαίωση?"
var res = shell.Popup&#40;msg, 0, "Δημιουργία βάσης", 1 + 32&#41; // 1 = OK-Cancel , 32 = Question.

if &#40;res == 1&#41; &#123; // 1 = Ok.
  // Δημιουργία βάσης δεδομένων.
  var cat = WScript.CreateObject&#40;"ADOX.Catalog"&#41;
  cat.Create&#40;"Provider='Microsoft.Jet.OLEDB.4.0';Data Source='" + DB_FILE_NAME + "'"&#41;

  // Δημιουργία πινάκων.
  for &#40;var i = 0; i < select_list.length; i++&#41; &#123;
    create_table&#40;select_list&#91;i&#93;&#41;
  &#125;

  // Αποσύνδεση.
  cat.ActiveConnection.Close 
  WScript.Echo&#40;"Δημιουργία έγινε!"&#41;
&#125;

// Ρουτίνα δημιουργίας ενός πίνακα.
function create_table&#40;select_item&#41; &#123;
  var re_table_name = /<select.*?name="?&#40;.*?&#41;&#91;" >&#93;/i
  var table_name = select_item.match&#40;re_table_name&#41;&#91;1&#93;

  var com = WScript.CreateObject&#40;"ADODB.Command"&#41;
  com.ActiveConnection = cat.ActiveConnection
  com.CommandText = "CREATE TABLE " + table_name + " &#40;&#91;Id&#93; TEXT&#40;20&#41; NOT NULL PRIMARY KEY, &#91;Name&#93; TEXT&#40;150&#41; NOT NULL, &#91;Value&#93; CURRENCY&#41;"
  com.CommandText.CommandType = 1 + 128 // adCmdText, adExecuteNoRecords
  com.Execute&#40;&#41;

  // Ανάγνωση στοιχείων <OPTION>.
  var re_option_list = /<option.*?>.*?<\/option>/gi
  var option_list = select_item.match&#40;re_option_list&#41;
  
  // Εισαγωγή εγγραφών.
  for &#40;var i = 0; i < option_list.length; i++&#41; &#123;
    insert_record&#40;table_name, option_list&#91;i&#93;&#41;
  &#125;
&#125;

// Ρουτίνα εισαγωγής μίας εγγραφής.
function insert_record&#40;table_name, option_item&#41; &#123;
  var re_option_id = /<option.*?value="?&#40;.*?&#41;&#91;" >&#93;/i
  var re_option = /<option.*?>&#40;.*?&#41; - Τιμή &#40;.*?&#41; .*?<\/option>/i
  var matches_id = option_item.match&#40;re_option_id&#41;
  var matches = option_item.match&#40;re_option&#41;
  if &#40;matches_id && matches&#41; &#123;
    var id = matches_id&#91;1&#93;
    var name = matches&#91;1&#93;.replace&#40;/ &#123;2,&#125;/, " "&#41;
    var value = Number&#40;matches&#91;2&#93;&#41;

    var com = WScript.CreateObject&#40;"ADODB.Command"&#41;
    com.ActiveConnection = cat.ActiveConnection
    com.CommandText = "INSERT INTO " + table_name + " &#40;&#91;Id&#93;, &#91;Name&#93;, &#91;Value&#93;&#41; VALUES &#40;?, ?, ?&#41;"
    com.Parameters.Append&#40;com.CreateParameter&#40;"Id", 8, 1, 20, id&#41;&#41;        // 8 = adBSTR, 1 = adParamInput
    com.Parameters.Append&#40;com.CreateParameter&#40;"Name", 8, 1, 150, name&#41;&#41;   // 8 = adBSTR, 1 = adParamInput
    com.Parameters.Append&#40;com.CreateParameter&#40;"Value", 6, 1, 0, value&#41;&#41;   // 6 = adCurrency, 1 = adParamInput
    com.CommandText.CommandType = 1 + 128 // adCmdText, adExecuteNoRecords
    com.Execute&#40;&#41;
  &#125;
&#125;
Hope this helps! :)
_______________________________
EDIT 11/5/2005:
Έκανα λίγο πιο ευέλικτες τις regular expressions για να διαβάζει και τον HTML κώδικα που σώζει ο IE. Αρχικά δούλευε μόνο με σωσμένο αρχείο από τον Firefox.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

kostas-theod
Δημοσιεύσεις: 222
Εγγραφή: 11 Ιαν 2004 09:15
Τοποθεσία: Πάτρα-ΕΛΛΑΔΑ

lista prointon kai apotelesma timis

Δημοσίευση από kostas-theod » 13 Μάιος 2005 15:13

Συγνώμη να κανω μια ερώτηση

τα εκανα οπως τα λέτε ... αλλαγες θα κάνω στην access στους πίνακες και θα εμφανίζονται στην σελίδα.

θα μπορούσατε να μου πείτε πως γίνεται?

Ευχαριστώ

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

lista prointon kai apotelesma timis

Δημοσίευση από skeftomilos » 14 Μάιος 2005 03:19

Θα χρειαστείς δυναμικές σελίδες ASP ή PHP. Σε ASP θα χρειαστείς γνώσεις VBScript ή JScript καθώς και γνώσεις ADO. Για να πάρεις μια ιδέα από ADO και VBScript δες αυτό:

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

<%
  Dim conn, com, rs
  Set conn = Server.CreateObject&#40;"ADODB.Connection"&#41;
  conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  conn.ConnectionString = "Data Source=" & Server.MapPath&#40;"data.mdb"&#41;
  conn.Open

  Set com = Server.CreateObject&#40;"ADODB.Command"&#41;
  com.ActiveConnection = conn
  com.CommandText = "Select * From Products"
  Set rs = com.Execute

  Response.Write rs&#40;"LastName"&#41;
  ' Συν πολύς ακόμα κώδικας για να διαβαστεί όλο το Recordset...

  rs.Close
  conn.Close
%>
Τελευταία επεξεργασία από το μέλος skeftomilos την 14 Μάιος 2005 12:13, έχει επεξεργασθεί 1 φορά συνολικά.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Cmg__
Δημοσιεύσεις: 1710
Εγγραφή: 29 Μαρ 2005 22:40

lista prointon kai apotelesma timis

Δημοσίευση από Cmg__ » 14 Μάιος 2005 09:29

skeftomilos
Script Master

ataktos
Δημοσιεύσεις: 229
Εγγραφή: 16 Δεκ 2004 14:01
Τοποθεσία: Cyprus

lista prointon kai apotelesma timis

Δημοσίευση από ataktos » 15 Ιουν 2005 16:03

oti kian kano mou vgazi diafora error apo tin stigmi pou ezvisa tin stili pou yparxi sto script tou eshop.gr... enas logos pou tin ezvisa einai epidi edo stin kipro den xrisimopioume akomi euro .


ena apo ta themata pou me apasxoli einai oti to script kani lathos exisosi sto kato meros tis selida metaxi tou posa kostise to fpa kai posa kostise xoris fpa...


diladi gia paradigma an poume oti to proion stixise giro sto 74 kani px
62(pou einai xoris fpa)+9(pou einai o foros tis kiprou)= mou vgazi sinolo 74 enoo to kanoniko poson 62+9=71 kai kala mou vazi 3 lires epano!


giati?


sas dino ton kodika mipos kai kapou ta ekana baxallo

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

<script language="Javascript">

function tellPrice&#40;where,value&#41;
&#123;

	var price = parseFloat&#40;value&#41;;
	if &#40;!value&#41;&#123;
		price = 0;
	&#125;
	

	var box_name= where+"_name";
	var box_price= where+"_price";	


	document.builderForm.elements&#91;box_price&#93;.value = price;

	var amount = 0;
	var i=0;
	for &#40;i=0; i < document.builderForm.elements.length-1 ;i++&#41;
	&#123;
		if &#40;&#40;document.builderForm.elements&#91;i&#93;.type=="text"&#41; && &#40;document.builderForm.elements&#91;i&#93;.name.indexOf&#40;"_price"&#41;!=-1&#41; &#41;
		&#123;
			amount += parseFloat&#40;document.builderForm.elements&#91;i&#93;.value&#41;;
		&#125;
	&#125;

	var total= parseFloat&#40;amount&#41;;
	
	var pfpa = Math.round&#40;total/0.0119&#41;/100;
	var fpa = Math.round&#40;pfpa*15&#41;/100;
	total = Math.round&#40;total*100&#41;/100;
	
	document.builderForm.elements&#91;"pfpa"&#93;.value = pfpa;
	document.builderForm.elements&#91;"fpa"&#93;.value = fpa;
	document.builderForm.elements&#91;"tot"&#93;.value = total;

	document.builderForm.elements&#91;"pfpadr"&#93;.value = Math.round&#40;pfpa*1&#41;;
	document.builderForm.elements&#91;"fpadr"&#93;.value = Math.round&#40;fpa*1&#41;;
	document.builderForm.elements&#91;"totdr"&#93;.value = Math.round&#40;total*1&#41;;

&#125;	

</script>

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

lista prointon kai apotelesma timis

Δημοσίευση από skeftomilos » 16 Ιουν 2005 10:22

Η γραμμή:

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

var fpa = Math.round&#40;pfpa*15&#41;/100;
... πρέπει να γίνει:

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

var fpa = Math.round&#40;pfpa*19&#41;/100;
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Απάντηση

Επιστροφή στο “HTML και XHTML”

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

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