PHP.SU

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

Страниц (81): « 1 2 3 4 [5] 6 7 8 9 ... » В конец

> Найдено сообщений: 1209
evgenijj Отправлено: 14 Июля, 2011 - 23:45:36 • Тема: запрос • Форум: Вопросы новичков

Ответов: 9
Просмотров: 396
OrmaJever пишет:
vlados пишет:
OrmaJever я например никогда не ставлю кавычки - и все работает!

Ну пусть работает, а вот когда нибудь не захочет работать запрос, потратишь пару часиков на размышление почему не работает и откажешся от этих слов.
evgenijj пишет:
Всего лишь везение.

Я и потратил -- только не пару часов, а пару дней. Потому и выучил навсегда Улыбка И теперь, прежде чем задать имя поля таблицы БД, всегда проверяю -- не совпадает ли оно с ключевым словом.

P.S. Говорят -- учись на чужих ошибках, а у меня получается только на своих Улыбка
evgenijj Отправлено: 14 Июля, 2011 - 23:34:36 • Тема: запрос • Форум: Вопросы новичков

Ответов: 9
Просмотров: 396
Цитата:
OrmaJever я например никогда не ставлю кавычки - и все работает!

Это работает, пока не используются ключевые слова:

SELECT * FROM mytable WHERE `order` IN (1, 2, 3)
будет работать

SELECT * FROM mytable WHERE order IN (1, 2, 3)

не будет работать

потому как ORDER - ключевое слово.

Цитата:
OrmaJever я например никогда не ставлю кавычки - и все работает!

Всего лишь везение.
evgenijj Отправлено: 14 Июля, 2011 - 23:19:45 • Тема: Колонку из таблицы MySQL сохранить в массив. • Форум: Вопросы новичков

Ответов: 7
Просмотров: 702
Я копирую ответ с другого форума, но думаю, это даст ответ на твои вопросы:

Тебе надо обязательно почитать описание функций PHP для работы с MySQL:
Функции PHP для работы с MySQL
Функции СУБД MySQL

Давай рассмотрим на примере. Итак, есть таблица:
CODE (text):
скопировать код в буфер обмена
  1. id | name | email         | password
  2. -------------------------------------
  3. 1  | Миша | misha@mail.ru | 123
  4. 3  | Саша | sasha@mail.ru | 456
  5. 5  | Маша | masha@mail.ru | 789

Делаем запрос на выборку из таблицы


SQL:
скопировать код в буфер обмена
SELECT name, email, password FROM users WHERE id IN ( 1, 3 ) ORDER BY id;

Этот запрос вернет нам две записи
CODE (text):
скопировать код в буфер обмена
  1. Миша | misha@mail.ru | 123
  2. Саша | sasha@mail.ru | 456

отсортированные по возрастанию id (т.е. сначала запись "Миша", потом "Саша"). Обрабатываем этот результат
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $res = mysql_query("SELECT name, email, password FROM users WHERE id IN ( 1, 3 ) ORDER BY id");
  3. echo 'Рузультат запроса содержит '.mysql_num_rows($res).' строк<br/>';
  4. echo "<table border='1'>";
  5. echo "<tr><th>Имя</th><th>E-mail</th><th>Пароль</th>";
  6. while ($user = mysql_fetch_array($res))  
  7. {
  8.   echo "<tr><th>".$user["name"]."</th><th>".$user["email"]."</th><th>".$user["password"]."</th></tr>";
  9. }
  10. echo "</table>";
  11. ?>

Каждый вызов функции mysql_fetch_array() возвращает следующую строку результата в виде массива. Если записи закончились, функция возвращает FALSE и мы выходим из цикла. Можно результат обработать и так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $res=mysql_query("SELECT name, email, password FROM users WHERE id IN ( 1, 3 ) ORDER BY id");
  3. echo 'Рузультат запроса содержит '.mysql_num_rows($res).' строк<br/>';
  4. echo "<table border='1'>";
  5. echo "<tr><th>Имя</th><th>E-mail</th><th>Пароль</th>";
  6. while ($user = mysql_fetch_array($res))  
  7. {
  8.   echo "<tr><th>".$user[0]."</th><th>".$user[1]."</th><th>".$user[2]."</th></tr>";
  9. }
  10. echo "</table>";
  11. ?>

Или так
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $res=mysql_query("SELECT name, email, password FROM users WHERE id IN ( 1, 3 ) ORDER BY id");
  3. echo 'Рузультат запроса содержит '.mysql_num_rows($res).' строк<br/>';
  4. echo "<table border='1'>";
  5. echo "<tr><th>Имя</th><th>E-mail</th><th>Пароль</th>";
  6. while ($user = mysql_fetch_row($res))  
  7. {
  8.   echo "<tr><th>".$user[0]."</th><th>".$user[1]."</th><th>".$user[2]."</th></tr>";
  9. }
  10. echo "</table>";
  11. ?>

Или так
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $res = mysql_query("SELECT name, email, password FROM users WHERE id IN ( 1, 3 ) ORDER BY id");
  3. echo 'Рузультат запроса содержит '.mysql_num_rows($res).' строк<br/>';
  4. echo "<table border='1'>";
  5. echo "<tr><th>Имя</th><th>E-mail</th><th>Пароль</th>";
  6. while ($user = mysql_fetch_assoc($res))  
  7. {
  8.   echo "<tr><th>".$user["name"]."</th><th>".$user["email"]."</th><th>".$user["password"]."</th></tr>";
  9. }
  10. echo "</table>";
  11. ?>

При желании можем получить доступ к отдельным полям результата запроса
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. echo mysql_result( $res, 0, 0 ); // выводит Миша
  3. echo mysql_result( $res, 0, 2 ); // выводит 123
  4. echo mysql_result( $res, 1, 1 ); // выводит sasha@mail.ru
  5. ?>


Ну а функция mysql_num_rows() возвращает количество строк результата запроса, т.е. в нашем случае 2.

P.S. Функция SQL COUNT() возвращает количество записей в таблице:


Обработав этот результат с помощью функции mysql_result() получим количество записей в таблице users

Цитата:
Подскажите пожалуйста, каким образом можно колонку из таблицы MySQL сохранить в массив

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $query = "SELECT mydate FROM mytable WHERE 1 LIMIT 10";
  3. $res = mysql_query( $query );
  4. while( $dt = mysql_fetch_array( $res ) ) {
  5.   $date[] = $dt['mydate'];
  6. }
  7. ?>

Здесь у нас одномерный массив из 10 элементов, каждый из которых содержит дату
CODE (htmlphp):
скопировать код в буфер обмена
  1. $date[0] = '...';
  2. $date[1] = '...';
  3. .....
  4. $date[9] = '...';
evgenijj Отправлено: 08 Июля, 2011 - 01:09:39 • Тема: Помогите пожалуйста с регуляркой • Форум: Регулярные выражения

Ответов: 10
Просмотров: 493
ГДЕ ИСКАЛИ:
CODE (html):
скопировать код в буфер обмена
  1.   <a href="/search/null/filter/zc1/%22Shoes%22/txAttrFacet_Gender/%22Women%22/brandNameFacet/%22Helle+Comfort%22/sort/goliveRecentSalesStyle/desc/" title="Helle Comfort - (107 Items)" class=""> Helle Comfort <span>(107)</span> </a>
  2.         <a href="/product/7766873/color/292847" class="product product-7766873 style-1496995 r0-17-2"> <img src="http://a2.zassets.com/images/z/1/4/9/1496995-p-LARGE_SEARCH.jpg" alt="adidas Running - CLIMACOOL® Oscillation W" /> <span class="brandName">adidas Running</span> <span class="productName">CLIMACOOL® Oscillation W</span> <span class="price">$75.00</span> <span class="flag"> <span class="new">NEW!</span> </span> <span class="quickViewMe btn secondary zgae-click*Search-Results-Page*Quick-View*Open">Quick View</span> </a>
  3.         <a href="/product/7729078/color/292914" class="product product-7729078 style-1497310 r0-17-3"> <img src="http://a1.zassets.com/images/z/1/4/9/1497310-p-LARGE_SEARCH.jpg" alt="adidas - Fluid Trainer Light II W" /> <span class="brandName">adidas</span> <span class="productName">Fluid Trainer Light II W</span> <span class="price">$70.00</span> <span class="flag"> <span class="new">NEW!</span> </span> <span class="quickViewMe btn secondary zgae-click*Search-Results-Page*Quick-View*Open">Quick View</span> </a> <br class="clear" />
  4.         <a href="/product/7766918/color/292928" class="product product-7766918 style-1497334 r0-18-0"> <img src="http://a2.zassets.com/images/z/1/4/9/1497334-p-LARGE_SEARCH.jpg" alt="adidas Running - Vigor TR W" /> <span class="brandName">adidas Running</span> <span class="productName">Vigor TR W</span> <span class="price">$75.00</span> <span class="stars rating5">Rated: 5 stars!</span> <span class="flag"> <span class="new">NEW!</span> </span> <span class="quickViewMe btn secondary zgae-click*Search-Results-Page*Quick-View*Open">Quick View</span> </a>

КАК ИСКАЛИ:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $file = file_get_contents( 'pcre.html' );
  3. $pattern ='~<a href="(/product[^"]*)"[^>]*>(.*?)</a>~';
  4. preg_match_all( $pattern, $file, $matches );
  5. echo 'Что искали, то и нашли:<br/>';
  6. foreach( $matches[1] as $value ) {
  7.   echo 'Вот что нашли: '.$value.'<br/>';
  8. }
  9. ?>

ЧТО НАШЛИ:
Что искали, то и нашли:
Вот что нашли: /product/7766873/color/292847
Вот что нашли: /product/7729078/color/292914
Вот что нашли: /product/7766918/color/292928
evgenijj Отправлено: 07 Июля, 2011 - 23:26:18 • Тема: Помогите пожалуйста с регуляркой • Форум: Регулярные выражения

Ответов: 10
Просмотров: 493
Здесь вообще какая-то муть написана
CODE (htmlphp):
скопировать код в буфер обмена
  1. <a href="..." class="..."> <a href="..." class="..."> ....

Это -- цитата. Что такое ссылка внутри ссылки. Двойной редирект?
И что за конструкция
$stop = 0;
while($stop == 0) {
.....
}
По моему -- вечный цикл. Что хотел сказать автор -- дело темное...
evgenijj Отправлено: 29 Июня, 2011 - 01:14:38 • Тема: навигация + бд • Форум: Напишите за меня, пожалуйста

Ответов: 6
Просмотров: 61
1. Отправили данные формы -- в ответе сформировали содержимое <table>...</table> с помощью серверного скрипта
2. Отправили данные формы с помощью xmlHttpRequest() -- переформатировали страницу с помощью JS.
Если вышесказанное непонятно -- значит, рано сюда зашел -- читай учебник, заходи через ( год, другой -- когда будет понятен смысл сказанного).
evgenijj Отправлено: 29 Июня, 2011 - 00:49:55 • Тема: Коменты в два столба • Форум: Работа с СУБД

Ответов: 8
Просмотров: 2461
Пусть есть 50 комментариев от мужчин и 20 комментариев от женщин. Если мы строим постраничную навигацию, ориентируемся на 50. Т.е. на большее значение. Дальше все примитивно. Уже сто раз обсуждалось...
Цитата:
Я сделал навигацию но получается только к одной таблице пробовал подсчитать общее количество записей в двух таблицах, но получается что работает не корректно. Если в таблице где есть навигация записей только 5 а в другой 25 та увидеть можно только 5 записей .

Ну, это логично... Общее количество в двух таблицах -- неправильно. Ну ты сам посуди
CODE (htmlphp):
скопировать код в буфер обмена
  1. comment 1 | comment 2
  2. ----------------------------
  3. 1               | 1
  4. 2               | 2
  5. 3               | 3
  6. 4               | 4
  7. 5               | 5
  8.                 | 6
  9.                 | 7
  10.                 | 8
evgenijj Отправлено: 29 Июня, 2011 - 00:27:46 • Тема: Вопрос по cURL • Форум: Работа с сетью

Ответов: 5
Просмотров: 1172
vlados пишет:
Не подходит.

А почему? У меня все время проходит. Что я не так делаю?
evgenijj Отправлено: 29 Июня, 2011 - 00:01:19 • Тема: Непонятный запрос • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 24
http://webi[dot]ru/webi_articles/8_14_f[dot]html
evgenijj Отправлено: 28 Июня, 2011 - 23:55:11 • Тема: Вопрос по cURL • Форум: Работа с сетью

Ответов: 5
Просмотров: 1172
file_get_contents -- Получить содержимое файла в виде одной строки
file_get_contents()
evgenijj Отправлено: 10 Июня, 2011 - 21:52:46 • Тема: Установка расширения Rar для PHP на Denwer • Форум: Apache и другие веб-серверы

