[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: немогу вывести с таблицы значение
IHD
Вобщем есть 2 запроса к таблице подряд



$v= mysql_query("SELECT `content_vote`
FROM `Content`
WHERE `content_id` = 21 LIMIT 1"
);
$rs= mysql_query("SELECT `content_rating_summ`
FROM `Content`
WHERE `content_id` = 21 LIMIT 1"
);


а как их вывести то



Спустя 11 минут, 43 секунды (15.08.2012 - 15:43) killer8080 написал(а):
IHD
а зачем тут два запроса?

Спустя 5 минут, 2 секунды (15.08.2012 - 15:48) IHD написал(а):
да кстате вопрос хороший:D так как вывести в число biggrin.gif

Спустя 8 минут, 6 секунд (15.08.2012 - 15:56) kamanch написал(а):
ну как-то так
$row_v = mysql_fetch_assoc($v);
echo $row_v ['content_vote'];

$row_rs = mysql_fetch_assoc($rs);
echo $row_rs['content_rating_summ'];


Но действиетльно, зачем?
$result =  mysql_query("SELECT `content_vote`, `content_rating_summ`  
FROM `Content`
WHERE `content_id` = 21 LIMIT 1"
);

Спустя 2 минуты, 26 секунд (15.08.2012 - 15:59) killer8080 написал(а):
да как обычно
$result = mysql_query("SELECT `content_vote`,  `content_rating_summ`
FROM `Content`
WHERE `content_id` = 21 LIMIT 1"
);

if(mysql_num_rows($result) > 0){
$row = mysql_fetch_assoc($result);
echo $row['content_vote'] . '-' . $row['content_rating_summ'] . '<br />';
}

Спустя 7 часов, 9 минут, 46 секунд (15.08.2012 - 23:09) IHD написал(а):
kamanch да я голосовалку делал сначало хотел в одтельную таблицу делать поэтому сначало делал 2 запроса но потом подумал зачем .. запихаю ка все в одну
вот че вышло

if (isset($_POST[raiting])){
$r = mysql_query("SELECT `content_vote`, `content_rating_summ`
FROM `Content`
WHERE `content_id` =
$_GET[content_id] LIMIT 1");
$r=mysql_fetch_assoc($r);
$r[content_vote]++;
$r[content_rating_summ]=$r[content_rating_summ]+$_POST[raiting];
$rate = round($r[content_rating_summ]/$r[content_vote],2);
mysql_query("UPDATE `ututh`.`Content`
SET `content_rating_summ` =
$r[content_rating_summ] ,
`content_rating` = '
$rate',
`content_vote` =
$r[content_vote]
WHERE `Content`.`$_GET[content_id]" );

я недавно занимаюсь php если есть где ляпы пишите буду рад разобраться

Спустя 8 часов, 43 минуты, 49 секунд (16.08.2012 - 07:53) kamanch написал(а):
IHD
ключи всех массивов, включая $_POST и $_GET, в кавычки заключаем.
...WHERE `content_id` =$_GET[content_id]...
// отличная SQL-иньекция.
// пишем так:

$content_id = intval($_GET['content_id']);
if($content_id > 0){
// далее запросы к базе
} else {
//недохакеры лажу подсунули. Базу даже трогать не будем, сразу пишем 404.html
}



$r=mysql_fetch_assoc($r);

Именно в твоем случае работать будет, т.к. в ответе базы только один ряд. Но, если бы было больше, ты бы уничтожил тем самым ссылку на результат выборки из базы.

$r[content_vote]++;

А если базу таки взломали, и в том поле уже не числовое значение?
Нужно всегда типы приводить.

$r[content_rating_summ]=$r[content_rating_summ]+$_POST[raiting];

Опять же, приводим типы, особенно $_POST[raiting]

Остальное уже должно быть понятно.

В общем, тебе сюда: Задача на корректную обработку данных
Пока не сделаешь, не пиши свою голосовалку. Вообще ничего не пиши :)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.