Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

Открыть новую тему     Написать ответ в эту тему

zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня есть таблица «text» в базе данных
проблема и форматирование текста, как сохранить его оригинальным?  
 
text= awards
 

Код:
<?php echo $row  ['awards'];?>

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 12:26 14-11-2018
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
привет всем
У меня есть эта ошибка
 
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in W:\domains\localhost\Testcerca2\cinema.php on line 300
 
 
адрес страницы
 

Код:
http://localhost/Testcerca2/cinema.php?id=5

 
код
 

Код:
<?php              
 
$con = mysqli_connect("localhost","root","","xxx");  
 
 $id = $_GET['id'];  
 
                $id = mysqli_real_escape_string($con,$id);  
                $query=mysqli_query($con,"SELECT film.* FROM actor
LEFT JOIN film_actor ON film_actor.actor_id = actor.actor_id
JOIN film ON film_actor.film_id = film.film_id
WHERE actor.nome like  '%" . $id . "%' OR actor.performer_aka like  '%" . $id . "%' ");
                while($row=mysqli_fetch_array($query)){
                    ?>
                                 
             
<tr class="we">
<td><?php echo $row['movie_title']; ?></td>
<td><?php echo $row['year']; ?></td>
 
 
<?php
                }
            ?>  

                        
 
 
Что не так?

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 06:41 17-11-2018 | Исправлено: zagorisback, 06:44 17-11-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback
1) при обращении по цифровому идентификатору не нужно делать выборку вида LIKE. id - однозначный и уникальный, поэтому SQL запрос в принципе неправильный
 
2)
Цитата:
mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean give

переменная $query не содержит результат выполнения SQL запроса, а имеет значение true или false, что говорит о том, что в запросе есть ошибка синтаксиса.
 
3) пояснять мелкие детали я не хочу, потому что ваш переводчик все равно теряет кучу ньюансов (это видно из предыдущих диалогов)

Всего записей: 15097 | Зарегистр. 20-09-2014 | Отправлено: 07:20 17-11-2018
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
не объясняйте
 
вы можете написать мне правильный код?
 
Я схожу с ума, чтобы найти решение
 
пожалуйста

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 07:27 17-11-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
написать мне правильный код?

если вы хотите, чтобы за вас все написали без объяснений - наймите программиста.
 

Код:
$query = mysqli_query($con, "SELECT film.* FROM film  
JOIN film_actor ON film_actor.film_id = film.film_id  
WHERE film_actor.actor_id = " . intval($_POST['id']));  

Всего записей: 15097 | Зарегистр. 20-09-2014 | Отправлено: 07:44 17-11-2018 | Исправлено: Mavrikii, 07:45 17-11-2018
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
этот код не работает
Я должен был это исправить
 
это было неправильно
 

Код:
$_POST

 
теперь он работает
 
потому что он должен взять «ID» из поиска
 

Код:
intval($_GET['id']));

 
Большое спасибо
 
Я написал много раз, я не программист
Я изучаю все сам, но есть некоторые вещи, которые я не понимаю,
для этого я пишу здесь
 
 
как переписать адрес?  
 
от
 

Код:
http://localhost/Testcerca2/cinema.php?id=1

 
в
 
http://localhost/Testcerca2/Lana Turner
 
но тогда работает ли код или его нужно переписать?

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 08:11 17-11-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
это было неправильно  

опечатался, бывает
 

Цитата:
как переписать адрес?  

mod_rewrite: документация, готовые решения, вопросы
но нельзя переписать цифровой id в строковой. либо однозначная и уникальная цифра, либо строка для LIKE (тогда может быть несколько вариантов поиска), либо написание имени должно быть уникальным.

Всего записей: 15097 | Зарегистр. 20-09-2014 | Отправлено: 08:13 17-11-2018 | Исправлено: Mavrikii, 08:15 17-11-2018
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
 
Я был не прав писать
 
изменить отображение адреса
 
Вы предложили mod_rewrite
 
спасибо, ты мне очень помог
 
вы заслуживаете пива
 
Добавлено:
Я пробовал с этим
но я не вижу папку
 

Код:
<IfModule rewrite mod>
RewriteRule ^cinema/([0-9]+)/$ /cinema.php?id=$1
</IfModule>

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 08:23 17-11-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
но я не вижу папку

1) это обсуждается не здесь, а в теме по ссылке выше.
2) зависит от того, Apache ли сервер или какой иной
3) также зависит от того, где именно это записано и упущен важный момент в виде  
RewriteEngine on (могут потребоваться и иные настройки веб сервера)

Всего записей: 15097 | Зарегистр. 20-09-2014 | Отправлено: 22:49 17-11-2018
SergioEmpasaDeParado

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый вечер!)  
 
Подскажите пожалуйста возможно ли:
вот так все красиво, но в БД не добавляется.

Код:
<a href=\"#\" onclick='document.querySelector(\"textarea[name=comment]\").value+=\"&#x1f602;\"'>&#x1f602;</a>

Вот так не красиво, но в БД добавляется.

Код:
<a href=\"#\" onclick='document.querySelector(\"textarea[name=comment]\").value+=\"&\#x1f602;\"'>&#x1f602;</a>

Можно ли как то сделать красиво и что бы в БД добавилось?)
Если что то php выдает:
[29-Nov-2018 12:33:03 UTC] PHP Notice:  Use of undefined constant sql - assumed 'sql' in \sql\add_a.php on line 22
Красиво:

Не красиво:


Всего записей: 38 | Зарегистр. 13-04-2018 | Отправлено: 15:48 29-11-2018 | Исправлено: SergioEmpasaDeParado, 15:49 29-11-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SergioEmpasaDeParado
при чем тут БД и textarea?
где именно вы так пишете?
 

Цитата:
PHP Notice:  Use of undefined constant sql

это извещение, что неправильно записана константа и php исправляет это за вас.

Всего записей: 15097 | Зарегистр. 20-09-2014 | Отправлено: 18:34 29-11-2018
SergioEmpasaDeParado

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
В бд добавляется значение из textarea и когда там смайлик а не код смайлика он его не добавляет.

Всего записей: 38 | Зарегистр. 13-04-2018 | Отправлено: 09:38 30-11-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SergioEmpasaDeParado

Цитата:
В бд добавляется значение из textarea

ну, хорошо, но php тут при чем, если у вас уже в textarea код по разному выглядит?
почему у вас в html тегах экранированы кавычки? как и куда вы это выводите?

Всего записей: 15097 | Зарегистр. 20-09-2014 | Отправлено: 10:27 30-11-2018
SergioEmpasaDeParado

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Я понял ход ваших мыслей, попробую реализовать по другому и отпишусь)

Всего записей: 38 | Зарегистр. 13-04-2018 | Отправлено: 10:40 30-11-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SergioEmpasaDeParado
если это вывод в панель со смайликами, на которые жмется, то покажите получившийся код, а не кусок который генерит этот код.
вставка по нажатию это js, а не php или бд.

Всего записей: 15097 | Зарегистр. 20-09-2014 | Отправлено: 11:19 30-11-2018
SergioEmpasaDeParado

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
После ваших слов осенило.
Форма отправки:

Код:
 
<form action='add.php' method='get'>
<ul id='menu'>
<li><a class='link_engineer' href='#'>aaa</a>
<ul>
<li><a href="#" onclick='document.querySelector("textarea[name=text]").value+="+"'>&#x1f601;</a></li>
<li><a href="#" onclick='document.querySelector("textarea[name=text]").value+="+"'>&#x1f602;</a></li>
<li><a href="#" onclick='document.querySelector("textarea[name=text]").value+="+:|"'>&#x1f603;</a></li>
<li><a href="#" onclick='document.querySelector("textarea[name=text]").value+="+:/"'>&#x1f604;</a></li>
</ul>
</li>      
</ul>
<textarea name="text"></textarea>
<input type="submit" value="Отправить">
</form>
<script>
var text1 = document.getElementById('myTextArea').value;  
</script>
 

Перед тем как отправить в БД значения:

Код:
 
$comm = $_GET['text'];
switch ($comment)
{
    case '+':
        $smail = "&#x1f60a;";
        break;
    case '+':
       $smail = "&#x1f613;";
        break;
    case '+:|':
        $smail = "&#x1f610;";
    case '+:/':
        $smail = "&#x1f612;";
        break;
}
$edit_comment  =  str_replace($comm,$smail,$comm);
 
... добавить в бд значение $edit_comment ...
 

и при выводе получится смайлик, а пользователю можно смело набивать код смайлика руками)
 
--
P.S. Это пример с чистого листа, не из предыдущего кода.

Всего записей: 38 | Зарегистр. 13-04-2018 | Отправлено: 14:40 30-11-2018 | Исправлено: SergioEmpasaDeParado, 14:42 30-11-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Перед тем как отправить в БД значения

а если там 2 смайлика или еще какой текст?
правильно делать

Код:
$comment = strtr($comment, ['+:)' => '&#x1f601', '+:(' => '&#x1f613;', '+:|' => '&#x1f610;', '+:/' => '&#x1f612;']);

да и этот кусок
Цитата:
document.querySelector("textarea[name=text]").value
можно сократить, создав функцию, которая делает это внутри и вызывать ее тогда ваша обработка onclick сведется лишь к вызову этой функции с аргументом в виде кода смайлика.

Всего записей: 15097 | Зарегистр. 20-09-2014 | Отправлено: 19:59 30-11-2018 | Исправлено: Mavrikii, 20:03 30-11-2018
SergioEmpasaDeParado

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Спасибо) Все это учту

Всего записей: 38 | Зарегистр. 13-04-2018 | Отправлено: 10:01 01-12-2018
SergioEmpasaDeParado

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Добрый вечер.
Уточните пожалуйста, я правильно вас понял:

Цитата:
можно сократить, создав функцию, которая делает это внутри и вызывать ее тогда ваша обработка onclick сведется лишь к вызову этой функции с аргументом в виде кода смайлика.

что можно сделать:

Код:
 
<a href="#" onclick='smail("smail1");'>&#x1f601;</a>
 

js

Код:
 
function smail(inf){
switch (inf){
    case 'smail1':var s_m = '+';break;
    case 'smail2':var s_m = '+';break;
    case 'smail3':var s_m = '+:|';break;
    case 'smail4':var s_m = '+:/';break;
    default:break;
}
document.querySelector("textarea[name=comment]").value+=s_m;
}
 

Или это можно еще как то сократить?

Всего записей: 38 | Зарегистр. 13-04-2018 | Отправлено: 15:01 04-12-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SergioEmpasaDeParado
это не относится ни к php, ни к mysql - есть отдельная тема вопросы по javascript
 
зачем делать какие то switch??

Код:
function smile(code) {
document.querySelector("textarea[name=comment]").value += code;
return false;
}

вызываем с нужным текстом смайлика и все.

Код:
<a href="#" onclick='return smile("+:)")'>&#x1f601;</a>

можно сделать и через обработку событий клика, просто кода будет чуть больше

Всего записей: 15097 | Зарегистр. 20-09-2014 | Отправлено: 20:59 04-12-2018 | Исправлено: Mavrikii, 21:18 04-12-2018
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru