Count sql σε loop

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

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

Απάντηση
Άβαταρ μέλους
Stadem
Δημοσιεύσεις: 198
Εγγραφή: 10 Μαρ 2007 20:45

Count sql σε loop

Δημοσίευση από Stadem » 16 Μάιος 2009 00:26

Έχω το εξής πρόβλημα, κάνω count

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

$query   = "SELECT COUNT(*) AS numrows FROM efhmerida WHERE ekdotis_id='".mysql_real_escape_string ($ekdotis_id)."' ";
$result2  = mysql_query($query) or die('2Error, query failed');
$row     = mysql_fetch_array($result2, MYSQL_ASSOC);
$numrows = $row['numrows'];

  echo "Για εκδότη $ekdotis_id σύνολο αποτελεσμάτων:".$numrows."-";
  
Και μου βγάζει :

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

Για εκδότη 1 σύνολο αποτελεσμάτων:11-Για εκδότη 3 σύνολο αποτελεσμάτων:2- 
Πώς μπορεί να μου βγάλει το άθροισμα των αποτελεσμάτων δηλ 13.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Count sql σε loop

Δημοσίευση από fafos » 16 Μάιος 2009 00:36

xoris to WHERE den stous metra olous?

asxeto.. gia kathe ekdoth kaleis kai ena query?
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
Stadem
Δημοσιεύσεις: 198
Εγγραφή: 10 Μαρ 2007 20:45

Count sql σε loop

Δημοσίευση από Stadem » 16 Μάιος 2009 01:04

fafos έγραψε:asxeto.. gia kathe ekdoth kaleis kai ena query?
Ναι για κάθε εκδότη καλώ διαφορετικό query γιατί να βγάλω τα αποτελέσμα τα του αποτελέσματα.

Προσπαθώ να κάνω άθροισμα κάτι σαν :

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

 SELECT Sum(c)
   FROM (SELECT ekdotis_id, COUNT(ekdotis_id) AS c
      FROM efhmerida
      where ekdotis_id='".mysql_real_escape_string ($ekdotis_id)."'
      HAVING COUNT(ekdotis_id) > 1) AS b;  
Αλλα δεν μου βγαίνει. :cry:

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Count sql σε loop

Δημοσίευση από vassilism » 16 Μάιος 2009 01:43

Έτσι ίσως?:think:

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

$sinolo= $ekdotis_id+$numrows;
echo "$sinolo ";

Άβαταρ μέλους
greekbytes
WebDev Moderator
Δημοσιεύσεις: 2438
Εγγραφή: 15 Νοέμ 2002 15:42
Τοποθεσία: Αθήνα
Επικοινωνία:

Count sql σε loop

Δημοσίευση από greekbytes » 16 Μάιος 2009 01:49

Δεν μας έχεις δώσει τη δομή των tables σου και δεν ξέρω αν έχω καταλάβει τι θες να κάνεις..
οπότε.. έστω ότι έχεις 2 πολύ απλούς πίνακες έτσι..
ekdotes
id
title

efhmerida
id
ekdotis_id
title


1. Αν θες απλά να μετρήσεις και να εμφανίσεις τις εγγραφές του πίνακα efhmerida που έχουν ekdotis_id πχ "5":

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

$query = mysql_query("SELECT * FROM efhmerida WHERE ekdotis_id = '" . mysql_real_escape_string($ekdotis_id) . "'");
if ($numrows = mysql_num_rows($query)) { ?>
	<h2>Για εκδότη <?=$ekdotis_id?> σύνολο αποτελεσμάτων&#58; <?=$numrows?></h2>
	<? while &#40;$row = mysql_fetch_array&#40;$query&#41;&#41; &#123; ?>
    	<p>Τίτλος&#58; <?=$row&#91;'title'&#93;?></p>
	<? &#125;
&#125;
2. Αν θες να εμφανίσεις μία λίστα με τους εκδότες και πόσες εγγραφές έχει ο καθένας τους στον πίνακα με τις εφημερίδες:

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

$query = mysql_query&#40;"
	SELECT ekdotes.id, ekdotes.title, COUNT&#40;efhmerida.id&#41; AS efhmerides_counter 
	FROM ekdotes
	LEFT JOIN efhmerida ON efhmerida.ekdotis_id = ekdotes.id
	GROUP BY ekdotes.id
"&#41;;
while &#40;$row = mysql_fetch_array&#40;$query&#41;&#41; &#123; ?>
	<p>Εκδότης&#58; <?=$row&#91;'title'&#93;?> --> Εφημερίδες&#58; <?=$row&#91;'efhmerides_counter'&#93;?></p>
<? &#125;
Αν πέφτω έξω εξήγησέ μας λίγο καλύτερα...
Δεν τα δοκίμασα οπότε αν έχω κανένα λαθάκι γράψε τι error χτυπάει

Άβαταρ μέλους
Stadem
Δημοσιεύσεις: 198
Εγγραφή: 10 Μαρ 2007 20:45

Count sql σε loop

Δημοσίευση από Stadem » 16 Μάιος 2009 02:43

Οι εκδότες είναι ένα query και κάνει loop Και εμφανίζει τς εφημερίδες που έχει ο κάθε ένας.

Ήθελα ένα σύνολο αποτελεσμάτων τις εφημερίδες που έχουν όλοι οι εκδότες.

Αυτό που έπρεπε να κάνω ήταν ένα απλό:

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

$sql_counter  = mysql_query&#40;"SELECT * FROM efhmerida 
WHERE ekdotis_id='".mysql_real_escape_string &#40;$ekdotis_id&#41;."'"&#41;or die&#40;mysql_error&#40;&#41;&#41;; 
$seires = $seires+mysql_num_rows&#40;$sql_counter&#41;;
και έξω απο το loop να εμφανίσω το αποτέλεσμα-αθροισμα.
Έπαθα black out.

Ηθηκό δίδαγμα: όταν παθένεις black out κάνε brake and restart.

Ευχαριστώ παιδια για την βοήθεια σας

Απάντηση

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

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

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