Μέτρηση καταχωρήσεων πεδίου

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

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

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

Μέτρηση καταχωρήσεων πεδίου

Δημοσίευση από cdhyper » 08 Ιουν 2006 12:25

Μπορεί κανείς να μου συντάξει την εντολή: "μέτρα και εμφάνισε τον αριθμό των καταχωρήσεων που έχει ένα πεδίο στη mysql";
Σύγκριση τιμών Supermarket: http://www.shopnsave.gr
Νέα Ιταλικα επιπλα κουζινας
Για φιλοσόφους: http://filosofia.gr και http://liantinis.org

Άβαταρ μέλους
tsiger
Honorary Member
Δημοσιεύσεις: 1431
Εγγραφή: 11 Νοέμ 2002 13:40
Τοποθεσία: Thessaloniki Observation Center
Επικοινωνία:

Μέτρηση καταχωρήσεων πεδίου

Δημοσίευση από tsiger » 08 Ιουν 2006 12:40

SELECT count(field) FROM table .. XM.. kati allo psaxneis esy...

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Μέτρηση καταχωρήσεων πεδίου

Δημοσίευση από soteres2002 » 08 Ιουν 2006 12:45

px exeis ena kommati kodika:

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

$conn = mysql_query("query...");
$kataxoriseis = mysql_affectred_rows();
print $kataxoriseis;
i sinartisi mysql_affected rows kanei to thauma. tora auto poy egrapse o filos pio pano den eimai sigouros an doulebei stin MySQL, alla stin MSSQL tis microsoft tin souita. Pantos me ASP.NET kai ODBC doulebei auto me to count(). pantos i affected_rows doulebei panta.

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

Μέτρηση καταχωρήσεων πεδίου

Δημοσίευση από cdhyper » 08 Ιουν 2006 12:59

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

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

Άβαταρ μέλους
tsiger
Honorary Member
Δημοσιεύσεις: 1431
Εγγραφή: 11 Νοέμ 2002 13:40
Τοποθεσία: Thessaloniki Observation Center
Επικοινωνία:

Μέτρηση καταχωρήσεων πεδίου

Δημοσίευση από tsiger » 08 Ιουν 2006 13:04

i affected_row xrisimopoieitai se sinergasia me tin UPDATE,INSERT

i count() paizei stin mysql

cdhyper

$conn = mysql_query("SELECT count('photos') FROM gallery");
$count = mysql_fetch_array($conn);
$get_count = $count[0];

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

Μέτρηση καταχωρήσεων πεδίου

Δημοσίευση από cpulse » 08 Ιουν 2006 13:10

Το affected rows δείχνει τι αλλαγές γίνονται όταν προσθέτονται ή αφαιρούνται στοιχεία, όχι τα υπάρχοντα στοιχεία.

Στην βάση σου το photos τι είναι; Αριθμός φωτογραφιών.. string με όνομα φωτογραφίας; Αν είναι αριθμός που μετράει φωτογραφίες τότε μήπως θες αυτό:

$res = mysql_query('SELECT SUM(photos) FROM gallery') or die(mysql_error());
list($count) = mysql_fetch_row($res);

Το COUNT χρησιμεύει για να μετράει rows στο σύνολο του πίνακα ή όταν χρησιμοποιούμε γκρουπαρίσματα.

Άβαταρ μέλους
tsiger
Honorary Member
Δημοσιεύσεις: 1431
Εγγραφή: 11 Νοέμ 2002 13:40
Τοποθεσία: Thessaloniki Observation Center
Επικοινωνία:

Μέτρηση καταχωρήσεων πεδίου

Δημοσίευση από tsiger » 08 Ιουν 2006 13:43

cpulse to sinolo zitise o cdhyper oxi to athroisma...

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

Μέτρηση καταχωρήσεων πεδίου

Δημοσίευση από cpulse » 08 Ιουν 2006 14:13

