Προς το περιεχόμενο

Στην τελευταια σελιδα εχω ερωτηση SQL-WAMP προβλημα


oksosaa

Προτεινόμενες αναρτήσεις

Δημοσ.
μπηκα μεσω admin εκτελεσα το ερωτημα και μου εμφανιζει το αποτελεσμα κανονικα.

παντως στην fetch δεν μπαινει και δεν ξερω τι θα γινει.

 

---------- Προσθήκη στις 22:43 ---------- Προηγούμενο μήνυμα στις 22:39 ----------

 

 

 

κατι ακομα που ηθελα να ρωτησω ρε παιδια...

 

εχω μια συναρτηση την οποια χρησιμοποιω πολλές φορες μεσα στο προγραμμα.

σιγουρα δεν ειναι σωστο να την γραφω 100 φορες και θα ηθελα να μου πειτε αν υπαρχει τροπος να την εχω σε ενα ξεχωριστο αρχειο 1 φορα και να την καλω απο εκει οταν την χρειαζομαι.

 

γνωριζω πως υπαρχει η include στην php αλλα η εντολη αυτη ουσιαστικα τρεχει οτι περιεχει το αρχειο ταδε.

απλα φτιαχνεις μια funtcion

δηλαδη

funvtion onomaFunction(εδω οι παραμετροι που θες να μπουν στο function) {

οτι θες να εκτελειτε

 

}

μετα θα καλεις εκει που θες απλα με το ονομα της function στην περιπτωση μας onomaFuntcion(παραμετροι αν θες και υπαρχουν)

  • Απαντ. 41
  • Δημ.
  • Τελ. απάντηση
Δημοσ.

Οκ ενταξει αλλα πως θα "βλεπει" το αλλο το αρχειο που περιεχει την function αυτη??

αυτο θελω να μάθω.( εκτος και αν δεν χρειαζεται να κανω κατι αλλο εκτος απο το να καλω την συναρτηση πραγμα λιγο δυσκολο )

Δημοσ.

αν θες μπορεις να την εχεις στο ιδιο 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

Δημοσ.

γνωριζω πως υπαρχει η 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 και μπορώ μετά να τον επεξεργαστώ όπως θέλω).

Δημοσ.

Πως θα μπορεσω να χρησιμοποιησω μια μεταβλητη ετσι ωστε να μπορει να την δει και εκτος των αγκυστρων της 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;

Δημοσ.
Πως θα μπορεσω να χρησιμοποιησω μια μεταβλητη ετσι ωστε να μπορει να την δει και εκτος των αγκυστρων της 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];

Δημοσ.

Κατι αλλο ..

 

Εστω οτι εχω ενα πινακα σε html με Php

 

<table>

<tr>

<td><?php callFunction() ?></td>

</tr>

</table>

 

μπορω την συναρτηση callFunction() να την εχω σε ενα αλλο αρχειο και να την καλώ

απο εκει η να την βαλω στην κορυφη του ιδιου αρχειου ?

Δημοσ.
Κατι αλλο ..

 

Εστω οτι εχω ενα πινακα σε html με Php

 

<table>

<tr>

<td><?php callFunction() ?></td>

</tr>

</table>

 

μπορω την συναρτηση callFunction() να την εχω σε ενα αλλο αρχειο και να την καλώ

απο εκει η να την βαλω στην κορυφη του ιδιου αρχειου ?

 

Όπως είπαμε και στην προηγούμενη σελίδα, μπορείς να κάνεις 2 πράγματα:

 

  • Να βάλεις την callFunction() σε ένα ξεχωριστό αρχείο και να το καλείς με require/include (ανάλογα με το πόσο απαραίτητο είναι για το υπόλοιπο πρόγραμμα, κοίτα επίσης και την περίπτωση των require_once/include_once)
  • Να βάλεις τη συνάρτηση οπουδήποτε μέσα στο ίδιο αρχείο (καλύτερα όμως στην κορυφή ή στο τέλος για να την εντοπίζεις πιο εύκολα)

 

