Ссылка на столбец в таблице

dirol

Новичок
Vallar_ultra, я это уже читал. И даже не 10 раз, а больше, но никак понять не могу. Как эту статью применить на практике....
 

Vallar_ultra

Любитель выпить :)
dirol
Плохо читал!
Значит надо было в маске, ластах и под водой (для большей усвояемости). Ещё можно с права налево читать, или по диагонали!

Общие принципы программирования учи.
O PHP
 

Vallar_ultra

Любитель выпить :)
Фанат

ИМХО в FAQ всё вполне доходчиво расписано, и не только насчёт IF{} ELSE{}. Надо потратить пару часов времени для усвоения материала из FAQ и после этого он вряд-ли будет говорить что-нить типа: "Как эту статью применить на практике."
 

Фанат

oncle terrible
Команда форума
нету в факе на танке ни слова про операторы пхп. давай ты не будешь со мной на эту тему спорить?
 

dirol

Новичок
$id = (isset($_GET["id"])) ? (int) $_GET["id"] : 0;
if ($id) {
$query = "SELECT name, description FROM table WHERE id=" . $id;
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
echo "<h1>" . $row["name"] . "</h1>";
echo "<p />" . nl2br($row["description"]);
}

Я правильно понял, что именно эта чать кода отвечает за открытие новой страницы?
 

dirol

Новичок
<?php
include "config.php";
$alfa = array ("а", "б", "в", "г", "д", "е",
"ж", "з", "и", "к", "л", "м",
"н", "о", "п", "р", "с", "т",
"у", "ф", "х", "ц", "ч", "ш",
"щ", "ъ", "ы", "ь", "э", "ю", "я");
$selected_char = "";
if (isset($_GET["char"])
&& in_array(urldecode($_GET["char"]), $alfa)) {
$selected_char = urldecode($_GET["char"]);
}
<?

if (!empty($selected_char)) {
$ath = mysql_query('select Name, Id from sonnik_miller WHERE Name LIKE "$selected_char%";');
if($ath)
{
echo "<table border=1";
echo "<tr><td><b><center>Наименование</center></b></td></tr>";
while($son = mysql_fetch_array($ath))
{
echo "<tr>
<td><a href=index.php?id=".$son['Id'].">".$son['Name']."</a></td>
</tr>";
}

echo "</table>";
}

} else {
echo "";
}
?><?

?><a href="index.php">Главная</a> |

<table><tr>
<?
$colls = 10; $count = count($alfa); $i=0;

foreach ($alfa as $char) {
if($i%$colls==0) echo '</tr><tr>';
?>
<td><a href="index.php?char=<?=urlencode($char)?>"><?=$char?></a></td>
<?
$i++;
}
?>
//Код выводит новую страницу
<?
$id = (isset($_GET["id"])) ? (int) $_GET["id"] : 0;
if ($id) {
$query = "SELECT name, description, Id FROM 'sonnik_miller' WHERE id=" . $id;
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
echo "<h1>" . $row["name"] . "</h1>";
echo "<p />" . nl2br($row["description"]);
}
?>
Последний код почему-то не работает.
В чем там может быть ошибка?
Разъясните, пожалуйста или подтолкните...
 

Vallar_ultra

Любитель выпить :)
Ошибка тут, смотри внимательно:
$ath = mysql_query('select Name, Id from sonnik_miller WHERE Name LIKE "$selected_char%";');
 

dirol

Новичок
Vallar_ultra, а чем тут может быть ошибка, если эта часть скрипта выполняется.
Как я ее понимаю: делаем запрос из БД. Скрипт возвращает наименование товаров, названия которых начинаются с выбранной буквы, т.е. $selected_char.
Далее, каждому наименованию присваивается уникальная ссылка: <a href=index.php?id=".$son['Id'].">".$son['Name']."</a>, а вот по этой ссылке как раз и не переходит.
Вот часть кода, которая отвечает за создание новой страницы с наименованием и описанием:
<?
$id = (isset($_GET["id"])) ? (int) $_GET["id"] : 0;
if ($id) {
$query = "SELECT name, description, Id FROM 'sonnik_miller' WHERE id=" . $id;
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
echo "<h1>" . $row["name"] . "</h1>";
echo "<p />" . nl2br($row["description"]);
}
?>
 

dirol

Новичок
Vallar_ultra, спасибо.
Как я и говорил, ошибочка была в последнем коде.
Отладка помогла разобраться!
 

Vallar_ultra

Любитель выпить :)
У тебя было:
$ath = mysql_query('select Name, Id from sonnik_miller WHERE Name LIKE "$selected_char%";');

а надо

$ath = mysql_query('select Name, Id from sonnik_miller WHERE Name LIKE "'.$selected_char.'%";');
 

dirol

Новичок
Vallar_ultra, эту строчку я не менял.
я поменял второй запрос к базе в последнем коде: $query = "SELECT name, description, Id FROM 'sonnik_miller' WHERE id=" . $id;
 
Сверху