Спустя 2 минуты, 26 секунд (8.02.2012 - 22:24) sergeiss написал(а):
BesTime - если это ТЗ, то тогда указывай цену на работу И тему я перенесу в специальный раздел.
А если это вопрос про ПХП, который ты хочешь, но не можешь решить, то показывай свои попытки решения.
А если это вопрос про ПХП, который ты хочешь, но не можешь решить, то показывай свои попытки решения.
Спустя 3 минуты, 56 секунд (8.02.2012 - 22:27) BesTime написал(а):
ок, пытаюсь сделать так
запрашиваю даные из готовой строки
и создаю новую строку
косяк в том что не создается строка, есть предположения что из за того что ячейки содержат html код
запрашиваю даные из готовой строки
$query = "select * from `blogs` WHERE `id` = '$blogid'";
$result = mysql_query($query, $link);
while($row=mysql_fetch_array($result))
{
$reklama=$row['reklama'];
$css=$row['css'];
$domain=$row['domain'];
$loginform=$row['loginform'];
$addmatform=$row['addmatform'];
$addcomform=$row['addcomform'];
$coments=$row['coments'];
$materiallist_tbl=$row['materiallist_tbl'];
$index_tbl=$row['index_tbl'];
$titlename=$row['titlename'];
$blogaboutauthor=$row['aboutauthor'];
$blogownerid=$row['ownerid'];
$material=$row['material'];
}
и создаю новую строку
$query = "insert into blogs values(0,'$domain','$ownerid',0,'$group','$blogaboutauthor','$reklama','Мой блог','$index_tbl','$materiallist_tbl','$material','$coments','$addmatform','$addcomform','$loginform ','$css')";
$result = mysql_query($query, $link);
косяк в том что не создается строка, есть предположения что из за того что ячейки содержат html код
Спустя 3 минуты, 8 секунд (8.02.2012 - 22:31) BesTime написал(а):
а не вру, строка создается но ячейки пустые
Спустя 1 минута, 30 секунд (8.02.2012 - 22:32) Winston написал(а):
while здесь и нафиг не нужен.
Спустя 3 минуты, 29 секунд (8.02.2012 - 22:36) BesTime написал(а):
Winston а я чето всегда ваил делаю=))) а как без него=)
Спустя 3 минуты, 23 секунды (8.02.2012 - 22:39) sergeiss написал(а):
BesTime - а ты проверил, что у тебя данные считались первым запросом? Выведи готовый запрос
и оцени, что же ты на самом деле заносишь в БД. Это первое, что надо делать в подобных ситуациях.
А без while можно очень легко обойтись :) Если ты уверен, что у тебя только одна строка в выборке, то без цикла. В твоем же случае будут считаны все строки из первого запроса (если их несколько), а в итоге в переменные будут записаны данные из последней строчки выборки.
echo $query.'<br>';
и оцени, что же ты на самом деле заносишь в БД. Это первое, что надо делать в подобных ситуациях.
А без while можно очень легко обойтись :) Если ты уверен, что у тебя только одна строка в выборке, то без цикла. В твоем же случае будут считаны все строки из первого запроса (если их несколько), а в итоге в переменные будут записаны данные из последней строчки выборки.
Спустя 7 минут, 40 секунд (8.02.2012 - 22:47) Winston написал(а):
Если твой первый запрос на выборку достает только 1 строку, то запись
Цитата (BesTime @ 8.02.2012 - 21:27) |
while($row=mysql_fetch_array($result)) { $reklama=$row['reklama']; $css=$row['css']; $domain=$row['domain']; $loginform=$row['loginform']; $addmatform=$row['addmatform']; $addcomform=$row['addcomform']; $coments=$row['coments']; $materiallist_tbl=$row['materiallist_tbl']; $index_tbl=$row['index_tbl']; $titlename=$row['titlename']; $blogaboutauthor=$row['aboutauthor']; $blogownerid=$row['ownerid']; $material=$row['material']; } |
Можно сократить до
$row=mysql_fetch_assoc($result);
extract($row, EXTR_SKIP)
И после ты уже можешь просто работать с переменными, вот так
echo $reklama;
echo $css;
echo $domain;
// ...
UPD: немного подправил.
Спустя 4 минуты, 23 секунды (8.02.2012 - 22:51) BesTime написал(а):
Написал так
выхлоп
$query5 = "select * from `blogs` WHERE `id` = '0'";
$result5 = mysql_query($query5, $link);
while($row=mysql_fetch_array($result5))
{
$reklama=$row['reklama'];
$css=$row['css'];
$loginform=$row['loginform'];
$addmatform=$row['addmatform'];
$addcomform=$row['addcomform'];
$coments=$row['coments'];
$materiallist_tbl=$row['materiallist_tbl'];
$index_tbl=$row['index_tbl'];
$blogaboutauthor=$row['aboutauthor'];
$material=$row['material'];
}
echo $query5.'<br>';
выхлоп
select * from `blogs` WHERE `id` = '0'
Спустя 1 минута, 23 секунды (8.02.2012 - 22:52) Winston написал(а):
Цитата (BesTime @ 8.02.2012 - 21:51) |
echo $query5.'<br>'; |
Ну дык ты обычную строку вывел на экран
Спустя 1 минута, 43 секунды (8.02.2012 - 22:54) BesTime написал(а):
Winston
сделал как ты написал
ошибка
Спустя 1 минута, 8 секунд BesTime написал(а):
блин, туплю, вообщем когда создаю строку почемуто незаписываются туда переменые которые беру из строки которую копирую
сделал как ты написал
$query = "select * from `blogs` WHERE `id` = '0'";
$result = mysql_query($query, $link);
$row=mysql_fetch_assoc($result);
extract($row, EXTR_SKIP);
echo $query5.'<br>';
ошибка
Warning: extract() [function.extract]: First argument should be an array in /home/users1/b/bestime/domains/work-link.ru/index.php on line 39
Спустя 1 минута, 8 секунд BesTime написал(а):
блин, туплю, вообщем когда создаю строку почемуто незаписываются туда переменые которые беру из строки которую копирую
Спустя 3 минуты, 4 секунды (8.02.2012 - 22:57) Winston написал(а):
Цитата (BesTime @ 8.02.2012 - 21:55) |
когда создаю строку почемуто незаписываются туда переменые которые беру из строки которую копирую |
Цитата (BesTime @ 8.02.2012 - 21:54) |
WHERE `id` = '0'" |
У тебя есть запись с id - 0?
Спустя 52 секунды Winston написал(а):
Цитата (BesTime @ 8.02.2012 - 21:54) |
Warning: extract() [function.extract]: First argument should be an array in /home/users1/b/bestime/domains/work-link.ru/index.php on line 39 |
Значит у тебя ничего не выбирается из базы, потому $row пустая, из-за этого ошибка, до extract напиши print_r($row);
Спустя 5 минут, 33 секунды (8.02.2012 - 23:03) Rand написал(а):
Вот так ;) (помогаем всем миром) :
$query5 = "select * from `blogs` WHERE `id` = '0'";
$result5 = mysql_query($query5, $link) or die(mysql_error());
$row = mysql_fetch_array($result5);
echo '<pre>';
print_r($row);
echo '</pre>';
Спустя 1 минута, 43 секунды (8.02.2012 - 23:04) BesTime написал(а):
короче последние сведения=))) проверил что передается при создании строки, передается html код но строка не создается по неизвестной причине=)
Спустя 2 минуты, 44 секунды (8.02.2012 - 23:07) BesTime написал(а):
Rand
сие чудо выдало, остальное разлетелось по странице =)
Array
(
[0] => 1
[id] => 1
[1] => lol
[domain] => lol
[2] => 24
[ownerid] => 24
[3] => -17
[click] => -17
[4] => 0
[group] => 0
[5] =>
Добро пожаловать в мой блог12345
[aboutauthor] =>
Добро пожаловать в мой блог12345
[6] => ЛОЛ
[reklama] => ЛОЛ
[7] =>
[titlename] =>
[8] =>
сие чудо выдало, остальное разлетелось по странице =)
Спустя 40 секунд (8.02.2012 - 23:08) Winston написал(а):
Вместо mysql_fetch_array используй mysql_fetch_assoc
Спустя 5 минут, 39 секунд (8.02.2012 - 23:13) Rand написал(а):
Блин, я array написал вместо assoc =) Впрочем это не важно, выбирается нормально. Значит дело в INSERT. Там где-то накосячил, после insert into blogs, укажи имена полей в скобках, в том порядке в котором ты указал в VALUES. Если поле id уникально и AUTO_INCREMENT, то его указывать не надо.
Спустя 29 секунд (8.02.2012 - 23:14) sergeiss написал(а):
Цитата (Rand @ 9.02.2012 - 00:03) |
echo '<pre>'; print_r($row); echo '</pre>'; |
Вот это можно записать короче:
echo '<pre>'.print_r( $row, true).'</pre>';
Спустя 28 секунд (8.02.2012 - 23:14) BesTime написал(а):
написал так
и нехера не пашет=) ячейка не создается
$query = "select * from `blogs` WHERE `id` = '1'";
$result = mysql_query($query, $link);
$row=mysql_fetch_assoc($result);
extract($row, EXTR_SKIP);
$query = "insert into blogs values(0,'$domain','$ownerid',0,'$group','$blogaboutauthor','$reklama','Мой блог','$index_tbl','$materiallist_tbl','$material','$coments','$addmatform','$addcomform','$loginform ','$css')";
$result = mysql_query($query, $link);
echo $query.'<br>';
и нехера не пашет=) ячейка не создается
Спустя 1 минута, 39 секунд (8.02.2012 - 23:16) BesTime написал(а):
мужики я запутался, у меня похоже от каждого по чуть чуть вот и не работает, можете проверить у себя на сервере, в ячейку запихните хтмл год
запросить его и запихайте в ячейку другой строки
<html><body>ЛОЛ</body></html>
запросить его и запихайте в ячейку другой строки
Спустя 1 минута, 55 секунд (8.02.2012 - 23:18) Winston написал(а):
Ну и как вариант все можно сделать в SQL'e
INSERT INTO table(field1, field2, field3)
SELECT field1, field2, field3 FROM table WHERE field = 1
Спустя 6 минут, 41 секунда (8.02.2012 - 23:25) BesTime написал(а):
$query="SELECT $domain,$ownerid,0,$group,$blogaboutauthor,$reklama,Мой блог,$index_tbl,$materiallist_tbl,$material,$coments,$addmatform,$addcomform,$loginform,$css FROM blogs WHERE id = 1";
$result = mysql_query($query, $link);
$query = "insert into blogs values(0,'$domain','$ownerid',0,'$group','$blogaboutauthor','$reklama','Мой блог','$index_tbl','$materiallist_tbl','$material','$coments','$addmatform','$addcomform','$loginform ','$css')";
$result = mysql_query($query, $link);
Так чтоле
Спустя 1 минута, 59 секунд (8.02.2012 - 23:27) Winston написал(а):
$query="SELECT $domain,$ownerid,0,$group,$blogaboutauthor,$reklama,Мой блог,$index_tbl,$materiallist_tbl,$material,$coments,$addmatform,$addcomform,$loginform,$css FROM blogs WHERE id = 1";
$result = mysql_query($query, $link);
$row=mysql_fetch_assoc($result);
extract($row, EXTR_SKIP)
$query = "insert into blogs values(0,'$domain','$ownerid',0,'$group','$blogaboutauthor','$reklama','Мой блог','$index_tbl','$materiallist_tbl','$material','$coments','$addmatform','$addcomform','$loginform ','$css')";
$result = mysql_query($query, $link);
Цитата |
Мой блог |
Это поле такое в таблице? :blink:
Спустя 1 минута, 23 секунды (8.02.2012 - 23:28) BesTime написал(а):
Winston это в ячейке текст
Спустя 56 секунд (8.02.2012 - 23:29) Winston написал(а):
Цитата (Winston @ 8.02.2012 - 22:27) |
$blogaboutauthor,$reklama,Мой блог,$index_tbl |
В селекте.
Спустя 1 минута, 19 секунд (8.02.2012 - 23:30) BesTime написал(а):
а это без точки с запятой должно быть? а то ошибочка
extract($row, EXTR_SKIP)
Parse error: syntax error, unexpected T_VARIABLE in /home/users1/b/bestime/domains/work-link.ru/index.php on line 43
Спустя 1 минута, 14 секунд (8.02.2012 - 23:32) Rand написал(а):
Winston Я думаю одним sql-запросом был бы самый правильный вариант, только по задаче надо ещё изменить некоторые поля, поэтому примерно так:
INSERT INTO table(field1, field2, field3)
SELECT field1, field2, @field3 := 'Новое значение' AS field3 FROM table WHERE field = 1
Спустя 19 секунд (8.02.2012 - 23:32) BesTime написал(а):
Цитата |
В селекте. |
Ой туплю, там $titlename
Спустя 2 минуты, 3 секунды (8.02.2012 - 23:34) BesTime написал(а):
Rand
чеж у меня пустые ячейки лепит
чеж у меня пустые ячейки лепит
Спустя 2 минуты, 43 секунды (8.02.2012 - 23:37) Rand написал(а):
Цитата (BesTime @ 9.02.2012 - 02:30) |
а это без точки с запятой должно быть? а то ошибочка |
А такие вопросы вообще должно быть стыдно задавать, это опечатка, точка с запятой обязательна. Я так чувствую, что пока тебе полностью готовый код не напишут, ты сам подумать не захочешь.
Спустя 51 секунда (8.02.2012 - 23:37) Winston написал(а):
Цитата (BesTime @ 8.02.2012 - 22:30) |
а это без точки с запятой должно быть? а то ошибочка |
Везде нужно ; то я пропустил случайно
Спустя 52 секунды (8.02.2012 - 23:38) BesTime написал(а):
я пробывал с точкой запятой, результат тотже, пустые ячейки
Спустя 5 минут, 25 секунд (8.02.2012 - 23:44) BesTime написал(а):
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/users1/b/bestime/domains/work-link.ru/test.php on line 5
Warning: extract() [function.extract]: First argument should be an array in /home/users1/b/bestime/domains/work-link.ru/test.php on line 6
Спустя 3 минуты, 9 секунд (8.02.2012 - 23:47) BesTime написал(а):
нужно както преобразовать хтмл код полученый из ячеек в текст
Спустя 1 минута, 25 секунд (8.02.2012 - 23:48) Winston написал(а):
Цитата (BesTime @ 8.02.2012 - 22:44) |
Warning: mysql_fetch_assoc() |
В запросе на выборку ошибка.
Напиши or die(mysql_error()); после mysql_query() и увидишь текст ошибки.
Спустя 4 минуты, 6 секунд (8.02.2012 - 23:52) BesTime написал(а):
я в скюл слаб так что не злитесь
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0,,,,,,,,,,,, FROM blogs WHERE id = 1' at line 1
Спустя 3 минуты, 48 секунд (8.02.2012 - 23:56) Winston написал(а):
Ты уже походу хрень написал, попробуй так
$query="SELECT * FROM blogs WHERE id = 1";
$result = mysql_query($query, $link) or die(mysql_error());
$row=mysql_fetch_assoc($result);
extract($row, EXTR_SKIP);
$query = "insert into blogs values(0,'$domain','$ownerid',0,'$group','$blogaboutauthor','$reklama','Мой блог','$index_tbl','$materiallist_tbl','$material','$coments','$addmatform','$addcomform','$loginform ','$css')";
$result = mysql_query($query, $link) or die(mysql_error());
Спустя 1 минута, 41 секунда (8.02.2012 - 23:58) BesTime написал(а):
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '') no-repeat;height:25px;padding:4px 0 0 10px;"> {Name}{date}
Чето походу ошибки в хтмл разметки чтоле
Спустя 1 минута, 55 секунд (9.02.2012 - 00:00) Winston написал(а):
Вот уже почти работает
Теперь переписывай запрос на вставку так
Теперь переписывай запрос на вставку так
insert into blogs values(0,'" . mysql_real_escape_string($domain) . "','" . mysql_real_escape_string($ownerid) . "'....
Спустя 5 минут, 10 секунд (9.02.2012 - 00:05) BesTime написал(а):
еееее добили