|
|
|
| Здравствуйте!
Помогите решить такую задачу:
Есть таблица (tab_tel) в БД :
======================================
= id = telefon = user = city =
======================================
= 1 = 999-99-99 = colia = moskou =
======================================
= 2 = 111-11-11 = serii = piter =
======================================
= 3 = 999-99-99 = colia = moskou =
======================================
= 4 = 111-11-11 = serii = piter =
======================================
= 5 = 111-11-11 = serii = piter =
======================================
= 6 = 999-99-99 = colia = moskou =
======================================
= 7 = 111-11-11 = serii = piter =
======================================
= 8 = 999-99-99 = colia = moskou =
======================================
= 9 = 111-11-11 = serii = piter =
======================================
= 10 = 111-11-11 = serii = piter =
======================================
Выполняю запрос и вытаскиваю результат:
$xx = mysql_query("SELECT telefon, COUNT(*) FROM tab_tel GROUP BY telefon", $conn);
$rows = mysql_num_rows($xx);
$fields = mysql_num_fields($xx);
echo "<pre>";
for ($c=0; $c<$rows; $c++) {
for ($cc=0; $cc<$fields; $cc++) {
echo mysql_result($xx, $c, $cc);
echo "\n";
}
}
echo "</pre>";
|
На экран выскакивает:
999-99-99
4
111-11-11
6
Но с этими данными, в таком виде, нельзя ничего делать. Возможно ли их разбить на 4 разных переменных и потом работать с ними так как потребуется. К примеру:
$x1=999-99-99
$x2=4
$x3=111-11-11
$x4=6
Я этот вопрос задавал на другом форуме, там мне сказали, что здесь: http://php.ru/manual/function.mysql-fetch-array.html все "разжевано" но там про это вообще ничего не говорится. | |
|
|
|
|
|
|
|
для: sasha12342
(05.01.2013 в 21:53)
| | Но с этими данными, в таком виде, нельзя ничего делать
а что вы хотите с ними сделать? вообще-то с ними можно много чего намутить, только вот подход у вас не совсем верный.
начинать надо с изучения книг по данной тематике.
кто вас научил обрабатывать запрос циклом for ?
while для этих целей гораздо удобнее, если не сказать правильнее. | |
|
|
|
|
|
|
|
для: sasha12342
(05.01.2013 в 21:53)
| | Вот что имеется в виду
<?php
$query = "SELECT telefon, COUNT(*) AS total FROM tab_tel GROUP BY telefon";
$xx = mysql_query($query, $conn);
if(!$xx) exit("Ошибка выполнения SQL-запроса");
// Если имеется хотя бы одна строка, продолжаем обработку
if(mysql_num_rows($xx)) {
while($row = mysql_fetch_array($xx)){
$result['phone'][] = $row['telefon'];
$result['total'][] = $row['telefon'];
}
echo "<pre>";
print_r($result);
echo "</pre>";
$x1 = $result['phone'][0];
$x2 = $result['total'][0];
$x3 = $result['phone'][1];
$x4 = $result['total'][1];
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(06.01.2013 в 00:28)
| | Спасибо за подробный ответ!
Вы правильно меня поняли. Только Ваш запрос выдает такой ответ:
Array
(
[phone] => Array
(
[0] => 999-99-99
[1] => 111-11-11
)
[total] => Array
(
[0] => 999-99-99
[1] => 111-11-11
)
)
$x1 = 999-99-99
$x2 = 999-99-99
$x3 = 111-11-11
$x4 = 111-11-11 | |
|
|
|
|
|
|
|
для: sasha12342
(06.01.2013 в 14:54)
| | а догадаться исправить?
$result['phone'][] = $row['telefon'];
$result['total'][] = $row['total'];
|
___
кстати вы зря игнорируете наводящие вопросы того кто может вам помочь | |
|
|
|
|
|
|
|
для: Valick
(06.01.2013 в 15:31)
| | Спасибо большое всем!
Работает!
Теперь буду анализировать, как это работает.
Еще раз, спасибо! | |
|
|
|