Помогите с выводом информации из mysql
Есть информация которая хранится в DB Mysql
на первой странице я вывожу список (допустим сайтов)
Рамблер
Яндекс
Майл
Сделаю их ссылками на страницу информации info.php
как показать информацию о компании в файле info.php
чтобы строка запроса была такого вида Info.php?id=1
без описания в файле info.php всяких там switch'ей
Если это возможно?
Спасибо
$id = $HTTP_GET_VARS['id'];
и форм запрос
Код:
$id=(int)$_GET["id"];
$sql="SELECT * FROM companies WHERE id='$id'";
$result=mysql_query($sql);
$company=mysql_fetch_array($result);
# в итоге поле $company["info"] - эта содержание информации о компании взятой из БД
$sql="SELECT * FROM companies WHERE id='$id'";
$result=mysql_query($sql);
$company=mysql_fetch_array($result);
# в итоге поле $company["info"] - эта содержание информации о компании взятой из БД
Вроде так, если я правильно понял твой вопрос...
Код:
$id=(int)$_GET["id"];
$sql="SELECT * FROM companies WHERE id='$id'";
$result=mysql_query($sql);
$company=mysql_fetch_array($result);
# в итоге поле $company["info"] - эта содержание информации о компании взятой из БД
$sql="SELECT * FROM companies WHERE id='$id'";
$result=mysql_query($sql);
$company=mysql_fetch_array($result);
# в итоге поле $company["info"] - эта содержание информации о компании взятой из БД
Вроде так, если я правильно понял твой вопрос...[/QUOTE]
include("config.php");
$page=$_GET['id_answer'];
$ath = mysql_query("select name from answer");
if($ath){
echo mysql_result($ath,$page,'name');
}
Всё перепробовал и что ты подсказал, подходит только этот вариант но он выдаёт всё время первую запись в mysql
$page=$_GET['id_answer'];
$ath = mysql_query("select name from answer");
if($ath){
echo mysql_result($ath,$page,'name');
}
Всё перепробовал и что ты подсказал, подходит только этот вариант но он выдаёт всё время первую запись в mysql[/QUOTE]
Мда... слов нет одни междометия на уме...
Код:
include("config.php");
$id=(int)$_GET['id_answer'];
$result = mysql_query("SELECT name FROM answer WHERE id=$id");
for($i=1; $i<=mysql_num_rows($result); $i++)
{
$row = mysql_fetch_object($result);
echo $row->name.'<br>';
}
$id=(int)$_GET['id_answer'];
$result = mysql_query("SELECT name FROM answer WHERE id=$id");
for($i=1; $i<=mysql_num_rows($result); $i++)
{
$row = mysql_fetch_object($result);
echo $row->name.'<br>';
}
for($i=1; $i<=mysql_num_rows($result); $i++) 14 линия
По поводу ошибки - вероятно неправильно задан SQL-запрос... Исправь данные в нём, ну и $id заключи кавычки...
По поводу ошибки - вероятно неправильно задан SQL-запрос... Исправь данные в нём, ну и $id заключи кавычки...[/QUOTE]
include("config.php");
$id=(int)$_GET['id_answer'];
$result = mysql_query("SELECT name FROM answer WHERE id='$id'");
for($i=1; $i<=mysql_num_rows($result); $i++)
{
$row = mysql_fetch_object($result);
echo $row->name.'<br>';
}
Пусть для вас будет только этот код на пустой странице
name - поле информации в таблице answer
Что ещё нужно знать???
Таблица существует, информация есть.
for($i=1; $i<=mysql_num_rows($result); $i++) 14 линия[/QUOTE]
Это говорит о том что запрос не выполнился - копай в нем. Синтаксис правильный.
$id=(int)$_GET['id_answer'];
$result = mysql_query("SELECT name FROM answer WHERE id='$id'");
for($i=1; $i<=mysql_num_rows($result); $i++)
{
$row = mysql_fetch_object($result);
echo $row->name.'<br>';
}
Пусть для вас будет только этот код на пустой странице
name - поле информации в таблице answer
Что ещё нужно знать???
Таблица существует, информация есть.[/QUOTE]
Слушай!! Ты как вообще переписываешь то что тебе пишут??? ОТКУДА КАВЫЧКИ ВЗЯЛИСЬ В ЗАПРОСЕ????
Код:
SELECT name FROM answer WHERE id='$id'
Если поле id у тебя целое число (а счетчики именно такие числа), то не нужно его в кавычки.
2RussianSpy Нужно. В кавычки нужно брать всё. Просто взять за правило, любую переменную из вне - в кавычки.
В кавычки берутся только строковые переменные. Числа и булевы значения в кавычки НЕ БЕРУТСЯ.
Я с кавычками и без них попробовал
Ну тогда проблема в БД. Либо в подключении к ней. Копай там. Потому как код с запросом и его выводом на экран верный.
БД сама приводит к нужному типу. На это немного ресурсов тратятся, поэтому для средних проектов это не болезненно, зато напрягаться нужно меньше. Проверил на входе и заносишь всё в кавычках. Мне так проще.
Цитата:
include("config.php");
$id=(int)$_GET['id_answer'];
$result = mysql_query("SELECT name FROM answer WHERE id='$id'");
for($i=1; $i<=mysql_num_rows($result); $i++)
{
$row = mysql_fetch_object($result);
echo $row->name.'<br>';
}
Пусть для вас будет только этот код на пустой странице
name - поле информации в таблице answer
Что ещё нужно знать???
Таблица существует, информация есть.
$id=(int)$_GET['id_answer'];
$result = mysql_query("SELECT name FROM answer WHERE id='$id'");
for($i=1; $i<=mysql_num_rows($result); $i++)
{
$row = mysql_fetch_object($result);
echo $row->name.'<br>';
}
Пусть для вас будет только этот код на пустой странице
name - поле информации в таблице answer
Что ещё нужно знать???
Таблица существует, информация есть.
попробуй
заменить в 14-й строчке цикл
Код:
include("config.php");
$id=(int)$_GET['id_answer'];
$result = mysql_query("SELECT name FROM answer WHERE id='$id'");
while ($row = mysql_fetch_object($result))
{
echo $row->name.'<br>';
}
$id=(int)$_GET['id_answer'];
$result = mysql_query("SELECT name FROM answer WHERE id='$id'");
while ($row = mysql_fetch_object($result))
{
echo $row->name.'<br>';
}
заменить в 14-й строчке цикл
Код:
include("config.php");
$id=(int)$_GET['id_answer'];
$result = mysql_query("SELECT name FROM answer WHERE id='$id'");
while ($row = mysql_fetch_object($result))
{
echo $row->name.'<br>';
}
$id=(int)$_GET['id_answer'];
$result = mysql_query("SELECT name FROM answer WHERE id='$id'");
while ($row = mysql_fetch_object($result))
{
echo $row->name.'<br>';
}
Я В первую очередь так попробовал!
Я вот тут все ваши советы проверяю, а может быть такое что скрипт PHP4 работает а в PHP5 нет?
Наверное тупой вопрос задал?!-:))
Такого быть не может. У тебя не выполняется сам запрос - я тебе уже второй раз говорю. В моем примере у тебя ругается функция mysql_num_rows - эта ее ошибка означается что переданное ей значение пустое следовательно SQL-ЗАПРОС НЕ ВЫПОЛНИЛСЯ!!!. Проверь подключение к БД, проверь наличие таблиц которые используешь в запросе, проверь в конце концов есть ли у тебя в принципе доступ.
Подключение выполняется, следовательно всё в порядке в настройках,
таблица существует а также данные, параметр id_answer= указываю на существующий id в таблице!
таблица существует а также данные, параметр id_answer= указываю на существующий id в таблице![/QUOTE]
Тем не менее SQL-запрос не выполняется.
<?php
include("config.php");
$id=$_GET['id_answer'];
$ath = mysql_query("select name from answer");
if($ath)
{
echo mysql_result($ath,$id,'name');
}
else
{
echo "ERROR".mysql_error()."<br>";
exit();
}
?>
Так всё очень хорошо работает, но есть вопрос!
Это безопасный код
<?php
include("config.php");
$id=$_GET['id_answer'];
$ath = mysql_query("select name from answer");
if($ath)
{
echo mysql_result($ath,$id,'name');
}
else
{
echo "ERROR".mysql_error()."<br>";
exit();
}
?>
Так всё очень хорошо работает, но есть вопрос!
Это безопасный код[/QUOTE]
Да кстати этот код у меня не работал в PHP4
Это ужасный код. Я бы уволил такого программера. Свою проблему ты в итоге не решил, а нашел кривое решение через известное место. Я больше отписываться не буду в этой теме - автору советы не нужны ибо они для него бесполезны.
Спасибо
лучше наверное учиться на своих ошибках, но иногда пригодится знать где неправы другие