Εγώ κάνω συνήθως το πρώτο αλλά είναι καθαρά θέμα συνήθειας και... ανάγκης. Αν πχ. φτιάξω κάτι πολύ απλό που χρειάζεται μόνο 1-2 συναρτήσεις, τις οποιες μάλιστα δεν χρησιμοποιώ πουθενά αλλού εκτός από το ίδιο το αρχείο στο οποιο δηλώνονται, τότε μπορεί να τις αφήσω εκεί.

 

Επειδή όμως σε πιο περίπλοκες περιπτώσεις οι συναρτήσεις είναι πιθανό να χρειάζονται και από άλλα αρχεία, τότε αναγκαστικά τις δηλώνω ξεχωριστά. Με αυτό τον τρόπο, εκτός των άλλων, κάνω ευκολότερη τη συντήρησή τους.

 

Παρόμοια είναι και η λογική της δήλωσης των classes αν χρησιμοποιούμε objects.

Δημοσ.

Οκ σχετικα με τον κωδικα μου ευχαριστω!!!

 

Χρησιμοποιω τον Wamp και οταν κανω export την db μου και την αποθηκευω στο φακελο που υπαρχουν κ τα php αρχεια μου.(ωραια μεχρι εδω)

Το προβλημα μου ειναι πως οταν την σβηνω μετα απο τον wamp και υπαρχει μονο μεσα στον φακελο μου δεν μπορει να καταχωρησει δεδομενα η φορμα μου!!

ξερει κανεις τι συμβαινει? η τουλαχιστον να μου πει πως κανω export την βαση μου γιατι με τον τροπο μου δεν φαινεται να λειτουργει?

Δημοσ.
Οκ σχετικα με τον κωδικα μου ευχαριστω!!!

 

Χρησιμοποιω τον Wamp και οταν κανω export την db μου και την αποθηκευω στο φακελο που υπαρχουν κ τα php αρχεια μου.(ωραια μεχρι εδω)

Το προβλημα μου ειναι πως οταν την σβηνω μετα απο τον wamp και υπαρχει μονο μεσα στον φακελο μου δεν μπορει να καταχωρησει δεδομενα η φορμα μου!!

ξερει κανεις τι συμβαινει? η τουλαχιστον να μου πει πως κανω export την βαση μου γιατι με τον τροπο μου δεν φαινεται να λειτουργει?

 

Όταν την κάνεις export από το wamp στην ουσία σου παράγει ένα sql script για να μπορέσεις να την κάνεις import κάπου αλλού. Δεν μπορείς να την βάλεις να παίζει από το αρχείο... Πρέπει να υπάρχει και στην mySQL του Wamp.

 

Εσύ θέλεις όλη η βάση να τρέχει από το αρχείο που θα φτιάξεις?

Αν ναι δεν είμαι σίγουρος ότι γίνεται με SQL αυτό... Σίγουρα μπορείς να το κάνεις με XML τεχνικές αλλά σε αυτό δεν μπορώ να σε βοηθήσω γιατί δεν γνωρίζω την χρήση του.

Δημοσ.

Οχι δεν εχω προβλημα να τρεχει απο το αρχειο μου και μονο οποτε αφηνουμε τα xml κ.τ.λ

Εγω μεχρι στιγμης εχω την db και την εχω κανει export με ονομα database.sql και την αποθηκευσα σε ενα φακελο.Απο εκει και περα θελω να την ανεβασω σε ενα ftp server και να τρεχει απο εκει το site Μου ενημερωνοντας την db μου.

 

Πως να προχωρησω?

Δημοσ.

Έχεις 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 αρχείο?

 

Αν εννοείς τη δεύτερη περίπτωση, τότε γκούγκλαρέ το και θα βρεις πολλές απαντήσεις.

Δημοσ.

Μιλαω για ftp server στον οποιο θα εχω τις php σελιδες μου.

Εκει θα εμφανιζονται οι σελιδες μου και οταν επιλεγω να εισαγω δεδομενα τοτε να αποθηκευονται στην db μου.Τωρα εσεις περιμενω να μου πειτε αν η Db (database.db) θα πρεπει να ειναι και αυτη στον ftp η σε αλλο φακελο στο pc μου.

Δημοσ.

Σίγουρα εννοείς 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 και θα αποθηκεύσει τις πληροφορίες που θέλεις.

Δημοσ.
Σίγουρα εννοείς 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/

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...