Ошибка в преобразовании типов, не пойму где.

storng

Новичок
Ошибка в преобразовании типов, не пойму где.

Здравствуйте, уважаемые.

Я в цикле получаю из MySql базы некий ID (тип integer)
И мне на основании его нужно сформировать ссылку с этим ID в параметре
Но там требует тип string или подобный (строковой)
Я пытаюсь сделать преобразование – но происходит сбой.

Вот ссылка, которая нужна:
<a href="category.php?id_cat=1"> D </a>

Значение параметра id_cat я беру из базы, там инкремент 1,2,3,4,5 и т.д.

Код ссылки такой:

PHP:
$id_categ=settype($row['id_category'],"string");
echo "<a href=\"category.php?id_cat=$id_categ\">D</a>";
Но, $id_categ всегда в цикле почему-то равна 1.
При этом, значение $row['id_category'] – разумеется 1,2,3,4,5,6 и пр.

Не понимаю, почему при преобразовании типов, Integer преобразуя в String число 5 к строке “1”

Как исправить данную ситуацию ? Весь мозг сломал :)
 

storng

Новичок
Re: Ошибка в преобразовании типов, не пойму где.

Вот я и начал, но ничего не пойму, почему так...

Когда я делаю такой код:

PHP:
while($row=mysql_fetch_array($result))
	{
$id_categ=settype($row['id_category'],"string");
echo $row['id_category']," <font color=red>",$id_categ,"</font>";
                }
У меня получается вот что:

1 1
2 1
3 1
4 1
5 1
6 1
7 1

Как же преобразовать integer значение 7 к string значение "7" ?

-~{}~ 28.08.07 16:09:

+ Когда убираю преобразование типов - он не даёт ссылку создать -пишет ,что использован неверный тип (и ведь верно - там же integer)
 

antson

Новичок
Партнер клуба
storng
читай внимательно в мане декларацию функции settype

возвращает результат boolen .
1= истина , т.е. да я смогла преобразовать к стрингу.

Я очень сомневаюсь что
Но там требует тип string или подобный (строковой)

PHP прекрасно сам делает неявные преобразования типов.
 

Андрейка

Senior pomidor developer
Когда убираю преобразование типов - он не даёт ссылку создать -пишет ,что использован неверный тип (и ведь верно - там же integer)
ну пхп 100% про ссылку не пишет.. текст ошибки приведи
 

storng

Новичок
chulim
разобрался в общем,
нужно было так:
PHP:
		$id_categ=$row['id_category'];
		settype($id_categ,"string");
Всем спасибо за участие :)
 

tf

крылья рулят
Андрейка, нет тут все понятно, чел не знает что делает и городит всякую чуш
storng, приведи твой вывод
PHP:
while($row=mysql_fetch_array($result))  var_dump($row);
 

storng

Новичок
да не, я ссылку формировал так:
PHP:
echo "<td bgcolor=#FFFFFF  width=\"10\"> <a href=\"category.php?mode=delete&id_cat=$id_categ\"]\">Delete</a></td>";
при этом $id_categ у меня изначально был integer
и почему то автоматически не преобразоввывалось.
 

tf

крылья рулят
storng, у тебя $row['id_category'] строка изначально была, дурень
 

Андрейка

Senior pomidor developer
и судя по cat=$id_categ\"]\
этот несомненно умный андроид делал так
"<a href="....?cat=$row[\"id_category\"]\">...</a>"
 

dimagolov

Новичок
народ, не парьтесь. у него ЗАРАБОТАЛО, остальное не е%ет его, поверьте....
 

storng

Новичок
tf
Объясните пожалуйста, как там изначально могла быть строка, если я беру данные из mysql, и у ячейки стоит тип integer ?

Андрейка, да, первый вариант пробывал так , просто с черновика пример скопировал :)

dimagolov
Заблуждаетесь, хотелось бы разобраться.
Просто я php изучаю неделю, и многое мне не понятно. но уверен. что более глубокое изучение даст свои плоды.
 

dimagolov

Новичок
storng, как я могу заблуждаться, если тебя 2 раза спросили что выводит var_dump, но ты не удосужился этого сделать? Что это, hearing without listening?
 

tf

крылья рулят
Просто я php изучаю неделю, и многое мне не понятно. но уверен. что более глубокое изучение даст свои плоды.
ну раз так то читай и делай что тебе говорят, а ты var_dump не привер до сих пор, как то не сходится что ты хочеш учится!!!
 

storng

Новичок
tf
Да я просто новостную ленту пишу, голова к вечеру уже совсем не соображает от обилия информации, сейчас переварю сначала ,как вообще работает то что есть :)
 

dimagolov

Новичок
storng, ты, блин, можешь не думать, а просто делать то, что тебе умные люди говорят????? не зря же говорят. а то обидемся, запишем в бесперспективные и будешь долго тут спрашивать, да отвечать не захочет никто.
 
Сверху