Здравствуйте. и вновь нуждаюсь в Вашем совете. Создал в бд таблицу с полями "ID","title","Text","Avtor". проблема в том что когда пытыюсь вывести название и часть текста у меня выводится весь текст, вопрос может кто посоветует как сделать чтобы можно было вывести название к примеру первые 150 символов из текста. P.S и если можно, как сделать ссылку в бд на эти тексты. Спасибо. так как немогу найти сам вот весь код Код (Text): <?php require_once('Connections/connect.php'); ?> <?php $maxRows_Recordset1 = 5; $pageNum_Recordset1 = 0; if (isset($_GET['pageNum_Recordset1'])) { $pageNum_Recordset1 = $_GET['pageNum_Recordset1']; } $startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1; mysql_select_db($database_connect, $connect); $query_Recordset1 = "SELECT datum, title, content FROM dnp_long_news ORDER BY datum ASC"; $query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1); $Recordset1 = mysql_query($query_limit_Recordset1, $connect) or die(mysql_error()); $row_Recordset1 = mysql_fetch_assoc($Recordset1); if (isset($_GET['totalRows_Recordset1'])) { $totalRows_Recordset1 = $_GET['totalRows_Recordset1']; } else { $all_Recordset1 = mysql_query($query_Recordset1); $totalRows_Recordset1 = mysql_num_rows($all_Recordset1); } $totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1; ?> <body> <?php do { ?> <table width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td><?php echo $row_Recordset1['title']; ?></td> </tr> <tr> <td><?php echo $row_Recordset1['content']; ?></td> </tr> <tr> <td><?php echo $row_Recordset1['datum']; ?></td> </tr> </table> <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?></body> </html> <?php mysql_free_result($Recordset1); ?>
Как я понял, тебе нужно что-то типа этого: SELECT datum, title, SUBSTRING(content,0,150) FROM dnp_long_news ORDER BY datum ASC
Да это именно то что нужно , но когда я прописываю PHP: SELECT datum, title, SUBSTRING(content,0,150) FROM dnp_long_news ORDER BY datum ASC у меня всплывает сообщение Код (Text): Notice: Undefined index: content in z:\home\test1.ru\www\rus\test.php on line 38 тоесть браузер ругается на строку PHP: <?php echo $row_Recordset1['content']; ?> хотя при PHP: SELECT datum, title, content FROM dnp_long_news ORDER BY datum ASC всё нормально вот и ломаю голову что с этим content надо делать?
Немного не правильно подсказали. Надо: SELECT datum, title, SUBSTRING(content,1,150) AS short FROM dnp_long_news ORDER BY datum ASC И соответственно использывать: <?php echo $row_Recordset1['short']; ?>
aziz А вы попробуйте не бездумно делать то что говорять, а попробуйте понять как это работает... PHP: <table width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td><?=$row_Recordset1['title']?></td> </tr> <tr> <td><?=$row_Recordset1['content']?></td> </tr> <tr> <td><?=$row_Recordset1['datum']?></td> </tr> <tr> <td><xmp><?php print_r($row_Recordset1) ?></xmp></td> </tr> </table> Предвкушая что вы можете сказать в ответ сразу оговорюсь: если вы не умеете или не хотите думать, это не является отговоркой, а всего лишь оценка уровня вашего желания научиться.
Свой запрос прежде чем написать проверил у себя на локале, правда с другой таблицей и все прекрасно работало... Есть такая фича, называецца phpMyAdmin - там можно вручную прогнать запрос и посмотреть, например мой, который я тестил: SELECT id, SUBSTRING(name,1,5) AS short FROM ds_company ORDER BY id ASC Результ: id - short 1 - Яндек 2 - Рамбл 3 - Гугль 4 - Майкр MySQL - 4.0.23, phpMyAdmin 2.6.0-pl3, php - 4.3.10...