Εκει είναι που μπερδεύτηκα... το σύνολο των photos... γιατί το σύνολο γενικά ειναι το COUNT(*) ... εκτός κι αν το photos θέλει να το βάλει σε κάποιο WHERE .. γι αυτό και τον ρώτησα αν είναι όνομα ή αριθμός.

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

Μέτρηση καταχωρήσεων πεδίου

Δημοσίευση από dva_dev » 08 Ιουν 2006 15:29

Αν το photos είναι αριθμός μήπως κάνει αυτό:

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

select count(*) from gallery where photos > 0

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Μέτρηση καταχωρήσεων πεδίου

Δημοσίευση από soteres2002 » 08 Ιουν 2006 22:08

tsiger έγραψε:i affected_row xrisimopoieitai se sinergasia me tin UPDATE,INSERT
gia na sou apodeikso tou logou to alithes des to http://www.cshell.gr/rows.php

kano kai highlight to file gia na deis ton kodika.
Os apotelesma, i affected_rows den epireazei to sinolo ton rows pou alazoune isos einai ligo paraplanitiko to onoma tis sinartisis, alla to affected antistixei sta rows pou "epireazontai" dld pliroun ta kritiria tis anazitisis.

stis periptosi tou rows.php exo enan pinaka me dio eggrafes mesa kai tsibaei ena 2ari apo to affected_rows.

to stisimo tou table pou ekana einai os eksis (analoioto):
CREATE TABLE gallery(
entry tinytext
) TYPE = MYISAM ;

aplos esi opou entry bale photo

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

Μέτρηση καταχωρήσεων πεδίου

Δημοσίευση από cpulse » 08 Ιουν 2006 22:41

Μπορεί... αλλά και πάλι δημιουργείς traffic χωρίς λόγο. Το COUNT(*) απλά επιστρέφει ένα νούμερο, επίσης δεν δημιουργεί cursors και τέτοια στο εσωτερικό της βάσης, οπότε χαλάει και πολύ λιγότερη μνήμη.

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Μέτρηση καταχωρήσεων πεδίου

Δημοσίευση από soteres2002 » 08 Ιουν 2006 22:46

me ton idio tropo epidra kai me tin count aplos to erotima analietai kateftian apo ton mysql server, sto script aplos kano to idio erotima mono ston server kai den kano tpt output. an kaneis ena benchmarking nomizo pos tha exei ta idia timings, to idio kai gia tin ram kai tous kiklous tis CPU.

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

Μέτρηση καταχωρήσεων πεδίου

Δημοσίευση από cpulse » 08 Ιουν 2006 22:57

Καλά τώρα κάνουμε micro optimizations.. αλλά και έστω και ενδοserverιακά η PHP δημιουργεί connection στην MySQL και παίρνει όλα τα δεδομένα του query μέσω TCP/IP (εκτός αν χρησιμοποιήσεις την mysql_unbuffered_query() ), ασχέτως αν θα τα χρησιμοποιήσει ή όχι.

Πάντως αν το query έχει δεδομένα τις τάξης των χιλιάδων σίγουρα θα είναι καλύτερο το COUNT(*).

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Μέτρηση καταχωρήσεων πεδίου

Δημοσίευση από Basilakis » 09 Ιουν 2006 16:22

cpulse... Κάνεις τον κύκλο σε αυτά που είπε ο soteres για να αποδίξεις τί;

Soteres ο κώδιακας, το παράδειγμα και αυτά που είπες απλώς RuleZZZ. Respect!

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

Μέτρηση καταχωρήσεων πεδίου

Δημοσίευση από cpulse » 09 Ιουν 2006 16:29

Δεν έχω να αποδείξω τίποτα.. απλά ο τρόπος του δεν είναι ο βέλτιστος..
Συνεισφέρω, δεν είμαι κομπλεξικός για να χαίρομαι οταν διορθώνω κάποιον.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

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

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