painkiller44 Δημοσ. 24 Ιουνίου 2010 Δημοσ. 24 Ιουνίου 2010 μπηκα μεσω admin εκτελεσα το ερωτημα και μου εμφανιζει το αποτελεσμα κανονικα.παντως στην fetch δεν μπαινει και δεν ξερω τι θα γινει. ---------- Προσθήκη στις 22:43 ---------- Προηγούμενο μήνυμα στις 22:39 ---------- κατι ακομα που ηθελα να ρωτησω ρε παιδια... εχω μια συναρτηση την οποια χρησιμοποιω πολλές φορες μεσα στο προγραμμα. σιγουρα δεν ειναι σωστο να την γραφω 100 φορες και θα ηθελα να μου πειτε αν υπαρχει τροπος να την εχω σε ενα ξεχωριστο αρχειο 1 φορα και να την καλω απο εκει οταν την χρειαζομαι. γνωριζω πως υπαρχει η include στην php αλλα η εντολη αυτη ουσιαστικα τρεχει οτι περιεχει το αρχειο ταδε. απλα φτιαχνεις μια funtcion δηλαδη funvtion onomaFunction(εδω οι παραμετροι που θες να μπουν στο function) { οτι θες να εκτελειτε } μετα θα καλεις εκει που θες απλα με το ονομα της function στην περιπτωση μας onomaFuntcion(παραμετροι αν θες και υπαρχουν)
oksosaa Δημοσ. 24 Ιουνίου 2010 Μέλος Δημοσ. 24 Ιουνίου 2010 Οκ ενταξει αλλα πως θα "βλεπει" το αλλο το αρχειο που περιεχει την function αυτη?? αυτο θελω να μάθω.( εκτος και αν δεν χρειαζεται να κανω κατι αλλο εκτος απο το να καλω την συναρτηση πραγμα λιγο δυσκολο )
painkiller44 Δημοσ. 24 Ιουνίου 2010 Δημοσ. 24 Ιουνίου 2010 αν θες μπορεις να την εχεις στο ιδιο php αρχειο που θες να την εκτελεις αν θες μπορεις να εχεις ολες τις funtcions σε ενα php αρχειο και απλα με ενα include να τις καλεις http://php.net/manual/en/function.include.php η με require αν ειναι απαραιτητη http://www.php.net/manual/en/function.require.php επισης για το fetch χρησιμοποιησε αν θες την mysql_fetch_row που προανεφεραν http://gr.php.net/manual/en/function.mysql-fetch-row.php
nzeppos Δημοσ. 25 Ιουνίου 2010 Δημοσ. 25 Ιουνίου 2010 γνωριζω πως υπαρχει η include στην php αλλα η εντολη αυτη ουσιαστικα τρεχει οτι περιεχει το αρχειο ταδε. Τότε το αρχείο αυτό αρκεί να περιέχει τη συνάρτηση που θέλεις και τίποτα άλλο. Μπορείς βέβαια να την βάλεις και μέσα στο κύριο αρχείο, ώστε να μην χρειαστείς require/include κλπ (όπως είπαν και οι φίλοι πιο πάνω). Καλύτερα όμως να μάθεις να βάζεις τις συναρτήσεις σου σε ξεχωριστά αρχεία (ομαδοποιημένες ανά είδος), γιατί πολλές φορές δεν μπορείς να ξέρεις εκ των προτέρων πού και πότε θα σου χρειαστούν. Επιπλέον έτσι κάνεις τον κώδικα ευκολότερο στη συντήρηση. Τώρα για τις mysql_fetch_array/assoc/row κλπ, καμια φορά είναι προτιμότερο να χρησιμοποιούμε custom συναρτήσεις που βάζουν απευθείας σε multidimensional array το (resource) result της mysql_query, χωρίς τη χρήση "while". Μία τέτοια είναι η παρακάτω: > function mysql_fetch_full_result_array($result) { $table_result=array(); $r=0; while($row = mysql_fetch_assoc($result)){ $arr_row=array(); $c=0; while ($c < mysql_num_fields($result)) { $col = mysql_fetch_field($result, $c); $arr_row[$col -> name] = $row[$col -> name]; $c++; } $table_result[$r] = $arr_row; $r++; } return $table_result; } (ναι ξέρω, για να γλυτώσω ένα while αναγκάζομαι να χρησιμοποιήσω δύο, όμως έτσι δημιουργώ άμεσα ένα array που έχει όλα τα αποτελέσματα της sql query και μπορώ μετά να τον επεξεργαστώ όπως θέλω).
oksosaa Δημοσ. 25 Ιουνίου 2010 Μέλος Δημοσ. 25 Ιουνίου 2010 Πως θα μπορεσω να χρησιμοποιησω μια μεταβλητη ετσι ωστε να μπορει να την δει και εκτος των αγκυστρων της while ?? > while ($row = mysql_fetch_array($result)) { echo "to stoixeio einai:".$row[0]; } echo "row:".$row[0]; το παραπάνω παραδειγμα δεν μου εμφανιζει την τιμη της $row[0]; με global δεν γινεται γιατι το δοκιμασα. τι να κανω? τελικα εκανα την παρακατω μαιμουδια και τελειωσε...αν εχετε αλλο τροπο παρακαλω πειτε μου... > global $s; while ($row = mysql_fetch_array($result)) { echo "to stoixeio einai:".$row[0]; $s=$row[0]; } echo "row:".$s;
MitsakosGR Δημοσ. 25 Ιουνίου 2010 Δημοσ. 25 Ιουνίου 2010 Πως θα μπορεσω να χρησιμοποιησω μια μεταβλητη ετσι ωστε να μπορει να την δει και εκτος των αγκυστρων της while ?? > while ($row = mysql_fetch_array($result)) { echo "to stoixeio einai:".$row[0]; } echo "row:".$row[0]; Βάλε το $row; έξω από το while ώστε να την κάνεις declare έξω από αυτό και να μην διαγραφεί. > $row; while ($row = mysql_fetch_array($result)) { echo "to stoixeio einai:".$row[0]; } echo "row:".$row[0];
oksosaa Δημοσ. 25 Ιουνίου 2010 Μέλος Δημοσ. 25 Ιουνίου 2010 Κατι αλλο .. Εστω οτι εχω ενα πινακα σε html με Php <table> <tr> <td><?php callFunction() ?></td> </tr> </table> μπορω την συναρτηση callFunction() να την εχω σε ενα αλλο αρχειο και να την καλώ απο εκει η να την βαλω στην κορυφη του ιδιου αρχειου ?
nzeppos Δημοσ. 25 Ιουνίου 2010 Δημοσ. 25 Ιουνίου 2010 Κατι αλλο .. Εστω οτι εχω ενα πινακα σε html με Php <table> <tr> <td><?php callFunction() ?></td> </tr> </table> μπορω την συναρτηση callFunction() να την εχω σε ενα αλλο αρχειο και να την καλώ απο εκει η να την βαλω στην κορυφη του ιδιου αρχειου ? Όπως είπαμε και στην προηγούμενη σελίδα, μπορείς να κάνεις 2 πράγματα: Να βάλεις την callFunction() σε ένα ξεχωριστό αρχείο και να το καλείς με require/include (ανάλογα με το πόσο απαραίτητο είναι για το υπόλοιπο πρόγραμμα, κοίτα επίσης και την περίπτωση των require_once/include_once) Να βάλεις τη συνάρτηση οπουδήποτε μέσα στο ίδιο αρχείο (καλύτερα όμως στην κορυφή ή στο τέλος για να την εντοπίζεις πιο εύκολα) Εγώ κάνω συνήθως το πρώτο αλλά είναι καθαρά θέμα συνήθειας και... ανάγκης. Αν πχ. φτιάξω κάτι πολύ απλό που χρειάζεται μόνο 1-2 συναρτήσεις, τις οποιες μάλιστα δεν χρησιμοποιώ πουθενά αλλού εκτός από το ίδιο το αρχείο στο οποιο δηλώνονται, τότε μπορεί να τις αφήσω εκεί. Επειδή όμως σε πιο περίπλοκες περιπτώσεις οι συναρτήσεις είναι πιθανό να χρειάζονται και από άλλα αρχεία, τότε αναγκαστικά τις δηλώνω ξεχωριστά. Με αυτό τον τρόπο, εκτός των άλλων, κάνω ευκολότερη τη συντήρησή τους. Παρόμοια είναι και η λογική της δήλωσης των classes αν χρησιμοποιούμε objects.
oksosaa Δημοσ. 25 Ιουνίου 2010 Μέλος Δημοσ. 25 Ιουνίου 2010 Οκ σχετικα με τον κωδικα μου ευχαριστω!!! Χρησιμοποιω τον Wamp και οταν κανω export την db μου και την αποθηκευω στο φακελο που υπαρχουν κ τα php αρχεια μου.(ωραια μεχρι εδω) Το προβλημα μου ειναι πως οταν την σβηνω μετα απο τον wamp και υπαρχει μονο μεσα στον φακελο μου δεν μπορει να καταχωρησει δεδομενα η φορμα μου!! ξερει κανεις τι συμβαινει? η τουλαχιστον να μου πει πως κανω export την βαση μου γιατι με τον τροπο μου δεν φαινεται να λειτουργει?
MitsakosGR Δημοσ. 25 Ιουνίου 2010 Δημοσ. 25 Ιουνίου 2010 Οκ σχετικα με τον κωδικα μου ευχαριστω!!! Χρησιμοποιω τον Wamp και οταν κανω export την db μου και την αποθηκευω στο φακελο που υπαρχουν κ τα php αρχεια μου.(ωραια μεχρι εδω) Το προβλημα μου ειναι πως οταν την σβηνω μετα απο τον wamp και υπαρχει μονο μεσα στον φακελο μου δεν μπορει να καταχωρησει δεδομενα η φορμα μου!! ξερει κανεις τι συμβαινει? η τουλαχιστον να μου πει πως κανω export την βαση μου γιατι με τον τροπο μου δεν φαινεται να λειτουργει? Όταν την κάνεις export από το wamp στην ουσία σου παράγει ένα sql script για να μπορέσεις να την κάνεις import κάπου αλλού. Δεν μπορείς να την βάλεις να παίζει από το αρχείο... Πρέπει να υπάρχει και στην mySQL του Wamp. Εσύ θέλεις όλη η βάση να τρέχει από το αρχείο που θα φτιάξεις? Αν ναι δεν είμαι σίγουρος ότι γίνεται με SQL αυτό... Σίγουρα μπορείς να το κάνεις με XML τεχνικές αλλά σε αυτό δεν μπορώ να σε βοηθήσω γιατί δεν γνωρίζω την χρήση του.
oksosaa Δημοσ. 25 Ιουνίου 2010 Μέλος Δημοσ. 25 Ιουνίου 2010 Οχι δεν εχω προβλημα να τρεχει απο το αρχειο μου και μονο οποτε αφηνουμε τα xml κ.τ.λ Εγω μεχρι στιγμης εχω την db και την εχω κανει export με ονομα database.sql και την αποθηκευσα σε ενα φακελο.Απο εκει και περα θελω να την ανεβασω σε ενα ftp server και να τρεχει απο εκει το site Μου ενημερωνοντας την db μου. Πως να προχωρησω?
nzeppos Δημοσ. 25 Ιουνίου 2010 Δημοσ. 25 Ιουνίου 2010 Έχεις pm για αυτό που με ρώτησες. Ωστόσο ακόμα και τώρα όσο το σκέφτομαι τόσο περισσότερο μπερδεύομαι. Να περιγράψω λοιπόν τις απορίες μου. Αυτό που θέλεις είναι να σηκώσεις το site σε ένα server που να ΜΗΝ τρέχει MySQL? Να είναι πχ ένας απλός apache + FTP server? Οπότε το μοναδικό μέρος ανάκτησης/αποθήκευσης των δεδομένων σου θα είναι αυτό το database.sql αρχείο? Ή μήπως θέλεις να κάνεις upload όλα τα αρχεία σου σε έναν κανονικό server (με Apache/MySQL/FTP κλπ) και να τρέξεις κάποιου είδους php script, το οποιο θα διαβάσει το database.sql αρχείο και βάσει αυτού θα κάνει restore όλα τα data στον MySQL server? (οπότε από εκεί και πέρα το .sql αρχείο θα είναι άχρηστο). Τότε όμως γιατί να μην χρησιμοποιήσεις phpmyadmin για να κάνεις import τα πάντα από το .sql αρχείο? Αν εννοείς τη δεύτερη περίπτωση, τότε γκούγκλαρέ το και θα βρεις πολλές απαντήσεις.
oksosaa Δημοσ. 25 Ιουνίου 2010 Μέλος Δημοσ. 25 Ιουνίου 2010 Μιλαω για ftp server στον οποιο θα εχω τις php σελιδες μου. Εκει θα εμφανιζονται οι σελιδες μου και οταν επιλεγω να εισαγω δεδομενα τοτε να αποθηκευονται στην db μου.Τωρα εσεις περιμενω να μου πειτε αν η Db (database.db) θα πρεπει να ειναι και αυτη στον ftp η σε αλλο φακελο στο pc μου.
MitsakosGR Δημοσ. 26 Ιουνίου 2010 Δημοσ. 26 Ιουνίου 2010 Σίγουρα εννοείς FTP Server και όχι ένα απλό HTTP Server όπως είπε ο nzeppos?? Δεν γνωρίζω να υπάρχει FTP Server που να έχει υποστήριξη για php και sql... Αν ο server που έχεις υποστηρίζει κάποια έκδοση της SQL τότε κάνε import το αρχείο ( .sql που παρήγαγε το wamp) και όρισε στα php όταν συνδέεται σε server να συνδέεται σε αυτόν αντί για τον localhost του wamp. Τωρα εσεις περιμενω να μου πειτε αν η Db (database.db) θα πρεπει να ειναι και αυτη στον ftp η σε αλλο φακελο στο pc μου. (τώρα το διάβασα) Αν έχεις στον υπολογιστή σου το WAMP και έναν άλλο FTP server τότε απλά βάλε τα php αρχεία στον ftp server (αρκεί να υποστηρίζει και php o ftp server γιατί αλλιώς θα στα δείξει σαν αρχεία txt). Μόλις τρέξεις τα php αρχεία θα συνδεθεί κανονικά στην mysql και θα αποθηκεύσει τις πληροφορίες που θέλεις.
oksosaa Δημοσ. 26 Ιουνίου 2010 Μέλος Δημοσ. 26 Ιουνίου 2010 Σίγουρα εννοείς FTP Server και όχι ένα απλό HTTP Server όπως είπε ο nzeppos??Δεν γνωρίζω να υπάρχει FTP Server που να έχει υποστήριξη για php και sql... Αν ο server που έχεις υποστηρίζει κάποια έκδοση της SQL τότε κάνε import το αρχείο ( .sql που παρήγαγε το wamp) και όρισε στα php όταν συνδέεται σε server να συνδέεται σε αυτόν αντί για τον localhost του wamp. (τώρα το διάβασα) Αν έχεις στον υπολογιστή σου το WAMP και έναν άλλο FTP server τότε απλά βάλε τα php αρχεία στον ftp server (αρκεί να υποστηρίζει και php o ftp server γιατί αλλιώς θα στα δείξει σαν αρχεία txt). Μόλις τρέξεις τα php αρχεία θα συνδεθεί κανονικά στην mysql και θα αποθηκεύσει τις πληροφορίες που θέλεις. Ανεβαζω τα αρχεια στον ftp server που υποστηριζει php , mysql αλα δεν αποθηκευει τιποτα. Απο οσα googlara ειδα πως ισως να θελει να αλλαξω paths!!! σε αυτον ανεβαζω τα αρχεια http://www.easyphp.org/
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.