PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (7): « 1 2 3 4 [5] 6 7 »

> Найдено сообщений: 105
yogeswar Отправлено: 12 Апреля, 2013 - 08:00:01 • Тема: Присоединение строки к переменной • Форум: Вопросы новичков

Ответов: 7
Просмотров: 456
Здраствуйте!
У меня такая проблема.
Я знаю как можно присоедить одну строку к другой, но как присоединить строку к переменной я не знаю. Например, в зависимости от ситуации, мне надо создать несколько массивов mas1, mas2, …, masn, где число n как раз зависит от ситуации. Я делаю цикл
for($i=1; $i < n+1; $i++){
$kuzy"$i" = array();
}
Но этот цикл не пройдет, т. к. запись $kuzy"$i" — ошибка.
Какой синтаксис применить, чтобы ошибки не было?
yogeswar Отправлено: 29 Марта, 2013 - 17:52:50 • Тема: непонятная ошибка • Форум: Вопросы новичков

Ответов: 5
Просмотров: 157
Просьба к esterio - не обижаться. Выдало ошибку и я на этом потерял много времени. Я по другим вопросам специалист и если у меня прокол, то я это просто учитываю.
yogeswar Отправлено: 29 Марта, 2013 - 17:48:11 • Тема: непонятная ошибка • Форум: Вопросы новичков

Ответов: 5
Просмотров: 157
Спасибо, я попробую!
yogeswar Отправлено: 29 Марта, 2013 - 17:39:31 • Тема: непонятная ошибка • Форум: Вопросы новичков

Ответов: 5
Просмотров: 157
Подскажите, не могу понять в чем ошибка.
В базе данных в таблице catalog есть четыре колонки: predmet1, predmet2, predmet3 и predmet4. Далее, существует массив $wasy(это для примера). Мне нужно составить массив, который получается из выборки таких строк таблицы catalog, чтобы хотя бы одна ячейка из predmet1, predmet2, predmet3 и predmet4 равнялась бы хотя бы одному элементу массива $wasy.
Далее я пишу такую программу:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $wasy = array('Федя','Гриша ','Иван Иванович','Матвей');
  3. $w=implode(', ',$wasy);
  4. //////////////////////////////////////////////////////////////
  5. $par = array();
  6. $abr = "SELECT * FROM catalog WHERE 'predmet1' IN ($w) or 'predmet2'
  7. IN ($w) or 'predmet3' IN ($w) or 'predmet4' IN ($w)";
  8. $result10 = mysql_query($abr) or die(mysql_error());
  9. while($roww = mysql_fetch_array($result10,MYSQLI_NUM)){
  10.         $par[] = $roww;        
  11.     }    
  12. ?>

