Так работает изначально PHP: <?php include('conn.php'); $sql = 'SELECT `ID`,`NAME`, `GENRE`,`TEXT`,`PRICE` FROM `groups`'; $data = mysql_query($sql); while($row = mysql_fetch_row($data)) echo ("<a href='group_{$row[2]}'><b>{$row['2']}</b></a> <br>"); ?> а вот так не работает ((( Может можно шо-то придумать ?? т.е я хочу чтобы вывод в адресной строке был не таким BAD%20BOYS а вот таким BADBOYS PHP: <?php include('conn.php'); $sql = 'SELECT `ID`,`NAME`, `GENRE`,`TEXT`,`PRICE` FROM `groups`'; $data = mysql_query($sql); while($row = mysql_fetch_row($data)) $trim=str_ireplace(" ","","$row[2]"); echo ("<a href='group_{$trim}'><b>{$row['2']}</b></a> <br>"); ?>
PHP: <?php include('conn.php'); $sql = 'SELECT `ID`,`NAME`, `GENRE`,`TEXT`,`PRICE` FROM `groups`'; $data = mysql_query($sql); while($row = mysql_fetch_row($data)) { $trim=str_ireplace(" ","","$row[2]"); echo ("<a href='group_{$trim}'><b>{$row['2']}</b></a> <br>"); } ?> Работает ))
А вот, что я напрочь забыл..((( Мне же надо, чтобы после клика по ссылке <a href='group_{$trim}'><b>{$row['2']}</b></a> запускался новый обработчик. т.е. если ссылка передает badboys, то должно всплывать описание пункта соответствующее bad boys. Как это реализовать. Т.е. как забить обработчик. приходят мысли сделать что-то подобное ( псотавил точку и расширение файла) но видимо надо еще что-то PHP: echo ("<a href='{$trim}.php'><b>{$row['2']}</b></a> <br>"); и как будет называться файл обработчика ??
Реализовал так, но все равно где-то косяк PHP: <?php include('conn.php'); $genre = mysql_real_escape_string($_GET['menu']); $sql = "SELECT * FROM groups WHERE GENRE = '" . $genre . "'"; $data = mysql_query($sql); echo "<table border=3>"; while($row = mysql_fetch_row($data)) { echo "<td><a href=obrabotka.php?page=$row[1]>$row[1]</a></td>"; echo "<td>$row[2]</td>"; echo "<td>$row[4] $</td>"; echo "</tr>"; } echo "</table>"; ?> обработчик PHP: <?php // Устанавливаем соединение с базой данных include "conn.php"; // Извлекаем из URL текущую страницу $page = $_GET['page']; $sql = "SELECT 'TEXT' * FROM groups WHERE NAME = '$page'"; $data = mysql_query($sql); while($row = mysql_fetch_row($data)) { echo "$row[3]<br>"; } ?> Здесь $row[3] это и есть 'TEXT' который я хочу , чтобы выводился на этой странице согласно переданному $_GET['page'] Пока выводит пустой экран
Блин, да запомни, что при подстановке элементов массива или любых других "сложных" данных их нужно заключать в {} У тебя то используется, то нет. Хватит из кусков код собирать, проанализируй ОТ и ДО
Млин ну все же код из кусочков собирают)) ...вот и я начинаю с простого. Смысл то мне понятен..да синтаксис хромает ((( но пока сложно...я вообще с нуля изучаю php ( это мой первый язык) Вот попробывал засадить скобочки в эти строки ..но результат тот же. PHP: echo "<td><a href=obrabotka.php?page={$row[1]}>$row[1]</a></td>"; PHP: $page = {$_GET['page']}; $sql = "SELECT 'TEXT' * FROM groups WHERE NAME = '{$page}'";
PHP: <?php // Устанавливаем соединение с базой данных include "conn.php"; // Извлекаем из URL текущую страницу $page = {$_GET['page']}; $sql = "SELECT TEXT FROM groups WHERE NAME = '$page'"; $data = mysql_query($sql); $row = mysql_result($data) { echo $row; } ?> Выводит пустую страницу
WTF is $row = mysql_result($data) {} ? курить mysql_fetch_array. или хотя бы пробовать echo mysql_result($data,0)
PHP: <?php // Устанавливаем соединение с базой данных include "conn.php"; // Извлекаем из URL текущую страницу $page = isset($_GET["page"]) ? intval($_GET["page"]) : 0; $query = "SELECT `TEXT` FROM `groups` WHERE `NAME` = '".$page."'"; if(($fetch = mysql_query($query)) !== false) { while($row = mysql_fetch_object($fetch)) { print_r($row); } } else { print mysql_error(); } ?>
Дык мне надо вывести одну ячейку из стобца TEXT поэтому подумал уместно будет использовать mysql_result
Elkaz По привычке =)) Меня вообще тормознуло: сначала я привел к целочисленному типу, а потом ещё в кавычки взял О_о ууу, фейл)
$sql = "SELECT * FROM groups WHERE NAME = '.$page.'"; Мне кажется , что ошибка в запросе. Потому, что подставляя заранее известное имя тоже ничего ничего не происходит... Ну кто-нибудь напишите почему !!!!!!!!!!!! $sql = "SELECT * FROM groups WHERE NAME = '.BEATLES.'";
Вот так работает с явным заданием переменной $_GET PHP: <?php // Устанавливаем соединение с базой данных include "conn.php"; // Извлекаем из URL текущую страницу $page = $_GET['band']; $sql = "SELECT * FROM groups WHERE NAME = 'ABBA'"; $data = mysql_query($sql); $row = mysql_fetch_row($data); echo $row[3]; ?> Как тепер вместо ABBA воткнуть переменную ??))
чтобы ничего не казалось ставим после $sql = "SELECT * FROM groups WHERE NAME = '.$page.'"; Код (Text): echo $sql; die(); копируем запрос с экрана и выполняем его в phpmyadmin
Вставил! Ругается на синтаксическую ошибку. SQL-запрос: "SELECT * FROM groups WHERE NAME = '.$page.'" Ответ MySQL: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"SELECT * FROM groups WHERE NAME = '.$page.'"' at line 1
УЧИ СИНТАКСИС!!! в начале двойная ковычка, а после равно ординарная, далее точка. Что ты этим хотел показать? Если соединяешь строки, то собирай с одинаковыми кавычками в начале и в конце либо
SELECT * FROM groups WHERE NAME = '.$page.' MySQL вернула пустой результат (т.е. ноль строк). (запрос занял 0.0007 сек.) SQL-запрос: SELECT * FROM groups WHERE NAME = '.$page.' LIMIT 0 , 30
Ensiferum Не работает !!! И кстати мне не понятно PHP: "SELECT * FROM groups WHERE NAME = '".$page."'" Зачем эти точки именно здесь и куча кавычек ?? ..я знаю фукнцию точки как присоединения..но здесь что-то другое.
Надо было исправить здесь. Вместо ключа 2 использовать ключ 1. Столбик с ключом 2 отвечал за стиль музыки, поэтому при передаче параметра он не находил соответствия он искал совпаления названия стиля с названием группы и не находил. А должен был искать совпадения название группы с названием группы. PHP: <?php include('conn.php'); $sql = "SELECT * FROM groups"; $data = mysql_query($sql); echo "<table border=3>"; while($row=mysql_fetch_row($data)) {// ссылки echo "<tr>"; echo "<td>$row[0]</td><td><a href='doit.php?band=$row[1]'>$row[1]</a></td>"; echo "</tr>"; } echo "</table>"; ?> Как видно во втором файле я специально убрал кучу кавыек и все равно все работает !! )) PHP: <?php // Устанавливаем соединение с базой данных include "conn.php"; // Извлекаем из URL текущую страницу $page = $_GET[band]; $sql = "SELECT * FROM groups WHERE NAME = '$page'"; $data = mysql_query($sql); $row = mysql_fetch_row($data); echo $row[3]; ?>