PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (10): [1] 2 3 4 5 6 7 8 9 ... » В конец
Найдено сообщений: 141
Andruxa
Отправлено: 27 Марта, 2018 - 21:20:18 • Тема: Нужна помощь в решении простой задачи • Форум: Вопросы новичков
Ответов: 6 Просмотров: 275
Строитель пишет: Потому что вы не внимательны - в сигнатуре переменная $posts, а в теле функции $post
Да, Вы правы, не доглядел, но после исправления, все рано не работает, выдает для всех постов один и тот же результат "Звездочка 1".
Вообще такое условие работоспособно!?
Andruxa
Отправлено: 27 Марта, 2018 - 19:52:55 • Тема: Нужна помощь в решении простой задачи • Форум: Вопросы новичков
Ответов: 6 Просмотров: 275
Строитель Спасибо! Т.е Ваш вариант, повторяет знак "*" кол-во раз, которое подсчитывается в зависимости от кол-ва постов. Вроде все верно понимаю !?
Но Вопрос еще в том, почему условие записанное мной не работает ?
PHP:
скопировать код в буфер обмена
function raiting ( $posts ) {
if ( $post > 0 or $post < 10 ) {
return "Звездочка 1" ;
}
elseif ( $post > 10 or $post < 30) {
return "Звездочка 2" ;
}
}
Вроде по логике все верно, если кол-во постов больше 0 и меньше 10, выводим 1 звездочку, а если больше 10 и меньше 30, выводим 2 звездочки. Почему данное условие не срабатывает !?
А есть ли еще варианты решения моего вопроса ?
Andruxa
Отправлено: 26 Марта, 2018 - 23:09:56 • Тема: Нужна помощь в решении простой задачи • Форум: Вопросы новичков
Ответов: 6 Просмотров: 275
Всем привет!
Столкнулся с детским задание, на мой взгляд, но не получается его решить уже второй день.
Суть в следующем, в базе есть поле с количеством постов ( числовое значение)
мне нужно, в зависимости от того сколько постов вывести рейтинг пользователя, т.е заменить на картинку со звездочками.
Т.е если 10 постов - 1 звездочка;
от 10 до 20 постом - 2 звездочки и т.д.
Думал функцией перед выводом из базы заменить кол-во постов на картинку (текст)
PHP:
скопировать код в буфер обмена
function raiting ( $posts ) {
if ( $post > 0 or $post < 10 ) {
return "Звездочка 1" ;
}
elseif ( $post > 10 or $post < 30) {
return "Звездочка 2" ;
}
}
Но что то должного результата не получается достичь, подскажите, что я делаю не так ?
Andruxa
Отправлено: 01 Сентября, 2017 - 18:00:58 • Тема: Запись даты PDO запросом • Форум: SQL и Архитектура БД
Ответов: 4 Просмотров: 73
Мелкий , спасибо! Все получилось!
Теперь такой вопрос, в базе дата заноситься в формате 2017-09-01 17:47:58.
А как вывести из базы в формате d.m.Y ?
Andruxa
Отправлено: 01 Сентября, 2017 - 07:31:21 • Тема: Запись даты PDO запросом • Форум: SQL и Архитектура БД
Ответов: 4 Просмотров: 73
Всем привет!
Который день ломаю голову над простой задачей.
Нужно записать в таблицу в поле datedime дату добавления поста.
Если добавлять обычными средствами Mysql то есть функция NOW().
Но с PDO это не получается совместить.
Вот таким запросом пытаюсь сделать запись:
PHP:
скопировать код в буфер обмена
$stm = db_connect( ) -> prepare ( "INSERT INTO af_text (name_autor, text_af, moderations, date) VALUES (:name_autor, :text_af, :moderations, :date " ) ;
$stm -> bindParam ( ':date' , $date , PDO:: PARAM_STR ) ;
$stm -> execute ( array ( 'name_autor' => $_POST [ 'login' ] , 'text_af' => $_POST [ 'text' ] , 'moderations' => 1 , 'date' => NOW
( ) ) ) ;
Подскажите, что делаю не так ?
Andruxa
Отправлено: 22 Января, 2017 - 16:21:35 • Тема: bb редактор. Нужна помощь! • Форум: Регулярные выражения
Ответов: 6 Просмотров: 548
Нужна помощь в преобразовании bb кодов в нормально читабильный вид.
Нашел простой bb редактор, он записывает все в следующим виде:
CODE (
html ):
скопировать код в буфер обмена
[b]Жирный текст [/b][i]Наклонный текст[/i][b] [/b][u]Подчеркнутый текст[/u][b] [/b][url=http://www.mail.ru]ССылка[/url][b] [/b][ul][li]Список 1[/li][li]Спислк2 [/li][li]Список 3 [/li][/ul][b][img]http://img.gif[/img] [/b][color=FF0033]Красный цвет текства[/color][b] [/b] [quote=]Цитата[/quote][b] [/b]
с переводом простых тегов это понятно, меня интересует перевод ссылок, цвет текста и цитата.
Помогите с регуляркой по замене bb кодов
Andruxa
Отправлено: 10 Декабря, 2016 - 10:31:22 • Тема: Скрипт проверки занятости логина и e-mail "на лету" • Форум: Напишите за меня, пожалуйста
Ответов: 0 Просмотров: 53
Нужна помощь в доведении скрипта до рабочего состояния.
Скрипт проверки "налету" занятости логина и email.
При проверке из базы, передается правильный параметр " что логил занят (no)", но скрипт почему то принимает это значение "что логин свободен" и разрешает дальнейшую регистрацию.
Самостоятельно разобраться не получилось. Очень надеюсь на Вашу помощь!
файл index.html
CODE (
html ):
скопировать код в буфер обмена
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns= "http://www.w3.org/1999/xhtml" xml:lang = "en" lang = "en" >
<head >
<title > Проверка формы</ title >
<meta http-equiv = "content-type" content = "application/xhtml+xml; charset=windows-1251" / >
<script type = "text/javascript" src = "jquery-1.5.1.min.js" ></ script >
<style >
.inputRed{
border:1px solid #ff4040;
background: #ffcece;
}
.inputGreen{
border:1px solid #83c954;
background: #e8ffce;
}
</ style >
<script type = "text/javascript" >
var login,
email,
password,
password2,
loginStat,
emailStat,
passwordStat,
password2Stat;
$(function() {
//Логин
$("#login").change(function(){
login = $("#login").val();
var expLogin = /^[a-zA-Z0-9_]+$/g;
var resLogin = login.search(expLogin);
if(resLogin == -1){
$("#login").next().hide().text("Неверный логин").css("color","red").fadeIn(400);
$("#login").removeClass().addClass("inputRed");
loginStat = 0;
buttonOnAndOff();
}else{
$.ajax({
url: "testingLoginEmail.php",
type: "GET",
data: "login=" + login,
cache: false,
success: function(response){
if(response == "no"){
$("#login").next().hide().text("Логин занят").css("color","red").fadeIn(400);
$("#login").removeClass().addClass("inputRed");
}else{
$("#login").removeClass().addClass("inputGreen");
$("#login").next().text("");
}
}
});
loginStat = 1;
buttonOnAndOff();
}
});
$("#login").keyup(function(){
$("#login").removeClass();
$("#login").next().text("");
});
// Email
$("#email").change(function(){
email = $("#email").val();
var expEmail = /[-0-9a-z_]+@[-0-9a-z_]+\.[a-z]{2,6}/i;
var resEmail = email.search(expEmail);
if(resEmail == -1){
$("#email").next().hide().text("Неверный формат Email").css("color","red").fadeIn(400);
$("#email").removeClass().addClass("inputRed");
emailStat = 0;
buttonOnAndOff();
}else{
$.ajax({
url: "testingLoginEmail.php",
type: "GET",
data: "email=" + email,
cache: false,
success: function(response){
if(response == "no"){
$("#email").next().hide().text("Email Занят").css("color","red").fadeIn(400);
$("#email").removeClass().addClass("inputRed");
}else{
$("#email").removeClass().addClass("inputGreen");
$("#email").next().text("");
}
}
});
emailStat = 1;
buttonOnAndOff();
}
});
$("#email").keyup(function(){
$("#email").removeClass();
$("#email").next().text("");
});
//Пароль
$("#password").change(function(){
password = $("#password").val();
if(password.length < 6 ) {
$( "#password" ) .next( ) .hide( ) .text ( "Слишком короткий пароль" ) .css( "color" ,"red" ) .fadeIn( 400) ;
$( "#password" ) .removeClass( ) .addClass( "inputRed" ) ;
passwordStat = 0 ;
buttonOnAndOff( ) ;
} else{
$( "#password" ) .removeClass( ) .addClass( "inputGreen" ) ;
$( "#password" ) .next( ) .text ( "" ) ;
passwordStat = 1 ;
buttonOnAndOff( ) ;
}
} ) ;
$( "#password" ) .keyup( function( ) {
$( "#password" ) .removeClass( ) ;
$( "#password" ) .next( ) .text ( "" ) ;
} ) ;
// Проверка пароля
$( "#password2" ) .change( function( ) {
if( password2 != password) {
$( "#password2" ) .next( ) .hide( ) .text ( "Пароли не совпадают" ) .css( "color" ,"red" ) .fadeIn( 400) ;
$( "#password2" ) .removeClass( ) .addClass( "inputRed" ) ;
password2Stat = 0 ;
buttonOnAndOff( ) ;
} else{
$( "#password2" ) .removeClass( ) .addClass( "inputGreen" ) ;
$( "#password2" ) .next( ) .text ( "" ) ;
}
} ) ;
$( "#password2" ) .keyup( function( ) {
password2 = $( "#password2" ) .val( ) ;
if( password2 == password) {
password2Stat = 1 ;
buttonOnAndOff( ) ;
} else{
password2Stat = 0 ;
buttonOnAndOff( ) ;
}
} ) ;
function buttonOnAndOff( ) {
if( emailStat == 1 && passwordStat == 1 && password2Stat == 1 && loginStat == 1 ) {
$( "#submit" ) .removeAttr( "disabled" ) ;
} else{
$( "#submit" ) .attr( "disabled" ,"disabled" ) ;
}
}
} ) ;
</ script >
</ head >
<body >
<form action = "#" method = "post" >
<label ><font color = 'red' > *</ font > Ваш Логин:<br ></ label >
<input name = "login" type = "text" size = "50" id = "login" > <span ></ span ><br >
<label ><font color = 'red' > *</ font > Ваш E-mail:<br ></ label >
<input name = "email" type = "text" size = "50" id = "email" > <span ></ span ><br >
<label ><font color = 'red' > *</ font > Ваш пароль:<br ></ label >
<input name = "password" type = "password" size = "50" id = "password" > <span ></ span ><br >
<small > Не менее 6 символов</ small >
<label ><font color = 'red' > *</ font > Подтвердите пароль:<br ></ label >
<input name = "password2" type = "password" size = "50" id = "password2" > <span ></ span ><br ><br >
<input type = "submit" name = "submit" value = "Зарегистрироваться" id = "submit" disabled><br ><br >
<font color = 'red' > *</ font > поля, обязательные для заполнения.
</ form >
</ body >
</ html >
файл testingLoginEmail.php
PHP:
скопировать код в буфер обмена
<?PHP
if ( isset ( $_GET [ 'email' ] ) ) { $email = $_GET [ 'email' ] ;
if ( $email == 'test@test.ru' ) {
echo "no" ;
} else {
echo "yes" ;
}
}
if ( isset ( $_GET [ 'login' ] ) ) { $login = $_GET [ 'login' ] ;
if ( $login == 'user' ) {
echo "no" ;
} else {
echo "yes" ;
}
}
?>
Andruxa
Отправлено: 30 Ноября, 2016 - 20:27:38 • Тема: Нужна помощь (голосование без перезагрузки) • Форум: JavaScript & VBScript
Ответов: 2 Просмотров: 641
Это так в PDO передается переменная
Id - мне нужно для того что бы записать значение сколько раз я кликнул (like) для определенного поздравления. Запись производится в базу все ровно, туда куда кликнул и относится к нужному тексту.
Ниже запрос и ответ при кликаз на блок 1 и блок 2
Andruxa
Отправлено: 30 Ноября, 2016 - 19:13:30 • Тема: Нужна помощь (голосование без перезагрузки) • Форум: JavaScript & VBScript
Ответов: 2 Просмотров: 641
Нужна помощь, в реализации лайк/дизлайк без перезагрузки.
CODE (
javascript ):
скопировать код в буфер обмена
<script>
$( document) .ready ( function ( ) {
$( 'span#like' ) .click ( function ( ) {
setVote( 'like' , $( this ) ) ;
} ) ;
$( 'span#dislike' ) .click ( function ( ) {
setVote( 'dislike' , $( this ) ) ;
} ) ;
} ) ;
function setVote( type , element) {
// получение данных из полей
var id_news = element.parent ( ) .find ( '#id_news' ) .val ( ) ;
$.ajax ( {
type : "POST" ,
url: "../../ajax_votes.php" ,
data: {
'id_news' : id_news,
'type' : type
} ,
dataType: "json" ,
$( '#bb' ) .html ( data.newvalue ) ; // водим результат в нужное место
// в случае, когда пришло success. Отработало без ошибок
if ( data.result == 'success' ) {
} else {
// вывод сообщения об ошибке
alert ( data.msg ) ;
}
}
} ) ;
}
</script>
Обработчик PHP
PHP:
скопировать код в буфер обмена
include ( "inc/functions.php" ) ;
$error = false ;
$newsId = ( int) $_POST [ 'id_news' ] ;
$type = $_POST [ 'type' ] ;
$stm = db_connect( ) -> prepare ( "SELECT * FROM `pozdravleniya` WHERE id=:id LIMIT 1" ) ;
$stm -> execute ( array ( 'id' => $newsId ) ) ; $data = $stm -> fetch ( ) ;
if ( $type == 'like' ) {
$like = $data [ 'counts' ] + 1 ;
$stm = db_connect( ) -> prepare ( "UPDATE pozdravleniya SET counts=:like WHERE id=:id" ) ;
$stm -> execute ( array ( 'like' => $like , 'id' => $newsId ) ) ; }
if ( $error ) {
// если есть ошибки то отправляем ошибку и ее текст
} else {
// если нет ошибок сообщаем об успехе
}
И вывод результата:
PHP:
скопировать код в буфер обмена
echo "<table border=0 width=100% c lass='p_table'><tr>" ;
$x = 0 ;
while ( $info = $stm -> fetch ( ) ) {
$x ++;
echo "<td width='40%' valign=top bgcolor=#ffffff><div class='p_text'>" . $info [ 'text_p' ] . "" . $adm_edit . " <br><div class='likes'><div id=bb>" . $info [ 'counts' ] . "</div></div><span id='like'><img src='$dom /img/like.png' class='like' title='Нравится :)'/></span><img src='$dom /img/unlike.png' class='dislike' title='Не нравится :('/>
<br/> <input type='hidden' id='id_news' value=" . $info [ 'id' ] . ">
</div></td></td>" ;
if ( $x == 2) {
echo "</tr>" ;
$x = 0 ;
}
}
echo "</table>" ;
Все работает и заносит в базу новые значения без перезагрузки, НО, почему то новые значения обновляются только в одном блоке (блок выделен чифрой 1), а не там где нажал. Например, нажимаю на лайк где цифра 2 (значение 33) оно обновляется но в блоке под цифрой 1
Мне кажется что я не правильно делаю вывод уже новых значение.
Прошу Вашей помощи!
Страниц (10): [1] 2 3 4 5 6 7 8 9 ... » В конец
Powered by ExBB FM 1.0 RC1. InvisionExBB