christian-ago Δημοσ. 3 Ιουλίου 2010 Δημοσ. 3 Ιουλίου 2010 Καλησπερα σας. Θελω να φτιαξω ενα loop που να παιρνει το περιεχομενο μιας βασης δεδομενων που εχω οπως πχ. με τη γνωστη εντολη: >while ($row=mysql_fetch_array($item)) αλλα θελω αυτο περιεχομενο να το αποθηκευει σε δισδιαστατατο πινακα ετσι ωστε να μπορω να το εκτυπωσω σε διαφορετικα σημεια της ιστοσελιδας. Γιατι οταν πχ. γραφω στη συνεχεια: >echo $row[0]; οπως αναμενεται εκτυπωνει ολες τις επιλεγμενες γραμμες της βασης μονομιας. Αλλα αυτο που χρειαζομαι ειναι να τις εκτυπωνει γραμμη ανα γραμμη. Κατι σαν $row[0]=κατι $row[1]=κατι άλλο. Ευχαριστω παιδια.
dewn735 Δημοσ. 3 Ιουλίου 2010 Δημοσ. 3 Ιουλίου 2010 Αυτό σου κάνει; >$res=mysql_query($query); echo mysql_result($res,$row_of_result,"col_id"); Αλλιώς, κοίτα εδώ: http://www.php.net/manual/en/function.mysql-fetch-array.php#96505
christian-ago Δημοσ. 3 Ιουλίου 2010 Μέλος Δημοσ. 3 Ιουλίου 2010 Δεν καταλαβα καλα τον κωδικα σου. Πού αποθηκεύονται οι γραμμες της βασης; Και που τοποθετω τον κωδικα; Το manual το διαβασα αλλα μαλλον λυνει αλλο προβλημα.
dewn735 Δημοσ. 3 Ιουλίου 2010 Δημοσ. 3 Ιουλίου 2010 > $res=mysql_query($query); //Τρέχει το query που θέλεις και επιστρέφει τα αποτελέσματα στη μεταβλητή $res echo mysql_result($res,5,"address"); //Από τα αποτελέσματα, τύπωσε από τη πέμπτη γραμμή τη στήλη με όνομα address αλλα θελω αυτο περιεχομενο να το αποθηκευει σε δισδιαστατατο πινακα Είναι ακριβώς αυτό που ψάχνεις: > /*Δίνουμε το query στη βάση δεδομένων και μας επιστρέφει τα ανάλογα αποτελέσματα Στη συνέχεια, τα δίνουμε στη συνάρτηση mysql_fetch_full_result_array, η οποία μας επιστρέφει έναν δισδιάστατο πίνακα τον οποίο και αποθηκεύουμε με όνομα [b]$arr_table_result[/b] */ $query="select * from table_xyz"; $result = mysql_query($query) or die(mysql_error()); $arr_table_result=mysql_fetch_full_result_array($result); /*Συνάρτηση: παίρνει σαν όρισμα τα αποτελέσματα ενός mysql ερωτήματος και μας επιστρέφει δισδιάστατο πίνακα*/ 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; } /*Τυπώνουμε αυτά που θέλουμε*/ echo $arr_table_result[2]['id']; //δεύτερη γραμμή αποτελεσμάτων, στήλη id echo $arr_table_result[10]['address'] //Δέκατη γραμμή αποτελεσμάτων, στήλη address ...Αν και για να πω την αλήθεια, δεν έχω πολυκαταλάβει τι ακριβώς θες να κάνεις!
christian-ago Δημοσ. 3 Ιουλίου 2010 Μέλος Δημοσ. 3 Ιουλίου 2010 Ναι αυτο ακριβως ζητουσα, προσαρμοσα τις μεταβλητες στο δικο μου προγραμμα και λειτουργει τωρα. Απλα νομιζα οτι για μια τετοια διαδικασια θα απαιτειτο λιγοτερο συνθετος κωδικας. Να ΄σαι καλα.
dewn735 Δημοσ. 3 Ιουλίου 2010 Δημοσ. 3 Ιουλίου 2010 Δείχνει περίπλοκο επειδή η συνάρτηση είναι γραμμένη να διαχειρίζεται οποιοδήποτε query. Εάν θες κάτι συγκεκριμένο, ο κώδικας σαφώς και θα είναι πολύ πιο απλός - γι' αυτό και σε ρώτησα τι ακριβώς θες να φτιάξεις!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.