Код който да отброява на всеки потребител отделно SMS-ите

manq4et0

Registered
Здравейте трябва ми код който да отброява SMS-ите на всеки потребител примерно

Днес дада е пратил 5 sms-a
И дадада е пратил 15 sms-a
А пък двадав е пратил 2 sms-a

Т.е.

дадада - 15 sms-a
дада 5 смс-а
двадав - 2 смс-а

след това двадва праща още 20 sms-a

двадва - 22 смс-а
дадада - 15 sms-a
дада 5 sms-a

Използва услугите на fortumo

SQL на SMS-ите ми :

Код:
-- phpMyAdmin SQL Dump
-- version 3.2.4
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Nov 16, 2010 at 09:14 PM
-- Server version: 5.0.91
-- PHP Version: 5.2.3

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `data`
--

-- --------------------------------------------------------

--
-- Table structure for table `sms`
--

CREATE TABLE IF NOT EXISTS `sms` (
  `id` int(255) NOT NULL auto_increment,
  `message` varchar(255) character set utf8 collate utf8_unicode_ci NOT NULL,
  `mydate` varchar(255) character set utf8 collate utf8_unicode_ci NOT NULL,
  `cena` varchar(255) character set utf8 collate utf8_unicode_ci NOT NULL,
  `points_to_add` varchar(255) character set utf8 collate utf8_unicode_ci NOT NULL,
  `t` varchar(255) character set utf8 collate utf8_unicode_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;

--
-- Dumping data for table `sms`
--
Искам да се изведе само "message"
и да му отброява SMS-ите :)
На всеки потребител поотделно и да мога да си ги нагласям от кода примерно колко потребителя да ми изкарва дали 1 -2-3-4-5-6....
 
SELECT `message`,count(*) FROM `sms` GROUP BY `message` ORDER BY count(*) DESC

Предполагам, че всеки потребител праща съдържание от рода на userNNN (в смисъл потребител 1 праща праща например code1, потребител 2 праща праща например code2, потребител N праща праща например codeN).

В противен случай вместо `message` трябва да сложиш полето с името/id на потребителя.
 
потребителя праща SMS на номер **** с текст **** съдържанието в SMS-a e ника му т.е. message = ника на потребителя



BIG UPPPPPPPP
 
Това ти е само MySQL заявката и със сигурност работи. Ако имаш phpAdmin (а би трябвало), избери таблицата, влез в полето SQL и пастни заявката 1:1.
 
Записвай от кой потребител е изпратен СМС-а, след т ова ги каунтни според потребителя...

$user_sms = mysql_query("SELECT * FROM `sms` WHERE `send_by` = '".user_id."'");
echo mysql_num_rows($user_sms);
 
Този код стана, но ми показва само 1 нула според мен трябва да е друг кода:

Там където се записват смс-ите таблицата е " sms"
В нея има
Id- номер на смс-а
message- потребителя който е пратил смс-а
mydate- кога е пратен
cena - цена
points_to_add - колко точки

На мен ми трябва message .
Като броя на смс-ите е равен на толкова пъти колкото се повтаря потребителското име в дб т.е. message.
Защото на всеки пратен смс ника се запеметява в дб
Ако са пратени 10 смс-а има 10 записа в дб т.е. има 10 повторения на mesage и id-то може да е 23 55 44 и т.н.
Т.е. СМС-ите се броят по повторение на message.
 
Аз продължавам да твърдя, че тази заявка ще ти свърши работа :

$sql="SELECT `message`,count(*) as `N` FROM `sms` GROUP BY `message` ORDER BY count(*) DESC";

$q = mysql_query($sql) or die(mysql_error());

while ($d = mysql_fetch_assoc($q)) {

echo "Потребител: {$d['message']}, брой СМС-и : {$d['N']}<br>";

}

Трябва да покаже всички потребители изпратили СМС и броят СМС-и, подредени по брой СМС-и в низходящ ред.
 
Перфектно стана и сега последно направи така ,че да излизат само първите 3 потребителя и смс-ите и да се броят смс-ите които струват само 6 лева т.е.
cena = 6.00
Потребителите и броя на SMS или остана да направя проверка дали е от 6 лева и ако е от 6 лева тогава да се отброи т.е.
потребителя е пратил 2 смс-а от 1.20 3 от 4.80 и 12 от 6.00
общо 15 смс-а , но от тях само 12 ще отчете :)
 
Аз смятам, че ти помогнах достатъчно. Но ти явно бъркаш помщта със свършването на работата.
 
Код:
<?
$sql="SELECT `message`,count(*) `cena`=6.00 as `N`  FROM `sms` GROUP BY `message` ORDER BY count(*) DESC";

$q = mysql_query($sql) or die(mysql_error());

while ($d = mysql_fetch_assoc($q)) {

echo "<center>Потребител: <b>{$d['message']} </b>  SMS: <b>{$d['N']}</b><hr></center>";

}

	?>

Значи с този код става всичко добре ама на смс-ите ми от 6.00 на всеки ми пише ,че е пратил само 1 ,а потребителя е пратил повече от 3 смс-а от 6.00 лв
 

Back
Горе