2014-02-01 6 views
0

Я хотел бы попросить вас узнать, как извлекать информацию из моей базы данных, не получая в ней все. Например: у меня есть статья, состоящая из 10 абзацев в моей базе данных, но я бы хотел только получить из нее 200 символов (чтобы у меня была постоянная информация для предварительного просмотра моих статей). Заранее спасибоизвлекать определенные данные из базы данных с помощью php

В настоящее время я использую этот код, чтобы принести мои данные, но это дает мне все, что из базы данных

$result = mysql_query("SELECT * FROM tblArticles Where id='".$_POST['num']."'"); 

    $count=mysql_num_rows($result); 
     if($count>0) 
      { 
    $row = mysql_fetch_array($result); 
         $id=$row[0]; 
         $title=$row[1]; 
         $contents=$row[2]; 

      } 
+0

Используйте функцию [mysql SUBSTR] (http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substr) в запросе –

+0

Что делать, если вам нужны статьи в месте и хотите отображать больше, чем фрагмент? Я думаю, что если вы выберете все и используете PHP-субстрат, вы в порядке, используйте механизм кеширования, чтобы ускорить работу слишком. –

+0

Не используйте '$ _POST' непосредственно в вашем SQL-запросе! Перед тем, как использовать его в запросе, сначала удалите и дезинформируйте свои данные! –

ответ

0

Try (убедитесь, что вы измените имена полей в запросе SQL для фактических имен полей):

$result = mysql_query(" 
    SELECT id AS article_id, 
      article_title, 
      SUBSTRING(article_content, 1, 200) AS article_content 
    FROM tblArticles 
    WHERE id='" . mysql_real_escape_string($_POST['num']) . "'"); 

$count=mysql_num_rows($result); 

if($count>0) 
{ 
    $row = mysql_fetch_assoc($result); 

    $id=$row['article_id']; 
    $title=$row['article_title']; 
    $contents=$row['article_content']; 
} 

Я добавил функцию MySQL SUBSTRING() для запроса SQL. Это приведет к получению частичной строки из целой строки. Например, substring(field, 1, 100), будет извлекать весь текст между символом 1 и символом 100 из поля.

Вы также должны избегать использования функций MySQL_*. Там не рекомендуется использовать новый код. Вместо этого просмотрите PDO или MySQLi

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