Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 22 Май, 2012, 11:24:00

Страниц: [1]
Печать
Автор Тема: Запутался в условии цикла! Нужна помощь профессионала!  (Прочитано 1195 раз)
0 Пользователей и 1 Гость смотрят эту тему.
AdmBuxonly    ↓ 
06 Октябрь, 2008, 07:13:38
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 369
Сила слова: -0.27

Пыхеры, выручайте, ни чего не пойму, условие правильное а он выводит мне какую-то "чушь".
 
хост: localhost
юзер: barosha
база: barosha
таблица: tb_users
поля: id username referer visits и т.д.
 
Создаю таблицу и делаю вывод пользователей и их визитов:
 
<table align="center">
<tr>
<td colspan="2">Статистика</td>
</tr>
<tr>
<td>Пользователь</td>
<td>Кликов</td>
</tr>

<?php
// Вывод статистики пользователей не привлеченных по реферальной системе
$con = mysql_connect("localhost","barosha","passwd");
mysql_select_db("barosha",$con);
$result = mysql_query("SELECT * FROM tb_users ORDER BY -visits");
$myrow = mysql_fetch_array($result);
 
do
{
if($myrow['referer'] == "")
break;
if($myrow['id'] < 1) break;
else
{
printf("<tr>
<td align='center'>%s</td>
<td align='center'>%s</td>
</tr>",$myrow['username'],$myrow['visits']);
}
}
while(mysql_fetch_array($result));
?>

</table>
 
 
и вот вам результат:
 
Статистика
Пользователь Кликов
antiscam         158
antiscam         158
antiscam         158
antiscam         158
antiscam         158
antiscam         158
antiscam         158
antiscam         158
antiscam         158
antiscam         158
antiscam         158
antiscam         158
antiscam         158
antiscam         158
antiscam         158
antiscam         158
 
...........          .....
 
и т.д.
 
Что не так?
« Последнее редактирование: 06 Октябрь, 2008, 07:18:19 от AdmBuxonly » Записан
sap    ↓ 
06 Октябрь, 2008, 07:21:30 , спустя 7 минут 52 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Жмурики

Карма: 40
Сообщений: 2697
Сила слова: 1.48

Не do...while, а просто while(mysql_fetch_array($res)); используй.
И оформляй код в теги [ php][/php ]
Записан

sap    ↓ 
06 Октябрь, 2008, 07:22:40 , спустя 1 минуту 10 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Жмурики

Карма: 40
Сообщений: 2697
Сила слова: 1.48

ORDER BY -visits
Зачем там минус?
Записан

AdmBuxonly    ↓ 
06 Октябрь, 2008, 07:33:18 , спустя 10 минут 38 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 369
Сила слова: -0.27

Зачем там минус?
Минус формирует числа: снизу идет наименьшее а сверху наибольшее
Записан
CTAPbIu_MABP    ↓ 
06 Октябрь, 2008, 07:34:48 , спустя 1 минуту 30 секунд
НЕ ХУЕТА! ХУЕТА!

мавр
Группа: в ухо

Карма: не нужна
Сообщений: 5187
Сила слова: 1.81

AdmBuxonly, учи мат часть - ASC - меньшие вначате, DESC - большие в начале
Записан

java.lang.OutOfMemoryError
AdmBuxonly    ↓ 
06 Октябрь, 2008, 07:35:04 , спустя 16 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 369
Сила слова: -0.27

Text
<?php
// Вывод статистики пользователей не привлеченных по реферальной системе
$con = mysql_connect("localhost","barosha","sberbank");
mysql_select_db("barosha",$con);
$result = mysql_query("SELECT * FROM tb_users ORDER BY -visits");
$myrow = mysql_fetch_array($result);
$i = 1;
while(mysql_fetch_array($result) and $i = 10);
{
$i++;
if($myrow['referer'] == "") break;
    if($myrow['id'] <= 1) break;
    else
    {
    printf("<tr>
            <td align='center'>%s</td>
            <td align='center'>%s</td>
            </tr>",$myrow['username'],$myrow['visits']);
    }
}
?>

 
Он теперь выводит только одного.... с наибольшим посещением...(-visits)
Записан
sap    ↓ 
06 Октябрь, 2008, 07:38:32 , спустя 3 минуты 28 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Жмурики

Карма: 40
Сообщений: 2697
Сила слова: 1.48

Я же тебе говорю, минус убери.
PHP
$result = mysql_query("SELECT * FROM tb_users ORDER BY visits DESC");
Text
while(mysql_fetch_array($result) and $i = 10);
Что это за бред? Какое $i = 10 в условии? Может $i <= 10?
Записан

AdmBuxonly    ↓ 
06 Октябрь, 2008, 07:40:08 , спустя 1 минуту 36 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 369
Сила слова: -0.27

Что это за бред? Какое $i = 10 в условии? Может $i <= 10?

Я и так = и так <= пробовал, а он что так, что так... реально бред...
Записан
sap    ↓ 
06 Октябрь, 2008, 07:41:40 , спустя 1 минуту 32 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Жмурики

Карма: 40
Сообщений: 2697
Сила слова: 1.48

Короче.
 
PHP
$result = mysql_query("SELECT * FROM tb_users ORDER BY visits DESC");
while ($myrow = mysql_fetch_assoc($result))
{
    printf("<tr>
            <td align='center'>%s</td>
            <td align='center'>%s</td>
            </tr>"
,$myrow['username'],$myrow['visits']);
}

Все.
« Последнее редактирование: 06 Октябрь, 2008, 07:43:20 от sap » Записан

AdmBuxonly    ↓ 
06 Октябрь, 2008, 07:51:37 , спустя 9 минут 57 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 369
Сила слова: -0.27

PHP
<?php
mysql_select_db("barosha",$con);
$result = mysql_query("SELECT * FROM tb_users ORDER BY visits DESC");
$myrow = mysql_fetch_array($result);
while(mysql_fetch_array($result));
{
    printf("<tr>
            <td align='center'>%s</td>
            <td align='center'>%s</td>
            </tr>"
,$myrow['username'],$myrow['visits']);
}
?>
</table>

Все сделал, а выводит вот, посмотрите: http://buxonly.com/while.php
Записан
AdmBuxonly    ↓ 
06 Октябрь, 2008, 07:52:52 , спустя 1 минуту 15 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 369
Сила слова: -0.27

Я не пойму, почему он всех не выводит, а только одного? Все же правильно, вы же видите?
Записан
CTAPbIu_MABP    ↓ 
06 Октябрь, 2008, 08:03:48 , спустя 10 минут 56 секунд
НЕ ХУЕТА! ХУЕТА!

мавр
Группа: в ухо

Карма: не нужна
Сообщений: 5187
Сила слова: 1.81

Text
while($myrow = mysql_fetch_array($result));

даже скопипастить не можешь нормально, пазор!
Записан

java.lang.OutOfMemoryError
CTAPbIu_MABP    ↓ 
06 Октябрь, 2008, 08:06:13 , спустя 2 минуты 25 секунд
НЕ ХУЕТА! ХУЕТА!

мавр
Группа: в ухо

Карма: не нужна
Сообщений: 5187
Сила слова: 1.81

бля я вахуе ну далиж рабочий код куда ты его еще улучшаешь
наделал глупастей не понимая что ваще происходит а потом жалуесся
 
Text
$myrow = mysql_fetch_array($result);
чё это?
Записан

java.lang.OutOfMemoryError
disc    ↓ 
06 Октябрь, 2008, 09:34:54 , спустя 1 час 28 минут 41 секунду
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 37
Сообщений: 844
Сила слова: 4.38

Я думаю что тип поля visits  стоит VARCHAR(символьный), поставь INT
 
Это видно по обратной сортировке, 9 8 7 6 и т.п.
Записан
Страниц: [1]
Печать
 

Перейти в: