2012-03-28 2 views
0

Итак, что я хочу сделать, это то, что я хочу найти определенное имя в столбце с именем 'filename' и отобразить 'count' в этой строке.Выберите определенные поля MySQL и покажите их с помощью php

Это может помочь объяснить:

Я хочу искать пакеты в столбце «имя файла», но я хочу, чтобы отобразить «количество» на нем (4)

идентификатор счетчика файла

1 Пакеты 4

-Еще 7

+3

Прохладный. Продолжать работать. –

+0

Этот вопрос отсутствует [образец кода] (http://sscce.org/) (здесь, операторы SQL). Пожалуйста, используйте 'CREATE TABLE' и' INSERT ... VALUES' для образцов. Желаемые результаты не обязательно должны быть представлены в качестве примера кода, так как результаты - это результат кода, а не самого кода. Прочтите [Написание идеального вопроса] (http://tinyurl.com/so-hints) для получения дополнительной информации. – outis

ответ

2
$filename = 'Packages'; 
$result = mysql_query("SELECT `count` FROM `downloads` WHERE `filename` = $filename"); 

Также обратите внимание, что если имя файла может исходить от пользовательского ввода вы должны быть осведомлены о injection attacks.

$filename = 'Packages'; // From user 

$filename = mysql_real_escape_string($filename); 
$result = mysql_query("SELECT `count` FROM `downloads` WHERE `filename` = $filename"); 

Вот пример, который выбирает все имена файлов и рассчитывает и перечисляет их в таблице:

$result = mysql_query("SELECT `filename` `count` FROM `downloads`"); 
?><table><tr><td>Filename</td><td>Count</td></tr><?php 
while($row = mysql_fetch_assoc($result)){ 
    ?> 
    <tr><td><?php echo $row['filename']; ?></td><td><?php echo $row['count']; ?></td></tr> 
    <?php 
} 
?></table><?php 
+0

Dang вы на рулоне. Как мне отобразить это в таблице? – Intecpsp

+0

@Intecpsp Вы хотите, чтобы таблица перечисляла все имена файлов и подсчеты? – Paulpro

+0

Nah Я просто хочу получить определенные данные и отобразить их на странице, где люди могут ее увидеть. – Intecpsp

0
$count = mysql_num_rows($result) 
echo($count) 

Отъезд PHP mysql documentation для получения дополнительной информации. В частности, вам нужно узнать о функциях fetch(), которые вы будете использовать для отображения данных, которые вы получаете с помощью вашего запроса.

+0

Я не хочу считать строки, которые я хочу отобразить, столбец с именем count после поиска имени в столбце filename – Intecpsp

+0

Что будет в столбце с именем count? – octern

+0

У него будут номера – Intecpsp

0

сырье запрос будет:

select count(filename) from downloads; 

Edit: Хорошо, вы хотите, чтобы цикл их на странице:

foreach($result as $i) 
{ 
    if(!empty($i)) 
    { 
    echo "<div>$i['column_name']</div>"; 
    } 
} 
1
$query = "SELECT count FROM downloads WHERE filename='Packages'"; 

EDIT:

$result = mysql_query($query, $con) or die(mysql_error()); 

$arr_down = mysql_fetch_assoc($result); 

echo $arr_down["count"]; 

UPDATE : Для одной или нескольких строк с «Пакетами» в ней вы может показать результаты в виде таблицы, как это:

$con = mysql_connect("localhost", "MySQL_username", "MySQL_password") or die ("Unable to connect to MySQL Server " . mysql_error()); 

$fname = "Packages"; 

$query = "SELECT filename, count FROM downloads WHERE filename='" . $fname . "'"; 

$result = mysql_query($query, $con) or die(mysql_error()); 

$html = "<table>\n<tr><th>Filename</th><th>Count</th></tr>\n"; 

while ($row = mysql_fetch_assoc($result)) 
    $html .= "<tr><td>" . $row['filename'] . "</td><td>" . $row['count'] . "</td></tr>\n"; 

$html .= "</table>\n"; 

echo $html; 
+0

Есть ли в нем другие строки с «Пакетами»? – Stefan

+0

Нет, это был только пример, который я использовал – Intecpsp

+0

@Intecpsp: Вы хотите показать только одну строку? См. Мое обновление для нескольких строк. – Stefan

1

Предполагая, что вы на самом деле хотите, чтобы это отчет количества загрузок для каждого файла, вам нужно использовать предложение GROUP BY в вашем SQL-запросе:

<?php 

$res = mysql_query('SELECT id, filename, COUNT(*) AS count FROM downloads GROUP BY filename'); 

if (is_resource($res)) { 
    while (false !== ($row = mysql_fetch_assoc($res))) { 
     printf('%d - %s - %d', $row['id'], $row['filename'], $row['count']); 
    } 
} 

?> 
+0

Хорошо, это сработало. НО это только отображение 1 как счетчик загрузки, когда я могу пойти посмотреть на таблицу, у которой есть 4 загрузки ... – Intecpsp

+0

Мое предположение заключалось в том, что в таблице только «id» и «filename» в качестве столбцов. Таким образом, счетчик был сгенерирован путем подсчета количества записей, имеющих одинаковое имя файла. Рассматривая обмен между вами и октером ниже, кажется, что в таблице уже есть столбец с именем «count». В этом случае мой SQL-оператор пропускает отметку. – kDjakman

+0

Ya У меня есть 'id' 'filename' и 'count', и то, что я хочу показать, - это имя файла и счет. – Intecpsp

Смежные вопросы