Ответов: 3
Просмотров: 452
Сталкивался с такой пробдемой
http://forum[dot]webmasterschool[dot]ru/[dot][dot][dot]e=296&page=1
evgenijj Отправлено: 11 Мая, 2011 - 01:21:28 • Тема: Репутация на форуме • Форум: Колонка администратора

Ответов: 121
Просмотров: 70477
Новичок: Подскажите пожалуста самый крепкий сорт дерева! Весь инет перерыл, поиском пользовался!
Старожил: Объясни, зачем тебе понадобилось дерево? Сейчас оно в строительстве практически не используется.
Новичок: Я небоскрёб собираюсь строить. Хочу узнать, из какого дерева делать перекрытия между этажами!
Старожил: Какое дерево? Ты вообще соображаешь, что говоришь?
Новичок: Чем мне нравиться этот форум - из двух ответов ниодного конкретного. Одни вопросы неподелу!
Старожил: Не нравится - тебя здесь никто не держит. Но если ты не соображаешь, что из дерева небоскрёбы не строят, то лучше бы тебе сначала школу закончить.
Новичок: Не знаите - лучше молчите! У меня дедушка в деревянном доме живёт! У НЕГО НИЧЕГО НЕ ЛОМАЕТСЯ!!!
Но у него дом из сосны, а я понимаю, что для небоскрёба нужно дерево прочнее! Поэтому и спрашиваю!!! А от вас нормального ответа недождёшся!!!
Прохожий: Самое крепкое дерево - дуб. Вот тебе технология вымачивания дуба в солёной воде, она придаёт дубу особую прочность.
Новичок: Спасибо, братан! То что нужно!

Хм, Новичок и оставит свое мнение. Объективное (наивное) и непредвзятое... За Старожил обидно... -- он-то самый неадекват. Прохожий получит MAX -- на то он и прохожий...
evgenijj Отправлено: 07 Мая, 2011 - 02:03:35 • Тема: Передача параметров по ссылке • Форум: Хранение данных, их вывод и обработка

Ответов: 8
Просмотров: 5595
Однозначно -- нет. Идея по сути порочна . Один ламер порекомендовал другого ламера. Кто-то что-то умное сказал -- ему 90% скажут фи-фи-фи. Оценить некому. Я тут сейчас выдам что-то на предмет передачи параметра по ссылке или по значению. Или еще хуже -- чем отличаются
a ( $b, $c );
function a( &$b, &$c ){ ... }
или
a ( &$b, &$c );
function a( $b, $c ){ ... }
Сколько здесь поймет?

P.S. Впрочем, если десяток напишет -- в чем отличие -- может и есть резон.

P.P.S. А если я ошибся - а за последние 3-4 года я ошибся не раз и не два (я тоже учусь). Мне за такие "уроки" -- что будет?
http://forum.php.su/topic.php?fo...topic=11&p=1
Сколько минусов в профиле, или вообще... кирдык...

Помните, как в песне -- "Да и просто хотелось пожить!"
evgenijj Отправлено: 07 Мая, 2011 - 01:25:11 • Тема: Возврат произвольного поля после INSERT • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 57
Саныч пишет:
при INSERT-е возвращается либо true, либо false в зависимости от результата... Если же вы хотите получить ид, под которым вставлена последняя запись нужно после инсерта еще один запрос


Других вариантов нет. Кроме кривых -- если новые записи вставляются одним процессом -- всегда можно получить
SELECT MAX(id) FROM items
и вставить MAX(id)+1, игнорируя auto_increment. Ну и еще один вариант -- еще более кривой
$query = "SHOW TABLE STATUS LIKE 'items'";
$res = mysql_query( $query );
$next_id = mysql_result( $es, 0, "Auto_increment" );
evgenijj Отправлено: 07 Мая, 2011 - 01:06:31 • Тема: Переменные • Форум: Хранение данных, их вывод и обработка

Ответов: 5
Просмотров: 2241
event пишет:
мне нужно вытаскивать переменную которая содержит число из другого сайта,

думаю, никто из вас не угадал -- EuGen и molchun201 -- тут вообще угадать невозможно -- просто перечитайте -- нужно вытаскивать число с некого стороннего сайта. Получить результат работы -- да, но не inclede или require?

Человек выпил пива, надеюсь, не забыл про креветки Улыбка

Страниц (81): « 1 2 3 4 [5] 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB