Jump to content
  • 0

Помогите плиз, очень надо.


vvsh
 Share

Question

<?
$row2['tags'] = "Ubuntu, linux";
$all_tags = $row2['tags'];
$tag = explode(", ", $all_tags);
$count = count($tag);
$i = 1;
while($count<$i) {
$tag_name = $tag[$i];
$result_tags[$i] = mysql_query("SELECT * FROM tags WHERE tag_name = '$tag_name[$i]'");
$row_tags = mysql_fetch_array($result_tags);
print "<a href='/tags/$row_tags[tag_url]/'>$tag_name[$i]</a>";
print ", ";
$i++;
}
?>

Вот есть такой скрипт? он должен расделять строку на массив, и записывать.

Но он выводит пустоту, в чем дело?

Помогите плиз.

Edited by vvsh
Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0
$i = '0';

О, боже, что за код. Ты про типы данных что нибудь знаешь? Почитай в мануале, какой тип данных определяется в кавычках.

print "<a href='/tags/$row_tags[tag_url]/'>$tag_name[$i]</a>";

А про синтаксис ассоциативных массивов что-нибудь читал? Нет? Попробуй почитай, особенно про то, зачем брать индекс в кавычки.

Вот есть такой скрипт? он должен расделять строку на массив

Скрипт вполне нормально разбивает строку на массив. Можешь после $tag = explode(", ", $all_tags); поставить var_dump($tag); и убедиться в этом самостоятельно. А вся проблема скорее в этой строке:

while($row_tags = mysql_fetch_array($result_tags))

Посмотри внимательнее, куда сохраняешь результат запроса к базе.

Помогите плиз, очень надо.

За одно название темы ее стоит перенести в треш или раздел для новичков

Link to comment
Share on other sites

  • 0
$i = '0';

О, боже, что за код. Ты про типы данных что нибудь знаешь? Почитай в мануале, какой тип данных определяется в кавычках.

Я чуть ошибся, сори

print "<a href='/tags/$row_tags[tag_url]/'>$tag_name[$i]</a>";

А про синтаксис ассоциативных массивов что-нибудь читал? Нет? Попробуй почитай, особенно про то, зачем брать индекс в кавычки.

Если честно, то не читал, почитаю.

while($row_tags = mysql_fetch_array($result_tags))

я знаю что тут проблема, но не знаю как ее решить.

Я чуть изменил код, но не помогает.

Написал то что ты там сказал и выдало:

array(2) { [0]=> string(6) "ubuntu" [1]=> string(5) "linux" }

Link to comment
Share on other sites

  • 0
я знаю что тут проблема, но не знаю как ее решить.

Хорошо, рассмотрим вопрос как для маленьких, так сказать самых яселек.

Когда ты пишешь

$result_tags[$i] = mysql_query("SELECT * FROM tags WHERE tag_name = '$tag_name[$i]'");

Сохранение результата происходит в элемент массива с индексом $i.

Когда ты пытаешься извлечь

$row_tags = mysql_fetch_array($result_tags);

То в mysql_fetch_array передается массив, а он ожидает результата работы ф-ции mysql_query. Поэтому происходит облом. В mysql_fetch_array нужно передавать результат работы, а массив здесь совсем не подходит.

И еще. Включи отображение сообщений об ошибках, читай ошибки и исправляй их.

Link to comment
Share on other sites

  • 0

Нет ошибок, все ок, незнаю в чем дело

<?
$row2['tags'] = "Ubuntu, linux";
$all_tags = $row2['tags'];
$tag = explode(", ", $all_tags);
$count = count($tag);
$i = 1;
while($count!=$i) {
$tag_name = $tag[$i];
$result_tags = mysql_query("SELECT * FROM tags WHERE tag_name = '$tag[$i]'");
$row_tags = mysql_fetch_array($result_tags);
print mysql_error();
print "<a href='/tags/$row_tags[tag_url]/'>$tag_name[$i]</a>";
print ", ";
$i++;
}
?>

Теперь так, но всеравно ничего не работает.

Link to comment
Share on other sites

  • 0
Кто-нить поможет?

А сам себе помочь не можешь?

Проверяй нормально свой кривой хост, свою логику, и синтаксис языка пхп. У меня такой код работает вполне нормально:

$connect = mysql_connect("localhost","root","");
mysql_select_db("test");

$row2['tags'] = "Ubuntu, linux";
$all_tags = $row2['tags'];
$tag = explode(", ", $all_tags);
$count = count($tag);
$i = 0;
while($i<$count) {
$tag_name = $tag[$i];
$result_tags = mysql_query("SELECT * FROM tags WHERE tag_name = '$tag_name'");
print mysql_error();
$row_tags = mysql_fetch_array($result_tags);

echo "<a href='/tags/{$row_tags["tag_url"]}/'>$tag_name</a>";
print ", ";
$i++;
}

Link to comment
Share on other sites

  • 0

xPoint, Он все так называет. В разделе для начинающих уже скопилось достаточно топиков: "Помогите", "Помогите, плиз", "Нужна помощь" автором которых есть vvsh.

Так что удивляться тут нечему. Переживем или нас переживут. :)

Edited by Ялекс
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy