Страницы: (20) [1] 2 3 ... Последняя » ( Перейти к первому непрочитанному сообщению ) Reply to this topicStart new topicStart Poll

PHP & MySQL - ???

Шаман
Отправлено: Jun 21 2007, 07:58 AM
Quote Post


  Команда ЭйсВэб
*

Группа: Members
Сообщений: 435
Пользователь №: 936
Регистрация:
13-June 07



Привет , народ!
Щас изложу банк моих знаний в веб строительстве, а потом проблему. Я отлично знаю HTML и CSS , немного JS и SSI. Пытался освоить PHP & MySQL но туго. В литературе все описано ппц трудно, что мозги просто пухнут.
Вот... Хотелось бы узнать все с азов. С чего начать.
O PHP - что и как?
MySQL - как создать базу, с помощью чего и как ей управлять, как использовать совместно с PHP. Хочется узнать попроще , если можно на примерах. Или подскажите сайт где все ДЕЙСТВИТЕЛЬНО ДОСТУПНЫМ ЯЗЫКОМ все изложено.

Так же наслышан о джентельменском наборе вебмастера. Плз хелп... Я там разобрался тока с аппачем.

Короче... Очень хочу все енто освоить, а то CMS надоели, хочетса своего, собственноручно созданного.


--------------------
user posted image
user posted image
user posted image
PMEmail PosterUsers WebsiteICQ
Top
Asid Storm
Отправлено: Jun 21 2007, 10:43 AM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 895
Пользователь №: 39
Регистрация:
27-August 06



Шаман

Базовый пакет для проверки скриптов на своём компе можно скачать тут: www.denwer.ru

1. О PHP что и как???
1.1. Что именно??? Как записать текст, как обозначить функцию, работа с if и т.д.???? (Тоесть всё о PHP) Или хоть что-то вы уже знаете?! )
P.S. - Начинать следует всегда с самого простого ))))

2. MySQL
2.1. Как создать таблицу: При установке базового пакета Денвер, зайти в localhost/tools/phpmyadmin, там надо создать Базу и с ней работать (База создаёться просто Вводим название, нажимаем Ок или Пошёл)
2.2. Для работы с БД из PHP:
mysql_connect($base,$user,$pass);
Где $base - Хост на котором находится БД (На денвере Localhost)
$user - Пользователь БД (На Денвере root)
$pass - Пароль от БД (На девере его нет)
mysql_select_db($db);
Где $db - Имя БД
Теперь о запросах:
Выбор значений из таблицы:
$log = mysql_query("SELECT * FROM `$table` WHERE x='y'");
$log_data = mysql_fetch_array($log);

На примере произошёл выбор значений из таблицы $table, где у поля `x` значение `y` SELECT * Обозначает выбрать ВСЕ поля

Теперь из всех полей выбираем нужное нам:

$u_login = $log_data["$pole"];

Переменной $u_login присвоено значение $pole из таблицы $table, где `x` = `y`.


$buy_tool_insert = ("INSERT INTO `$table`('$pole') VALUES('$value')");
$buy_tool_ok = mysql_query($buy_tool_insert);

При запуске этого кода, мы вставим в таблицу $table, в поле $pole, значение $value.


$update_shop = "UPDATE $table SET $pole='$pole_1' WHERE id='$id';";
$update_shop_data = mysql_query($update_shop);

На данном примере мы обновили таблицу $table, так, чтобы $pole=$pole_1, где поле id = $id
PMEmail PosterUsers WebsiteICQ
Top
Шаман
Отправлено: Jun 21 2007, 11:45 AM
Quote Post


  Команда ЭйсВэб
*

Группа: Members
Сообщений: 435
Пользователь №: 936
Регистрация:
13-June 07



если не трудно показать на примере...........есть страница........на нее надо добавить новость....выглядеть это должно так:

13.06.2007 В Москву приехал Буш

а при нажатии на новость текст новости....вотъ как енто сделать?

(Добавление)
денвер у меня есть.....базу создал, а вот как с ней крутить и т.д. прошу показать на примере вот таких новостей с бушем =)


--------------------
user posted image
user posted image
user posted image
PMEmail PosterUsers WebsiteICQ
Top
Asid Storm
Отправлено: Jun 22 2007, 08:11 AM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 895
Пользователь №: 39
Регистрация:
27-August 06



Шаман

Для начала создаём таблицу news (Надеюсь понятно как)
В ней должно быть 4 строки:
1. id (Автоприсвоение)
2. date (Дата)
3. title (Заголовок новости (varchar 255))
4. text (Текст новости (long или medium + text))

Способы создания таблицы... Всё в ручную.. Или:

CODE
CREATE TABLE `news` (
 `id` bigint(255) NOT NULL auto_increment,
 `title` varchar(255) NOT NULL default '0',
 `date` varchar(255) NOT NULL default '0',
 `text` longtext NOT NULL,
 KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1;


Для того что бы использовать данный код, надо зайти в PHPMyAdmin выбрать БД и в меню сверху выбрать SQL ввести, нажать `пошёл`.

(Что бы добавить строку в таблицу, надо выбрать таблицу из списка и верхнем меню нажать Добавить (Вроде так... Просто лень лезть смотреть...)wink.gif

Теперь разбираемся с php кодом....

Для начала создаём на сайте страницы:

news.php / Файл со скриптом
conf.php / Файл с данными

Содержание conf.php:

CODE
<?
$base = "localhost";
$user = "root";
$pass = "";
$db = "БД" // Ваша БД
?>


Код страницы news.php

CODE
<?
include("conf.php"); // Включаем в страницу файл с настройками

mysql_connect($base, $user, $pass);  // Подключение к хосту
mysql_select_db($db);  // Выбор БД

if(empty($action)){ // Если действие не выбрано
// Нам надо вывести список всех новостей

$v_news = mysql_query("SELECT date, title, id FROM news");
// Производим выбор всех новостей
// Насколько я понял в гоняем их в цикл
while ($news = mysql_fetch_row($v_news)) {
print "$news[0] - ";  
// Выводим дату новости; Переменная $news взялась из цикла, а значение `0` в
// кавычках означает выбраную ячеку SELECT date, title... В данном случаем `0` - это
// date => 1 - это title
print "<u>$news[1]</u>"; // Тем же способом выводим название
print " => <a href='news.php?action=view&id=$news[2]'>Просмотреть</a>";
// Создаём ссылку для прсмотра
}
}
else if($action==view){ // Если выбрано действие просмотреть (view)
$news_view = mysql_query("SELECT * FROM `news` WHERE id='$id'");
// Выбираем все данные по выбраной новости
$news_view_data  = mysql_fetch_array($news_view);

$n_title = $news_view_data["title"]; // Заголовок
$n_text = $news_view_data["text"]; // Текст

// И выводим данные на экран

print "
<h2 align='center'>$n_title</h2>
$n_text


<!-- Ссылка на список новостей -->
<a href='news.php'>К другим новостям</a>
";
}
?>


Если будут проблемы пишите.. Сам скрипт писал на ходу и не проверял..
PMEmail PosterUsers WebsiteICQ
Top
Шаман
Отправлено: Jun 22 2007, 08:52 AM
Quote Post


  Команда ЭйсВэб
*

Группа: Members
Сообщений: 435
Пользователь №: 936
Регистрация:
13-June 07



ага пасиба большое......
есть еще пара вопросов....

на странице двеновости к примеру выводятся сплошняком вот так:

13.03.2007 - Буш приехал в Москву => Читать далее...13.03.2007 - Моя днюха => Читать далее...

так вот как сделать чтоб они после каждой новости через br были и как избавиться от противной "=>"

а так интересна....конечно....я щас за литературой побегу =))))

а пока конечно еще буду благодарен за примерчик потруднее =))

в принципе минисайтик на пхп...суть вот в чем:

таблица в три колонки

левая - меню, центральная текст, правая- колонка новостей

в меню три раздела : главная, о компании, продукция, контакты

рабочий примерчик покаж пожал. biggrin.gif


--------------------
user posted image
user posted image
user posted image
PMEmail PosterUsers WebsiteICQ
Top
Asid Storm
Отправлено: Jun 22 2007, 08:54 AM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 895
Пользователь №: 39
Регистрация:
27-August 06



Шаман
Для избавления от `=>` и добавления

Надо заменить это
CODE
while ($news = mysql_fetch_row($v_news)) {
print "$news[0] - ";  
// Выводим дату новости; Переменная $news взялась из цикла, а значение `0` в
// кавычках означает выбраную ячеку SELECT date, title... В данном случаем `0` - это
// date => 1 - это title
print "<u>$news[1]</u>"; // Тем же способом выводим название
print " => <a href='news.php?action=view&id=$news[2]'>Просмотреть</a>";
// Создаём ссылку для прсмотра
}

На это
CODE
while ($news = mysql_fetch_row($v_news)) {
print "$news[0] - ";  
// Выводим дату новости; Переменная $news взялась из цикла, а значение `0` в
// кавычках означает выбраную ячеку SELECT date, title... В данном случаем `0` - это
// date => 1 - это title
print "<u>$news[1]</u>"; // Тем же способом выводим название
print " <a href='news.php?action=view&id=$news[2]'>Просмотреть</a>";
print "Тут поставить br....
";
// Создаём ссылку для прсмотра
}


Тебе надо, что бы всё было динамично??? Тоесть ссылки в меню через БД или просто ссылки???

Самый простой пример:

Файл menu.php
CODE
<a href='index.php'>Главная</a>

<a href='index.php?mod=about'>О компании</a>

<a href='index.php?mod=prod'>Продукция</a>

<a href='index.php?mod=contact'>Контакты</a>


Файл news.php у Вас уже есть....

Теперь index.php:

CODE
<table>
<tr>
<td width='200'>
<? include("menu.php"); ?>
</td>
<td>
<?
if(empty($mod)){
// Начало текста гл страницы
?>
Главная Страница
<?
// Конец текста гл страницы
}
else if($mod==about){ // Если модуль - о Компании
// Начало текста о Компании
?>
О компании
<?
// Конец текста о компании
}
else if($mod==prod) { // Модуль продукция
// Начало текста продукция
?>
Продукция
<?
// Конец текста продукция
}
else if($mod==contact) { // Модуль контакты
// Начало текста контактов
?>
Контакты
<?
// Конец текста контактов
}
?>
</td>
<td width='200'>
<? include("news.php"); ?>
</td>
</tr>
</table>
PMEmail PosterUsers WebsiteICQ
Top
Шаман
Отправлено: Jun 22 2007, 09:38 AM
Quote Post


  Команда ЭйсВэб
*

Группа: Members
Сообщений: 435
Пользователь №: 936
Регистрация:
13-June 07



ок ... понятно

а вот это:
CODE
<a href='index.php?mod=[b]about[/b]'>О компании</a>


здесь mod=about означает что в БД должна быть строка about, я так понимаю?

(Добавление)
и что это за косяк, который мне выводится когда я нажимаю простмотр новости

Notice: Use of undefined constant view - assumed 'view' in w:hometest2.ruwwwnews.php on line 39

а в строке №39 вот что:
CODE
else if($action==view){ // Если выбрано действие просмотреть (view)


и как мне прописать так, чтобы при нажатии на ссылку текст новости выводился в центральную колонку

и как задать стили нового окна если выводить новость в новом окне


--------------------
user posted image
user posted image
user posted image
PMEmail PosterUsers WebsiteICQ
Top
Asid Storm
Отправлено: Jun 22 2007, 10:49 AM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 895
Пользователь №: 39
Регистрация:
27-August 06



Шаман
Notice: Use of undefined constant view - assumed 'view' in w:hometest2.ruwwwnews.php on line 39 - Это уведомление отключаеться путём создания файла .htaccess С содержимым: php_value error_reporting 7

Был преведён пример создания сайта просто на файлах, тоесть для новостей исп БД, а для остального нет....

Для создания сайта на PHP и MySQL Переделываем файл index.php и в БД добавляем следующую таблицу:
CODE
CREATE TABLE `content` (
 `id` bigint(255) NOT NULL auto_increment,
 `mod` varchar(255) NOT NULL default '0',
 `title` varchar(255) NOT NULL default '0',
 `text` longtext NOT NULL,
 KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1;


Теперь index.php:

В самом начале пишем:
CODE
<?
include("conf.php"); // Он у Вас уже есть

mysql_connect($base, $user, $pass);  // Подключение к хосту
mysql_select_db($db);  // Выбор БД
?>


Теперь заменяем это:
CODE
<?
if(empty($mod)){
// Начало текста гл страницы
?>
Главная Страница
<?
// Конец текста гл страницы
}
else if($mod==about){ // Если модуль - о Компании
// Начало текста о Компании
?>
О компании
<?
// Конец текста о компании
}
else if($mod==prod) { // Модуль продукция
// Начало текста продукция
?>
Продукция
<?
// Конец текста продукция
}
else if($mod==contact) { // Модуль контакты
// Начало текста контактов
?>
Контакты
<?
// Конец текста контактов
}
?>


На это:
CODE
<?
if(empty($mod)){
?>
Текст главной страницы
<?
}
else if($mod==news){
if($action==view){
$news_view = mysql_query("SELECT * FROM `news` WHERE id='$id'");
// Выбираем все данные по выбраной новости
$news_view_data  = mysql_fetch_array($news_view);

$n_title = $news_view_data["title"]; // Заголовок
$n_text = $news_view_data["text"]; // Текст

// И выводим данные на экран

print "
<h2 align='center'>$n_title</h2>
$n_text


<!-- Ссылка на список новостей -->
<a href='news.php'>К другим новостям</a>
";
}
else {
print "
Не выбрано действие
";
}
}
else {
$content_view = mysql_query("SELECT * FROM `content` WHERE mod='$mod'");
$content_view_data  = mysql_fetch_array($content_view);

$c_text = $content_view_data["text"];
$c_title = $content_view_data["title"];

print "
<h2 align='center'>$c_title</h2>


$c_text
";
}
?>


После этого преобразования изменяем файл news.php
Строка:
CODE
print " <a href='news.php?action=view&id=$news[2]'>Просмотреть</a>";

Меняем на
CODE
print " <a href='index.php?mod=news&action=view&id=$news[2]'>Просмотреть</a>";


Теперь модифицируем menu.php:
Удаляем весь прежний код и пишем:
CODE
<?
include("conf.php");

mysql_connect($base,$user,$pass);
mysql_select_db($db);

// Тут мы смотри все меню из таблицы content

$v_content = mysql_query("SELECT title, mod FROM content");
while ($content = mysql_fetch_row($v_content)) {
// Выводим их список:
print "
<a href='index.php?mod=$content[1]'>$content[0]</a>

";
}
?>


Вопросы по дополнению... Задавайте в ICQ 20020440, а если надо что-нибудь новое пишите сюда...
PMEmail PosterUsers WebsiteICQ
Top
Шаман
Отправлено: Jun 22 2007, 11:17 AM
Quote Post


  Команда ЭйсВэб
*

Группа: Members
Сообщений: 435
Пользователь №: 936
Регистрация:
13-June 07



здравствуй дуб, я дерево =)_)) как создать файл .htaccess


--------------------
user posted image
user posted image
user posted image
PMEmail PosterUsers WebsiteICQ
Top
Лена
Отправлено: Jun 22 2007, 11:22 AM
Quote Post


  Главный администратор
*

Группа: Members
Сообщений: 311
Пользователь №: 1
Регистрация:
6-May 06



Создаешь у себя на компьютере

И закачиваешь на сервер

Он может не отобразиться (хотя там будет) - выбери опцию отображать скрытые файлы сервера
PMEmail Poster
Top

Topic OptionsСтраницы: (20) [1] 2 3 ... Последняя » Reply to this topicStart new topicStart Poll

 



[ Script Execution time: 0.0421 ]   [ 10 queries used ]   [ GZIP выключен ]