Возникает ошибка:
PHP:
скопировать код в буфер обмена
  1. 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 'Иванович, Матвей) or 'predmet2'
  2. IN (Федя, Гриша , Ива' at line 1

Если я в массиве вместо 'Иван Иванович' пишу просто 'Иван', то ошибки нет. Значит ошибка возникает с появлением пробела между 'Иван' и 'Иванович'.
Убедительная просьба esterio не лезть с советами, т. к. он подсказал мне вместо
$w=implode(', ',$wasy);
поставить такое выражение:
$w = array_map('sprintf', array_fill(0, count($wasy), '"%s"'), array_values($wasy));
У меня прежняя ошибка пропала, но возникла новая:
Unknown column 'Array' in 'where clause'
Я сначала не знал что значит эта ошибка, но подумал что с ней легко справлюсь, и написал esterio, что все в порядке.
Когда разобрался, то оказалось, что в команде CELECT не может восприниматься IN, т. к.
переменная $w не строка, а esterio подсунул мне массив.
Как сделать так, чтобы пробел был, но ошибка не возникала бы.
yogeswar Отправлено: 29 Марта, 2013 - 13:58:16 • Тема: непонятная ошибка • Форум: Вопросы новичков

Ответов: 4
Просмотров: 117
Спасибо заработало!
yogeswar Отправлено: 29 Марта, 2013 - 13:51:44 • Тема: непонятная ошибка • Форум: Вопросы новичков

Ответов: 4
Просмотров: 117
Я исправил так как вы написали, в ответ такая ошибка:
PHP:
скопировать код в буфер обмена
  1. Notice:  Array to string conversion in /var/www/save_vibor.php(название моего файла) on line 10 (как раз указывает на эту строку)
yogeswar Отправлено: 29 Марта, 2013 - 13:33:47 • Тема: непонятная ошибка • Форум: Вопросы новичков

Ответов: 4
Просмотров: 117
Подскажите, не могу понять в чем ошибка.
В базе данных в таблице catalog есть четыре колонки: predmet1, predmet2, predmet3 и predmet4. Далее, существует массив $wasy(это для примера). Мне нужно составить массив, который получается из выборки таких строк таблицы catalog, чтобы хотя бы одна ячейка из predmet1, predmet2, predmet3 и predmet4 равнялась бы хотя бы одному элементу массива $wasy.
Далее я пишу такую программу:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $wasy = array('Федя','Гриша ','Иван Иванович','Матвей');
  3. $w=implode(', ',$wasy);
  4. //////////////////////////////////////////////////////////////
  5. $par = array();
  6. $abr = "SELECT * FROM catalog WHERE 'predmet1' IN ($w) or 'predmet2'
  7. IN ($w) or 'predmet3' IN ($w) or 'predmet4' IN ($w)";
  8. $result10 = mysql_query($abr) or die(mysql_error());
  9. while($roww = mysql_fetch_array($result10,MYSQLI_NUM)){
  10.         $par[] = $roww;        
  11.     }
  12.        
  13. ?>

Возникает ошибка:
CODE (text):
скопировать код в буфер обмена
  1. 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 'Иванович, Матвей) or 'predmet2'
  2. IN (Федя, Гриша , Ива' at line 1

Если я в массиве вместо 'Иван Иванович' пишу просто 'Иван', то ошибки нет. Значит ошибка возникает с появлением пробела между 'Иван' и 'Иванович'.
Как сделать так, чтобы пробел был, но ошибка не возникала бы.
Заранее извиняюсь за наивность.
yogeswar Отправлено: 29 Марта, 2013 - 06:21:24 • Тема: Выборка данных из базы • Форум: Вопросы новичков

Ответов: 1
Просмотров: 105
Подскажите, как правильно написать выборку из базы данных.
В базе данных в таблице catalog есть четыре колонки: predmet1, predmet2, predmet3 и predmet4. Далее, существует массив $wot. Мне нужно составить массив, который получается из выборки таких строк таблицы catalog, чтобы хотя бы одна ячейка из predmet1, predmet2, predmet3 и predmet4 равнялась бы хотя бы одному элементу массива $wot.
Грубое написание выглядит так:
PHP:
скопировать код в буфер обмена
  1. $a2 = mysql_query("SELECT * FROM catalog WHERE in_array('predmet1', $wot) or
  2.                   in_array('predmet2', $wot) or in_array('predmet3', $wot) or
  3.                   in_array('predmet3', $wot)");

Ясно, что синтаксис написания не проходит, как написать без ошибок?
Заранее извиняюсь за наивность.
yogeswar Отправлено: 13 Марта, 2013 - 06:47:23 • Тема: file_put_contents. • Форум: Вопросы новичков

Ответов: 3
Просмотров: 195
Спасибо LIME
Буду пробовать и думать.
(Добавление)
Спасибо большое LIME
Твой совет с командой trim сразу помог. Спасибо!!!
Скажи, как ты так знаешь все ньюансы? Мне бы так!
Может быть у тебя есть файлик, где нормально описаны команды PHP?
Непонятно, как мне, без всяких курсов, спокойно дома всем овладеть?
Неплохо бы ты дал по этому поводу совет.
yogeswar Отправлено: 13 Марта, 2013 - 06:19:58 • Тема: file_put_contents. • Форум: Вопросы новичков

Ответов: 3
Просмотров: 195
Непонятное поведение команды file_put_contents.
1. Командой define я файлу repet.log присваиваю имя REPET_LOG:
define("REPET_LOG", "repet.log");
2. Переменной data1 присваиваю такую строку:
$data1 = «wasy1:wasy2:..........wasy35»;
3. С помощью команды file_put_contents я передаю данные от
переменной $data1 к переменной REPET_LOG:
file_put_contents(REPET_LOG, $data1, FILE_APPEND);
4. Далее в программе я часто использую (должен использовать)
переменную REPET_LOG. В частности, с помощью команды
file передаю данные из REPET_LOG файлу $orders:
$orders = file(REPET_LOG);

И вот теперь самое главное, я ожидаю что в переменной $orders - массив с одной ячейкой,
т. к. команда file_put_contents должна делать только одну строку, а на самом деле
команда file_put_contents сделала текстовой файл с двумя строками, а значит массив
$orders стал с двумя ячейками, чего быть (как я читал) не должно.
Если в $data1 будет более короткая строка, например $data1 = «wasy1:wasy2:..........wasy18»,
тогда команда file_put_contents делает однострочный текстовой файл. Т.е. работает правильно.
Теперь вопрос: как сделать, чтобы команда file_put_contents сделала однострочный
текстовой файл, или, если это непоправимо, как из массива с двумя ячейками
($data1[0] и $data1[1]) сделать массив с одной ячейкой: $data[0]. Т.е. В нем будут
все данные из $data1[0] и $data1[1].
Заранее извиняюсь, если где-то писал не профессионально или не логично.
Я начинающий...
yogeswar Отправлено: 08 Февраля, 2013 - 07:15:26 • Тема: непонятная ошибка • Форум: Вопросы новичков

Ответов: 3
Просмотров: 174
Спасибо sKaa!
Буду пробовать!
yogeswar Отправлено: 08 Февраля, 2013 - 06:59:10 • Тема: непонятная ошибка • Форум: Вопросы новичков

Ответов: 3
Просмотров: 174
Привожу кусок программы, где происходит непонятная (наверно только для меня) ошибка.
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form action="<?php print $_SERVER['PHP_SELF']; ?>"method='post'>
  3.                                     <h5>E-mail</h5>    
  4.                                     <input type="text" name="im" size="10">
  5.                                     <h5>Пароль</h5>    
  6.                                     <input type="text" name="pa" size="10">
  7.                                     <input name="Submit" type="submit" value="Отправить">
  8.                                     <button type="reset">Изменить</button>
  9.                                     <a href="wot2.php"><h5>Забыли пароль?</h5></a>                
  10.                                     <a href="wot2.php?wan=Регистрироваться!"><h5>Регистрироваться!</h5></a>
  11.                                     </form>
  12. <?php
  13.                         if($_SERVER['REQUEST_METHOD']=="POST"){
  14.                                     $imail=trim(strip_tags($_POST['im']));
  15.                                     $prol=trim(strip_tags($_POST['pa']));                                  
  16.                         }
  17. if($prol == 'wasy'){header("Location: wot.php");}
  18.  

При выполнении программы выскакивает ошибка
CODE (html):
скопировать код в буфер обмена
  1.  
  2. Warning: Cannot modify header information - headers already sent by (output started at /var/www/w.php:2) in /var/www/w.php on line 17
  3.  

Строка 2 - это <form action="<?php print $_SERVER['PHP_SELF']; ?>"method='post'>
Строка 17 - это if($prol == 'wasy'){header("Location: wot.php");}
Я по дилетантски подозреваю, что при отправке данных формы информация ушла и в переменную $prol ничего не записалось.
Как сделать так, чтобы при загрузке в форму в ячейку "Пароль" слова "wasy"(и форма отправилась), был переход на определенную страницу.
yogeswar Отправлено: 02 Января, 2013 - 05:55:23 • Тема: Не работает css • Форум: Вопросы новичков

Ответов: 5
Просмотров: 431
файл лежит в корне сайта.
При загрузке Ubuntu и установке Apache, PHP и MySQL сразу был определен корень сайта:
Файловая система/var/www
Вот в www - все файлы и папки.
(Добавление)
Прошу извинения IllusionMH!!!
Дурдом какой-то. До Нового года не работало, а сейчас заработало!
Извините.
С Новым годом вас!!!
yogeswar Отправлено: 02 Января, 2013 - 05:06:35 • Тема: Не работает css • Форум: Вопросы новичков

Ответов: 5
Просмотров: 431
У меня такая ситуация. Перешел с windows на ubuntu. В папке style у меня хранится файл styles.css.
В html команда
CODE (html):
скопировать код в буфер обмена
  1. <link href="/style.css" rel="stylesheet" type="text/css"/>
должна видеть папку
style и работать с файлом styles.css. В windows это проходит нормально (что само собой), а в
ubuntu нет. Программа не видит папку, а в ней файл.
Я попробовал обойтись без папки и все стили написать в программе, т.е.
<style type="text/css">
стилевые скрипты
</style>
Работает прекрасно. Можно бы так и оставить, но хотелось бы чтобы скрипты находились в папке.
В чем здесь проблема?
yogeswar Отправлено: 26 Декабря, 2012 - 08:23:47 • Тема: Правильная запись на php • Форум: Вопросы новичков

Ответов: 6
Просмотров: 159
Спасибо большое!!!! avtor.fox
Извините что не так!!!!!

Страниц (7): « 1 2 3 4 [5] 6 7 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB