PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (1): [1]
Найдено сообщений: 6
Tummy
Отправлено: 15 Мая, 2013 - 07:10:45 • Тема: Одна кодировка всегда неправильная • Форум: Вопросы новичков
Ответов: 4 Просмотров: 241
В своем "блокноте" настрой кодировку UTF. Далее в .htaccess напиши
В классе/скрипте подключения к БД, после подключения
При создании БД в phpmyadmin, принудительно выбирай utf general ci
Все заработает как нужно.
Можешь еще добавить мета
Tummy
Отправлено: 15 Мая, 2013 - 06:55:46 • Тема: Нужен совет по добавлению данных из <select> в БД • Форум: Вопросы новичков
Ответов: 7 Просмотров: 322
PHP:
скопировать код в буфер обмена
if ( $_POST [ 'month' ] === 2 OR $_POST [ 'month' ] === 4 OR $_POST [ 'month' ] === 6 OR $_POST [ 'month' ] === 9 OR $_POST [ 'month' ] === 11) {
if ( $_POST [ 'month' ] === 2) {
if ( $day > 29) $error_date = "Введите корректную дату рождения" ;
}
if ( $day > 30) $error_date = "Введите корректную дату рождения" ;
}
Сократил =)
Проверка адреса почты, можно использовать стандартные средства php
А можно кастомную функцию, которых полно на интернет.
Tummy
Отправлено: 15 Мая, 2013 - 06:44:07 • Тема: Пара непростых вопросов • Форум: Вопросы новичков
Ответов: 8 Просмотров: 266
А зачем вообще поля создавать для случайной сортировки? В запросе введи сортировку случайную. Если конечно записей в базе не миллион )
Tummy
Отправлено: 15 Мая, 2013 - 06:34:14 • Тема: Обработка формы без нажатия на submit? • Форум: Вопросы новичков
Ответов: 5 Просмотров: 304
Koc пишет: Всем доброго времени суток,
Подскажите как можно реализовать такую возможность.
Есть таблица, по умолчанию показывает все записи..
в её шапке есть фильтр (выпадающий список select)..
При выборе любого значения из списка, таблица сразу показывает нужные данные..
Например:
в таблице показывается список запчастей, при выборе марки авто из фильтра, показывается только список запчастей для этого авто.
Заранее спасибо!
Попробуй. Настрой под себя.
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" >
<head ><title > Селектор выбирает инпуты</ title >
<script src = "http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" ></ script >
<script type = "text/javascript" >
$(document).ready(function() {
$('#myForm').change(function(){
var viborElement = $('#myForm :selected').attr('id');
if(viborElement=='vibor0'){
$('#inputblock span').css('display','block');
}
if(viborElement=='vibor1'){
$('#inputblock span').css('display','none');
$('#i1,#i2').css('display','block');
}
if(viborElement=='vibor2'){
$('#inputblock span').css('display','none');
$('#i3,#i4,#i5,#i6,#i7').css('display','block');
}
if(viborElement=='vibor3'){
$('#inputblock span').css('display','none');
$('#i1,#i2,#i4,#i8').css('display','block');
}
});
}); /*end ready*/
</ script >
<style >
#footer {
background:#CCCCCC;
height:200px;
}
</ style >
</ head >
<body style = "margin:200px" >
<form id = "myForm" >
<select name = "vibor" id = "vibor" >
<option id = "vibor0" > Видны все поля </ option >
<option id = "vibor1" > Видны поля: 1, 2</ option >
<option id = "vibor2" > Видны поля: 3, 4, 5, 6, 7</ option >
<option id = "vibor3" > Видны поля: 1, 2, 4, 8</ option >
</ form >
</ select ><br / ><br / ><br / >
<div id = "inputblock" >
<span id = "i1" > 1: <input type = "text" / ><br / ><br / ></ span >
<span id = "i2" > 2: <input type = "text" / ><br / ><br / ></ span >
<span id = "i3" > 3: <input type = "text" / ><br / ><br / ></ span >
<span id = "i4" > 4: <input type = "text" / ><br / ><br / ></ span >
<span id = "i5" > 5: <input type = "text" / ><br / ><br / ></ span >
<span id = "i6" > 6: <input type = "text" / ><br / ><br / ></ span >
<span id = "i7" > 7: <input type = "text" / ><br / ><br / ></ span >
<span id = "i8" > 8: <input type = "text" / ><br / ><br / ></ span >
</ div >
<div id = footer></ div >
</ body >
</ html >
Tummy
Отправлено: 12 Мая, 2013 - 08:50:25 • Тема: Один материал, несколько категорий. • Форум: Вопросы новичков
Ответов: 8 Просмотров: 836
Вопрос снимаю. Если кому-то понадобиться сделать одну статью/материал/товар в несколько категорий, вот код. доделаете редактирование, выборку и удаление сами.
Писал на "тяп-ляп", поэтому так "сыро".PHP:
скопировать код в буфер обмена
<?PHP
$dbhost = "localhost" ;
$dbuser = "root" ;
$dbpwd = "mysqlgfhjkm" ;
$dbname = "blog" ;
}
}
if ( isset ( $_POST [ 'category' ] ) AND
! empty ( $_POST [ 'category' ] ) ) { $query = "INSERT INTO `categories` (`name`)
VALUES ('$_POST[category] ');" ;
if ( $result )
echo "Категория добавлена!" ;
else echo "Ошибка добавления категории" ;
}
if ( isset ( $_POST [ 'title' ] ) AND
isset ( $_POST [ 'date' ] ) AND
isset ( $_POST [ 'file' ] ) AND
isset ( $_POST [ 'keywords' ] ) AND
isset ( $_POST [ 'description' ] ) AND
isset ( $_POST [ 'story' ] ) AND
isset ( $_POST [ 'categories' ] ) AND
! empty ( $_POST [ 'title' ] ) AND
! empty ( $_POST [ 'date' ] ) AND
! empty ( $_POST [ 'file' ] ) AND
! empty ( $_POST [ 'keywords' ] ) AND
! empty ( $_POST [ 'description' ] ) AND
! empty ( $_POST [ 'story' ] ) AND
! empty ( $_POST [ 'categories' ] ) ) { $query = "INSERT INTO `posts` (`title`, `date`, `img`, `keywords`, `description`, `story`)
VALUES ('$title ', '$date ', '$file ', '$keywords ', '$description ', '$story ')" ;
if ( ! $result ) {
echo "<h1>данные в базу не добавились</h1>" ;
}
else {
foreach ( $_POST [ 'categories' ] as $value )
{
$query = "INSERT INTO `connections` (`pid`, `cid`)
VALUES ('$id ', '$value ')" ;
}
echo "материал добавлен в таблицу POSTS.<br>" ;
}
}
else {
echo "Заполните все поля" ;
}
?>
<form action="index.php" method="POST">
add category: <input type="text" name="category">
<input type="submit" value="add">
</form>
<form action="index.php" method="POST">
add post:<br>
title: <input type="text" name="title"><br>
date: <input type="hidden" name="date" value="
<?PHP echo time ( ) ; ?> "><br>
image: <input type="text" name="file"><br>
keywords: <input type="text" name="keywords"><br>
description: <input type="text" name="description"><br>
story: <textarea name="story"></textarea><br>
<?PHP
$query = "SELECT `id`, `name` FROM `categories` ORDER BY `name` ASC" ;
if ( $num >= 1) {
echo "Список категорий: <br>" ;
for ( $i = 1 ; $i <= $num ; $i ++ )
{
echo "<input type=\" checkbox\" name=\" categories[]\" value=\" " . $data [ 'id' ] . "\" > " . $data [ 'name' ] . "<br>" ;
}
}
?>
<input type="submit" value="add">
</form>
<?PHP
$query = "SELECT `id`, `title` FROM `posts` ORDER BY `id` ASC" ;
if ( $num >= 1) {
echo "<hr>Список статей: <br>" ;
for ( $i = 1 ; $i <= $num ; $i ++ )
{
echo $data [ '0' ] . ", " . $data [ '1' ] . "<br>" ;
}
}
?>
CODE (
SQL ):
скопировать код в буфер обмена
CREATE DATABASE `blog` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `blog` ;
CREATE TABLE IF NOT EXISTS `categories` (
`id` int( 4) NOT NULL AUTO_INCREMENT ,
`name` varchar( 255) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE= MyISAM DEFAULT CHARSET= utf8 AUTO_INCREMENT = 1 ;
CREATE TABLE IF NOT EXISTS `comments` (
`id` int( 6) NOT NULL AUTO_INCREMENT ,
`pid` int( 6) NOT NULL ,
`text` text NOT NULL ,
`date` varchar( 255) NOT NULL ,
`author` varchar( 255) NOT NULL ,
`email` varchar( 255) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE= MyISAM DEFAULT CHARSET= utf8 AUTO_INCREMENT = 1 ;
CREATE TABLE IF NOT EXISTS `connections` (
`pid` int( 6) NOT NULL ,
`cid` int( 6) NOT NULL
) ENGINE= MyISAM DEFAULT CHARSET= utf8;
CREATE TABLE IF NOT EXISTS `posts` (
`id` int( 6) NOT NULL AUTO_INCREMENT ,
`title` varchar( 255) NOT NULL ,
`date` varchar( 255) NOT NULL ,
`img` varchar( 255) NOT NULL ,
`keywords` text NOT NULL ,
`description` text NOT NULL ,
`story` text NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE= MyISAM DEFAULT CHARSET= utf8 AUTO_INCREMENT = 1 ;
Tummy
Отправлено: 12 Мая, 2013 - 06:10:08 • Тема: Один материал, несколько категорий. • Форум: Вопросы новичков
Ответов: 8 Просмотров: 836
Привет всем. Захотелось попрактиковаться со связями таблиц. С выборкой из мускула через таблицу связей - все понятно.
Встал вопрос о том, как записывать данные?
Небольшой набросок:
PHP:
скопировать код в буфер обмена
<?PHP
$dbhost = "localhost" ;
$dbuser = "root" ;
$dbpwd = "mysql" ;
$dbname = "blog" ;
}
echo "соединение с базой прошло успешно, БД выбрана $dbname " ;
}
if ( isset ( $_POST [ 'category' ] ) AND
! empty ( $_POST [ 'category' ] ) ) { $query = "INSERT INTO `categories` (`name`)
VALUES ('$_POST[category] ');" ;
if ( $result )
echo "Категория добавлена!" ;
else echo "Ошибка добавления категории" ;
}
}
?>
<form action="index.php" method="POST">
add category: <input type="text" name="category">
<input type="submit" value="add">
</form>
<form action="index.php" method="POST">
add post:<br>
title: <input type="text" name="title"><br>
date: <input type="text" name="date" value="
<?PHP echo time ( ) ; ?> " disabled><br>
image: <input type="text" name="file"><br>
keywords: <input type="text" name="keywords"><br>
description: <input type="text" name="description"><br>
story: <textarea name="story"></textarea><br>
<?PHP
$query = "SELECT `id`, `name` FROM `categories` ORDER BY `name` ASC" ;
if ( $num >= 1) {
echo "Список категорий: <br>" ;
for ( $i = 1 ; $i <= $num ; $i ++ )
{
echo "<input type=\" checkbox\" name=\" categories[]\" value=\" " . $data [ '0' ] . "\" > " . $data [ '1' ] . "<br>" ;
}
}
?>
<input type="submit" value="add">
</form>
<?PHP
$query = "SELECT `id`, `title` FROM `posts` ORDER BY `id` ASC" ;
if ( $num >= 1) {
echo "<hr>Список статей: <br>" ;
for ( $i = 1 ; $i <= $num ; $i ++ )
{
echo $data [ '0' ] . ", " . $data [ '1' ] . "<br>" ;
}
}
?>
Первая проблема при создании новой записи, генерируются чекбоксы из таблицы категорий, я выбираю в каких именно категориях будет размещен материал. Затем отправляю и смотрю что отдает форма через print_r. вижу что не получается массив из чекбоксов. В голове уже паутина.
Далее, когда все получится, встает вопрос, как записывать в таблицу связей строки, каждая строка, мной выделенный чекбокс категории, но перед тем как записывать строки в таблицу связей, нужно определить какой ID был выдан БД "новому материалу", то есть делать запрос на выборку добавленного материала?
Может уже есть у кого-то нечто реализованное или хотя бы часть, глянуть глазом. Спасибо!
ЗЫ. Массив из чекбоксов получил, дальше буду копать. По дальнейшим шагам, если есть готовые идеи, можете привести?
Страниц (1): [1]
Powered by ExBB FM 1.0 RC1. InvisionExBB